way of the pre- / post conditions which surround a
sub-process (Pre Sub − P and Post Sub − P), as as
well as a transformation invariant, which defines a re-
sulting refinement relation between the abstract and
the refinement of a sub-process.
4.2 Behavioral Refinement Contract
contract: This contract defines the behavior of re-
finement and not the behavior of the business pro-
cess. Therefore, in a contract, we define a precon-
dition which, when satisfied, the refinement could be
performed. Further, in this contract, we determine
how to perform the refinement via a refinement in-
variant and specify the effect of the refinement on the
business process through a post-condition that must
be satisfied after the refinement. contract: The re-
finement is carried out accordingly for:
1. pre-condition: The refinement is applied only on
the construction of BPMN sub-processes.
2. Invariant: The refinement is performed accord-
ing to the BPMN syntax. We distinguish between
different types of refinement, namely, sequence
refinement, parallel refinement, exclusive refine-
ment and iterative refinement. For each type of re-
finement, we determine an invariant like a BPMN
pattern. Formally, we define a refinement invari-
ant as a rule for producing a context-free grammar
specifying the BPMN syntax. Therefore, each re-
finement invariant is syntactically correct.
3. Post-condition: is the effect of the refinement af-
ter having satisfied the invariant. Indeed, the satis-
faction of the invariant is the introduction of a rel-
ative BPMN refinement model in the initial busi-
ness process model. Post-conditions are specified
after analyzing the impact of the change on the
BPMN model after refinement. In the next sec-
tion, we establish this analysis.
A Sub-P sub-process is an abstract activity that
refines a collection of other tasks or / and sub-
processes. It specifies different scenarios, depend-
ing on the prerequisites and afterwards. Since each
sub-process is linked to some kind of pattern namely
sequence pattern SeqRef, parallel patternParRef, ex-
clusive pattern ExcRef or loop pattern LoopRef de-
pending on a Pre SeqP and a Post SeqP, Pre ParP
and a Post ParP, Pre ExcP and Post ExcP or
Pre LoopP and Post LoopP respectively for each
pattern. Each refinement model can initially be trig-
gered by the start event and end its execution with the
end event. A sub-process can also be refined into a
simple task which is an atomic task in which it looks
like it could be the last level of refinement. A simpleS-
Task depends on its Pre S − Task and Post S − Task
start with the start event and end with the end event.
4.3 Synchronization Contract
contract: Which is carried out to analyze the effect
of the impact of change and ensured by the prop-
erty link. This includes the synchronization of the
refinement according to the overall model. The de-
pendence between the activity under the BPMN pro-
cess and the different refinement models is repre-
sented by each refinement pattern (SeqRef, ParRef,
ExcRef or LoopRef ) can be presented by a sequence
of sub-processes, sub-processes which behave in a
parallel manner, an alternate execution flow of the
sub-processes according to system state conditions or
via an iterative task called a Task L-Task loop respec-
tively.
These contracts ensure that the link between the
abstract model and the refinement levels containing
the contracts correctly assembles and satisfies the re-
quirements. According to these requirements, we
are about to build BPMN processes using refinement
by formalization requirements adopted at each refine-
ment level in the form of contracts.
The grammar can be used as contracts that must
ensure consistency in terms of modeling BPMN pro-
cesses using refinement patterns. By a contract, the
developer, according to the result expected by a con-
tract, he can choose the patterns to use. A contract
consists of an input, verifying a certain syntax, and
transformation rules that guarantee a specific result.
The contracts we introduce are presented in (Ayari
et al., 2019) in the form of non-contextual grammar.
5 SEMANTIC DESCRIPTIONS OF
BPMN WITH DIFFERENT
REFINEMENT PATTERNS
The semantic description is the behavior of the busi-
ness process described by the instantiation function of
the flow Object (O) and more precisely of the activ-
ity (task or sub-process) which shows the steps per-
formed in a process. The behavior is presented by a
sequence of allowed states {start − subP, finishsub −
P} ∈ S. The formal semantics of an activity belonging
to a BPMN process is defined as follows:
The Sub-P activity is triggered by the transition (idle-
subP), which allows to go to the begin event event to
order the sub-P activity to execute and goes into trig-
ger state. After the activity goes through the transition
(start-subP), its terminate event occurs and the tran-
ICSOFT 2021 - 16th International Conference on Software Technologies
492