Event-Sourced Digital Twin Platform | Dweve Twin

Twin is an event-sourced digital twin platform with three clocks on every event, branching scenarios and self-hosted operation. Publishing in round nine.

Twin är en händelsebaserad digital tvillingplattform. Den håller den operativa posten på din egendom så att du kan spela upp historik och få svar på frågor efter en förändring. Den är öppen källkod under Apache-2.0 och publiceras i den nionde omgången av Dweves grundutgivningsprogram, med dokumentation på docs.dweve.com samma dag.

Twin är en digital tvilling för de saker människor förlitar sig på: varje förändring får en rad och de gamla raderna finns kvar.

Självhostad på operatörskontrollerad infrastruktur

En händelsebaserad digital tvilling där loggen är posten och varje aktuellt tillstånd härleds ur historiken.

Twin har öppen källkod under Apache-2.0. Den publiceras i den nionde omgången av stiftelsens publiceringsprogram; när den väl gör det, kör den på infrastruktur du kontrollerar och fråga det förflutna direkt.

Strukturerade operativa poster för ansvarsfulla system.

Simuleringsmodeller som ansluter till operativt tillstånd.

En temporal eller relationsfråga ersätter inte händelsehistoriken med ett bekvämt svar. Twin härleder den begärda vyn ur den historiken och håller vägen genom projektioner, relationer och tid explicit.

Den separationen spelar roll när en projektion byggs om eller en sen händelse anländer. Samma fråga kan köras igen mot den ändrade historiken, medan det tidigare svaret förblir knutet till vad som var känt när det producerades.

Vyn kan ändras när historiken ändras utan att bli posten i sig.

Ett snabbt svar förblir en avläsning av historiken, aldrig en ersättning för den.

Samma person kan få se en tillgång under sitt skift och nekas efter att skiftet slutar. Tilldelning, plats och tillgångens tillstånd kan spela roll vid sidan av en roll, så en statisk behörighetslista kan inte beskriva varje legitimt beslut.

Twin utvärderar dessa villkor mot det registrerade operativa tillståndet och behåller beslutet med dess indata. En granskare kan se vem som frågade, vad de var tilldelade, vilka villkor som gällde och varför åtkomst tilläts eller nekades vid den tidpunkten.

Behörighet är en utvärderad händelse, inte en nyckel som varar för evigt.

En senare granskning använder de villkor som registrerades med det ursprungliga beslutet.

Twin håller sin händelse- och relationsmodell åtskild från varje enskild branschstandard. Adaptrar kan läsa och skriva de modeller som redan används, medan kärnan behåller en konsekvent redogörelse för tid, ursprung och förändring.

Inte varje konstruktion har en exakt motsvarighet. Överlämningen innehåller därför en förlustrapport som identifierar vad som representerades, vad som transformerades och vad som inte kunde föras över.

Interoperabilitet förblir granskningsbar eftersom översättningsbevis följer med överlämningen.

Adaptern gör skillnaden explicit istället för att dölja den bakom en lyckad export.

En tillgångs-, klinisk- eller processmodell förblir ägd av sin domän. Twin accepterar den genom en adapter och lägger till operativ historik utan att kräva att organisationen först ersätter alla befintliga modeller.

När information flyttas tillbaka ut får mottagaren mappningen och dess begränsningar. En granskare kan se vad som kom in i Twin, vad som ändrade form och vad som utelämnades innan överlämningen godkänns.

Domänen behåller sin modell medan överlämningen får en granskningsbar post.

Införandet börjar med de modeller som redan bär arbetet.

samma identitet, nytt beslut, illustrativt

Tilldelad underhållskontraktet för pump-4471 på en plats

en identitet, utvärderad vid varje begäran

Inom kontraktet, inom skiftet och på den godkända platsen: pumphistoriken öppnas.

Ett andra besök under samma villkor: beslutet fattas igen och svaret är detsamma, eftersom alla villkor fortfarande gäller.

Samma identitet utanför det schemalagda skiftet: nekad. Ingenting återkallades och ingen behövde komma ihåg något; tidsvillkoret misslyckades, och nekandet anger nästa giltiga fönster.

CEF:0|Dweve|Twin|access|refused|warning|subject=maintenance contractor resource=pump-4471 history policy=next valid window

LEEF:2.0|Dweve|Twin|access|refused|subject=maintenance contractor|resource=pump-4471 history|policy=next valid window

{ "outcome": "refused", "policy": "next valid window", "severity": "warning" }

Den närliggande platsens pumphistorik ligger utanför det tilldelade kontraktet: nekad, med gränsen namngiven i stället för ett tyst tomt resultat.

CEF:0|Dweve|Twin|access|refused|warning|subject=maintenance contractor resource=pump-2210 history policy=asset outside grant

LEEF:2.0|Dweve|Twin|access|refused|subject=maintenance contractor|resource=pump-2210 history|policy=asset outside grant

{ "outcome": "refused", "policy": "asset outside grant", "severity": "warning" }

