Skip to content

Commit

Permalink
TLA+ model of instance update saga
Browse files Browse the repository at this point in the history
  • Loading branch information
gjcolombo committed Mar 12, 2024
1 parent 145f25c commit 5352e40
Show file tree
Hide file tree
Showing 2 changed files with 1,370 additions and 0 deletions.
29 changes: 29 additions & 0 deletions docs/tla/instance-lifecycle/update.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
SPECIFICATION Spec
CONSTANT defaultInitValue = defaultInitValue
\* Add statements after this line.

CONSTANT NULL = NULL
CONSTANT STARTER = STARTER
CONSTANT VMS = {v1, v2, v3}
CONSTANT UPDATERS = {u1, u2, u3}

INVARIANT InstanceType
INVARIANT VmType
INVARIANT MigrationRequiresPartner
INVARIANT OnlyOneMigrationPerVm
INVARIANT VmResourceStatesInVmStates
INVARIANT ActiveVmsHaveResources
INVARIANT StoppedInstanceHasNoVms
INVARIANT MigrationRequiresActiveVm
INVARIANT OpteMappingsConsistentAtEnd
INVARIANT VmsFreeAtEnd
INVARIANT MigrationsResolveAtEnd

SYMMETRY Symmetry

\* PROPERTY OpteMappingsEventuallyConsistent
\* PROPERTY DestroyedVmsStayDestroyed
\* PROPERTY DestroyedVmsGetFreed
\* PROPERTY UpdaterLockNotStolen
\* PROPERTY MigrationTargetNotStolen
\* PROPERTY MigrationsEventuallyResolve
Loading

0 comments on commit 5352e40

Please sign in to comment.