Skip to main content

Formal Model

The MultiState framework extends traditional state machine theory with capabilities for multiple simultaneous active states, dynamic transitions, and occlusion semantics.

Core Definition

The system is formally defined as a tuple:

Ω=(S,T,G,ω,Td)\Omega = (S, T, G, \omega, T_d)

Where:

  • S: finite set of states
  • T ⊆ S × P(S) × P(S): transition relation
  • G ⊆ P(S): set of state groups
  • ω: S × S × ℝ → [0,1]: occlusion function
  • T_d: ℝ × P(S) → P(T): dynamic transition generator

States

Definition & Properties

A state represents a distinguishable system configuration with:

  • Unique identity
  • Associated UI elements/components
  • Boolean blocking indicator
  • Optional group membership

Active States

The system maintains active states SΞ(t)SS_\Xi(t) \subseteq S. Unlike traditional FSMs where SΞ=1|S_\Xi| = 1, MultiState allows SΞ0|S_\Xi| \geq 0.

Transitions

Definition

A transition τ=(F,A,E)\tau = (F, A, E) consists of:

  • F ⊆ S: "from" states (preconditions)
  • A ⊆ S: states to activate
  • E ⊆ S: states to exit

Multi-State Activation

Innovation: A1|A| \geq 1, enabling atomic activation of multiple states simultaneously.

Execution Enablement

A transition is enabled when:

FSΞ(AE=)F \subseteq S_\Xi \land (A \cap E = \emptyset)

State Groups

Definition & Constraints

A group gSg \subseteq S activates/deactivates atomically. Group constraint ensures: for any transition τ\tau and group gg, all states in gg transition together:

s1A(τ)s2A(τ)s1,s2gs_1 \in A(\tau) \Leftrightarrow s_2 \in A(\tau) \quad \forall s_1, s_2 \in g

Occlusion Function

The function ω(sc,sh,t)=p\omega(s_c, s_h, t) = p models state visibility, where:

  • scs_c: covering state
  • shs_h: hidden state
  • p[0,1]p \in [0,1]: occlusion probability

Types

  1. Modal (p=1.0p = 1.0): Complete occlusion
  2. Spatial (p[0.5,0.9]p \in [0.5, 0.9]): Partial overlap
  3. Logical (p[0.7,1.0]p \in [0.7, 1.0]): Semantic exclusion

Dynamic Transitions

Generated at runtime:

Td(t,SΞ)={τ1,τ2,...,τn}T_d(t, S_\Xi) = \{\tau_1, \tau_2, ..., \tau_n\}

Types

  • Reveal Transitions: Generated when occluding state closes
  • Self-Transitions: Validate current state without change
  • Discovery Transitions: Found through runtime exploration

Reveal Generation

When state scs_c covering H={sh1,sh2,...}H = \{s_{h1}, s_{h2}, ...\} is removed:

τreveal=({sc},H,{sc})\tau_{reveal} = (\{s_c\}, H, \{s_c\})

Phased Execution Model

Execution Sequence

VALIDATE → OUTGOING → ACTIVATE → INCOMING → EXIT

Phase Definitions

  1. VALIDATE: Check preconditions valid(τ)=F(τ)SΞvalid(\tau) = F(\tau) \subseteq S_\Xi

  2. OUTGOING: Execute exit actions outgoing(SΞ)=sSΞexit(s)outgoing(S_\Xi) = \bigwedge_{s \in S_\Xi} exit(s)

  3. ACTIVATE: Add states (infallible) SΞ=SΞA(τ)S'_\Xi = S_\Xi \cup A(\tau)

  4. INCOMING: Execute entry actions incoming(A)=sAentry(s)incoming(A) = \bigwedge_{s \in A} entry(s)

  5. EXIT: Remove exited states SΞ=SΞE(τ)S''_\Xi = S'_\Xi \setminus E(\tau)

Rollback Semantics

If INCOMING fails, rollback restores:

SΞ,rollback=SΞS_{\Xi,rollback} = S_\Xi

Multi-Target Pathfinding

Problem Definition

Given current states ScS_c and target states TT, find path π\pi such that:

execute(π,Sc)Texecute(\pi, S_c) \supseteq T

Optimality

Optimal path:

π=argminπcost(π) s.t. Treachable(π,Sc)\pi^* = \arg\min_\pi cost(\pi) \text{ s.t. } T \subseteq reachable(\pi, S_c)

Complexity

Search space: O(V2T)O(|V| \cdot 2^{|T|}), where V|V| is state count and T|T| is target count.

Theorems

Theorem 1 (Activation Atomicity): State activation is atomic and infallible; it's a pure set operation that cannot fail.

Theorem 2 (Group Atomicity): States in a group are always activated/deactivated together per group constraints.

Theorem 3 (Multi-Target Optimality): The algorithm explores all reachable state combinations using dynamic programming with memoization, guaranteeing optimal solutions.

Theorem 4 (Occlusion Transitivity): If s1s_1 occludes s2s_2 and s2s_2 occludes s3s_3, then s1s_1 occludes s3s_3.

Theorem 5 (Safe Rollback): Failed incoming transitions preserve system state; rollback restores original state and skips EXIT phase.

Comparison with Existing Models

PropertyMultiStateFSMStatechartsPetri Nets
StatesP(S)SP(S)Markings
Transitions(F,A,E)(s₁,s₂)ComplexToken flow
ConcurrencyNativeNoneOrthogonalToken-based
HierarchyGroupsNoneNestedSubnets
DynamicsT_d functionStaticStaticStatic

Formal Verification

Verification completed through:

  • Mathematical proofs for all core properties
  • Property-based testing achieving 100% theorem coverage
  • Bounded model checking for safety properties