Begäran kommer från en icke godkänd plats: nekad, och ursprunget registreras så att säkerhetsteamet kan korrelera det med den tillgångshistorik som nås.

CEF:0|Dweve|Twin|access|refused|warning|subject=maintenance contractor source=external gateway policy=request origin rejected

LEEF:2.0|Dweve|Twin|access|refused|subject=maintenance contractor|source=external gateway|policy=request origin rejected

{ "outcome": "refused", "policy": "request origin rejected", "severity": "warning" }

varje nekande anger det villkor som misslyckades

Åtkomst beror på både begäran och personen. Twin utvärderar roll, tilldelning, tid och plats tillsammans, och registrerar sedan orsaken när en begäran avvisas. Samma person kan få olika svar när skift, plats eller tillgång ändras, utan en permanent rolländring. Beslutet förblir kopplat till subjektet, resursen och den misslyckade villkoret för senare granskning. Ett beviljat inträde är begränsat av relationen och tidsfönstret som motiverade det, snarare än att bli en bred roll som överlever den ursprungliga uppgiften. Ett avslag är användbar bevisning eftersom det namnger villkoret som en operatör kan korrigera eller ifrågasätta. Ingen permanent roll behöver ändras för att svaret ska ändras.

Behåll posten. Härled tillståndet. Fråga det förflutna direkt.

Identitet och roll är bara en del av frågan. Twin kan också utvärdera tilldelning, tid, plats, enhet och policyvillkor när en person begär en sida eller en tillgångshistorik. Var och en av dessa villkor kontrolleras vid tidpunkten för begäran.

Samma person kan tillåtas på skift och nekas senare utan att någon permanent roll ändras. Beslutet registrerar subjektet, resursen, tiden och den misslyckade regeln, så en nekad begäran blir inte en oförklarad återvändsgränd. En senare granskare kan därför se skiftet som gjorde skillnaden.

Ett avslag förklarar det misslyckade villkoret

Posten behåller ändringen, dess sammanhang och det beslut som följde.

sammanställd i efterhand, från vem och vad som finns kvar

vad gjorde tillgången i mars, och vad var känt då

samma intervall, kommando kopplat till utfall

en historik, flera tidsmässiga läsningar

När någon i juli frågar varför ett beslut i mars fattades, måste svaret vara mars-posten, inte en rekonstruktion från dagens exporter. Twin bevarar den relevanta bevisuppsättningen tillsammans med beslutet. Frågan kan välja vad som var känt då, vilken regel som gällde då och vilken korrigering som kom senare. Det gör att en rättvis granskning inte förvandlar dagens kunskap till gårdagens säkerhet. Svaret bär med sig sina källhändelser och härkomst bredvid slutsatsen, så att en annan granskare kan upprepa frågan istället för att lita på den första förklaringen. En senare korrigering förblir synlig utan att ta mars-beslutet ur sitt sammanhang.

En granskningsfråga kan be om tillståndet i mars, informationen som var känd en viss dag, eller regeln som gällde då. Twin återskapar den lämpliga läsningen från bevarade händelser istället för att be människor rekonstruera den från exporter.

Svaret behåller sin tidsmässiga form, källhändelser och härkomst synliga bredvid slutsatsen. En granskare kan upprepa frågan och förstå varför en senare korrigering hör hemma i ett svar men inte i ett annat.

Posten behåller ändringen, dess sammanhang och beslutet som följde.

Twin behåller händelsen, dess sammanhang och beslutet den stödde i en enda operativ post.

Händelseloggen behåller faktum och tidpunkten då det inträffade.

En härledd vy kan förbli snabb medan varje historiskt svar förblir spårbart.

En lagrad händelse kan besvara en fråga som ingen visste att ställa den dag den skrevs. Svaret visar fortfarande vad som hände, vad som var känt då och vem eller vilken regel som formade resultatet.

Samma operativa minne stödjer en granskning, ett åtkomstbeslut, en härkomstkontroll och ett scenario. Dessa användningar delar posten; de skriver inte om den för varje målgrupp.

det förflutna förblir en fråga eftersom det aldrig skrevs över

behåll posten, härled tillståndet, fråga det förflutna direkt

Vad var känt när entreprenören öppnade denna pumphistorik?

Twin kan köras på en enda maskin eller i ett kluster i operatörens egen miljö. Dess historik finns kvar där så länge operatören behöver den.

endast den konfigurerade händelsen lämnar

Spela upp vilket tidigare ögonblick som helst

En avläsning klockan 09:05, en ankomst klockan 10:12 och en kalibrering på fredag besvarar olika frågor. Twin registrerar alla tre, så en tidsstämpel döljer aldrig regeln som gör avläsningen giltig. En sen korrigering kan ändra den aktuella vyn utan att ändra vad som var känt klockan 09:05. Den skillnaden ger en operatör och en granskare samma händelse utan att någon behöver gissa den saknade tiden.