Mapping Examples

Some examples illustrating how different DecSerFlow constraints are mapped onto SCIFF follow.


Absence

Image description The absence constraint specifies that a certain activity cannot be executed (remember that following an open approach means that not only what is mandatory but also what is forbidden has to be explicitly specified). SCIFF can be simply model it by imposing a forbidding (i.e. a negative expectation) about the activity at any time:

trueEN(performed(A),_).


Existence N

Image description The existence N constraint specifies that a certain activity must be performed at least N times. SCIFF formalizes this constraint by generating N different expectations about the activity execution. Difference between executions is modeled as difference between their execution times:

true(i=1..n) E(performed(A),Ti)Ti>Ti-1.


Responded Absence

Image description The responded absence constraint is a negative relationship which states that if a certain activity (A) is performed, then another activity (B) cannot be performed neither before or afterwards. To model it, SCIFF imposes an absence constraint on B triggered by the happening of A’s execution:

H(performed(A),TA)→EN(performed(B),TB).


Alternate Response

Image description The alternate response constraint enforces a response constraint as well as interposition between involved activities.
Response states that when activity A is performed (i.e., happened in SCIFF), then activity B must be performed (i.e., expected to happen in SCIFF) afterwards (i.e., at a later time):

H(performed(A),TA)→E(performed(B),TB)TB>TA.

Interposition ensures that between two activities A at least one B is executed, and it can be mapped onto SCIFF in a straightforward way:

H(performed(A),TA)H(performed(A),TA2)TA2>TA
E(performed(B),TB)TB>TATB<TA2.