Lemma 7.10 (Proper sequencing of opposite behavioral models). Two operations that appear in a behavioral modelBM appear in the same order in the opposite behavioral modelBM−1.
Proof. That is trivial because QBM = QBM−1.
7.5
Excerpt consumed behavioral model fragment
The behavioral model of a software component in the component perspective describes • the potential operations the component may perform,
• potential alternative outcomes of an operation invocation, and
• sequencing constraints that are required for a successful operation invocation. However, the operations are general and need to be applied in the context of a business process in order to perform some meaningful task. For that purpose, a business process expert may define a view of the components to participate in the enterprise-internal business process (EAI). As not the full functionality of the components may be needed in the context of the business process, the business process expert first has to define the relevant fragment of the component perspective behavioral models. Of course, the relevant fragment must be in concordance with the component perspective behavioral models to meet the requirement of preserving operation sequences stated in Section 7.3 on page 100.
Before we can present an algorithm how to construct a concordant fragment from a behavioral model, we introduce some preliminaries.
The first is a notational convention which we introduce to differentiate between states of a component perspective behavioral model C and a fragment behavioral model F . We represent a state of the component perspective behavioral model using superscript as qC and a state of the fragment behavioral model as qF.
Second, we define a relation between states of a component perspective behavioral model and states of a fragment—the “originating state”—to enable later comparison of the two behavioral models.
Definition 7.11 (Originating state). We denote the originating component perspective behavioral model state qC for a fragment state qF as
qC = σ(qF).
As an example, let’s assume the left-hand side of Figure 7.9 on the following page would be the component perspective behavioral model of the seller’s finance component (FINC) and the right-hand side would be the derived fragmentFINF. The component perspective behavioral model describes two operations: First, an operation to create an invoice (INV) from a delivery (DEL). The operation is represented by the
7.5 Excerpt consumed behavioral model fragment 105
To give an example, we enumerate the enabling states of both behavioral models in Figure 7.9 on the preceding page.
φprocessingF =init
F
φdoneF =waitingF
Finally, we need to define what it means to preserve the knowledge of proper operation sequencing between component perspective behavioral models and fragments. Whenever we observe two operations o1, o2 on any path in a fragment F calculated
using the transitive closure (T ) of all edges, i. e., A = ho1, o2i ∈ T (δF),
and these operations appear in any order on a common path in the respective component perspective behavioral model C, i. e.,
B = hσ(o1), σ(o2)i ∈ T (δC) or
C = hσ(o2), σ(o1)i ∈ T (δC),
then they should appear in the same order in C as they appear in F : B = hσ(o1), σ(o2)i ∈ T (δC).
Thus, the following should hold at all times:
A ∧ ( B ∨ C ) → B
We can transform the formula using the rules of propositional logic: A ∧ ( B ∨ C ) → B
⇒ ¬A ∨ ( ¬B ∧ ¬C ) ∨ B
⇒ ¬A ∨ [ ( ¬B ∨ B ) ∧ ( ¬C ∨ B ) ] ⇒ ¬A ∨ ¬C ∨ B
⇒ A ∧ C → B
We can now introduce a definition for the “accordance of excerpted and original behavioral model.”
Definition 7.13 (Accordance of excerpted and original behavioral model). Let C be a component perspective behavioral model, F a fragment behavioral model excerpted from C, o1, o2 ∈ QF operations of F , and T the transitive closure. Then,
We can say that two behavioral models are accordant, if for every two operations in the excerpted behavioral model whose originating states appear in a different order in the original behavioral model, the originating states must be also in the order of the excerpted behavioral model. That is, both orders must be allowed in the original behavioral model.
As an example, let’s check whether the two behavioral models in Figure 7.9 on page 104 are in accordance. For that, we first list their transition functions.
δFINC = q1 ∈ QFIN C
I/Os q2 ∈ QFIN C
initC {DEL} processingC processingC {INV} initC
initC {INV} initC
δFINF = q1 ∈ QFIN F
I/Os q2 ∈ QFIN F
initF {DEL} processingF processingF {INV} waitingF
waitingF {INV} doneF
Second, we compute the transitive closure of their transition functions. T (δFINC
) = {initC,processingC , processingC,initC ,
initC,initC , processingC,processingC} T (δFINF) = {
initF,processingF , processingF,waitingF ,
waitingF,doneF , initF,waitingF ,
initF,doneF , processingF,doneF} Third, we find a sequence of operations inFINF:
processingF,doneF ∈ T (δFINF).
Fourth, the originating states of FINF were shown above. We can now identify the opposite order of o1and o2 in the component perspective behavioral modelFINC:
initC,processingC ∈ T (δFINC)
Finally, we need to check whether the reverse order also appears inFINC.
processingC,initC∈ T (δ! FINC
)
As that is the case, we have shown that the behavioral models FINC andFINF are in accordance, and thusFINF is a proper excerpt ofFINC.
7.5 Excerpt consumed behavioral model fragment 107
However, the above was just an example of a behavioral model and one possible excerpt. We are now prepared to describe the algorithm a business process expert should have performed to excerptFINF fromFINC to ensure by construction that both behavioral models are in accordance.
1. An excerption step begins with picking an operation oCfrom C.
2. (a) If F does not contain any states yet, oC must have an incoming transition from qC0, or oC must be the initial state oC = qC0. The new states q0F with qC0 = σ(q0F) and oF with oC = σ(oF) build the first operation in F .
(b) i. If F already contains operations, the new state oF with oC = σ(oF) becomes integrated into F . That is done by unifying oF’s enabling state φoF with an existing state s in F that has the same origin in C as
φoF, i. e.,
σ(s) = σ(φoF).
ii. If the former step is not possible, oC cannot be added at this time. Whenever an operation oCis added to a fragment F , oC becomes unfolded. That means that the state oF and all states that oF’s output transitions directly link to are new, separate states in F .
Lemma 7.14. The described construction procedure only produces trees which are in accordance with their respective community perspective behavioral model.
Proof of trees. It is exactly one tree generated due to two reasons: First, the enabling state φoF of a newly added operation oF unifies with an existing state in F if oF is not
the first operation. Second, all states except for φoF are new states that were not present
in F before.
Proof of accordance. Let’s assume the negation of Definition 7.13. ¬( A ∧ C → B ) = A ∧ C ∧ ¬B
= ho1, o2i ∈ T (δF) ∧ hσ(o2), σ(o1)i ∈ T (δC) ∧ ¬ hσ(o1), σ(o2)i ∈ T (δC)
The formula states that in C, there is a connection from the originating state of o2 to the
originating state of o1, but not vice versa. Additionally, in F , o2is behind o1. If we can
show that our algorithm cannot produce such a situation, we have proven that it only creates according excerpts.
In our algorithm, operations are being added one after the other to F . Therefore, we must differentiate between two cases:
1. o1is added first, o2 afterwards. With regards to our algorithm, an operation can
only be added if its enabling state is already in F . However, if o2 is going to
originating state is at the same time behind the originating state of o1 and before
the originating state of o2:
σ(o1), σ(sF) ∈ T (δC)
∧ σ(sF
), σ(o2) ∈ T (δC).
That implies hσ(o1), σ(o2)i ∈ T (δC), which contradicts the assumption.
2. o2 is added first, o1 afterwards. If o1is added after o2 then all the states directly
following o1 are new states in F which can never be linked to operations already
existing in F . Thus, for every state sF with o1, sF ∈ T (δF) :
sF
, o2 /∈ T (δF).
Therefore, ho1, o2i /∈ T (δF), which contradicts the assumption.
By contradiction we have shown that our algorithm preserves operation order.