Live Sequence Diagrams Flashcards
What is the definition of well-formedness?
For each location l, if l is the location of a condition or a local invariant, then there is a location l’ simultaneous to l, which is the location of an instance head or a message
What are all the parts of the abstract syntax?
- set of locations with partial order and simultaneity
- the set of instance lines (a partition of the set of locations)
- set of messages
- set of conditions
- set of local invariants
- assignment of temperature to each location/element
Are cyclic LSDs allowed?
No, they do not have an abstract syntax
Relationship between abstract and concrete syntax?
multiple concrete syntaxes for one abstract syntax
What is the definition of a cut?
A nonempty set of locations which is:
1. downward-closed (if b is in the cut and a<b></b>
What is the temperature of a cut?
C is hot if and only if at least one of its maximal elements (latest in cut) is hot
What are always the first and last cuts?
first cut = all instance heads
last cut = entire diagram (all locations)
What is a fired set F of a cut C?
“difference between one cut and the following cut” denoted by squiggly line between cuts
- C and F are disjoint
- union of C and F is a cut
- all locations of F are “direct successors” of locations in C (no location between location in C and location in F)
- locations in F that are on the same instance line are pairwise unordered
- for each asynchronous message reception in F, the corresponding sending is already in C
What are the 3 syntaxes of LSDs?
abstract, concrete (diagram), semantics (automat)
What is the TBA construction principle?
The TBA B(L) of LSC L is (C, Q, q_ini, –>, Q_F) where:
Q = set of cuts,
q_ini = instance heads cut,
C_B = union of C and E!?,
–> consists of loops, progress conditions (fired set), and legal exits (cold cond or local invariant),
F is the set of cold cuts
List the components of a full LSC
pre-chart (possibly empty), main chart (non-empty), activation condition (condition/location invariant), strictness flag (strict or permissive), activation mode (initial or invariant), chart mode (existential (cold) or universal (hot)), strictness flag
When is a “universal” LSC satisfied by software? (hot)
A universal LSC is satisfied by a software
S if and only if all words induced by the computation paths of S are accepted by the LSC’s TBA
When is a “existential” LSC satisfied by software? (cold)
An existential LSC is satisfied by a software
S if and only if there is a word induced by a computation path of S which is accepted by the LSC’s TBA. Prove by demonstrating the computation path.
What is the purpose of precharts?
allow us to specify anti-scenarios (“this must not happen”) and activation interactions
invariant v. initial?
invariant: software can satisfy the LSC starting at any state
initial: software must satisfy the LSC starting at the first state