-
Notifications
You must be signed in to change notification settings - Fork 5
Consistency
Description: The designer should assure that all states included in the goal state are also included in the corresponding OLCs.
Example: Consider the example use case of criminal justice. Each state included in the goal state is also defined in the respective OLCs as shown in the figure below.
References: [Haarmann, 2020]
Description: The designer should ensure that the classes of all data objects used in the fragments can be found in the data model.
Example: Each fragment of the example use case of criminal justice only uses data objects that are also defined in the data model.
References: [Haarmann, 2020], [Hewelt and Weske, 2016]
Description:
Each state label used for data objects in fragments should also be modeled as a state in the corresponding OLC. The OLC can contain more states than shown in the fragments.
The designer should ensure that each state transition in the fragments corresponds to a state transition in the related OLC. This dependency is also called "Object Behavior Conformance".
The OLC can contain additional state transitions. However, to better ensure consistency between the OLC and the fragments, most state transitions should be included in the fragments.
Example: The activity Free defendant performs a state transition on the data object Defendant from state [innocent] into state [free]. This state transitions is also encoded in the respective OLC.
References: [Haarmann, 2020], [Hewelt and Weske, 2016]
Description: The designer should model exactly one OLC for every single data class in the data model. If data classes have the same behavior, the designer can use one OLC for them.
Example: As shown below, each OLC can be mapped to one data class defined in the data model.
References: [Haarmann, 2020], [Hewelt and Weske, 2016]
Description: A dependent class is a class which has an existential association, i.e., associations with lower bounds of 1 or greater, to a context class. Whenever the designer creates an activity that creates a data object of the dependent class, the activity also should read or create a data object of the context class (Contextual Object Creation). Otherwise, during activity execution, there is no context data object instance to associate the newly created dependent data object instance to, which violates the lower bounds constraint.
Example: Consider the data class Sentence reduction defined in the data model of the example use case of criminal justice. It has an existential association to the class Sentence. If a data object is created, for example by the activity Request sentence reduction (see fragment, marked in red), the activity must read the data object Sentence (marked in blue).
References: [Haarmann and Weske, 2020]
Description: Whenever the designer creates an activity that reads a list data object, the activity should read a data object from a context class (Contextual Batch Processing).
Example: Consider the following fragment shown below. The activity Pass sentence reads a list data object Personal Judgement and therefore also has to read the data object Defendant from its context class.
References: [Haarmann and Weske, 2020]
Description: The designer should include each state of the Goal State, i. e., every part of the disjunctive normal form, in the fragments.
References: [Haarmann, 2020]
[Haarmann, 2020] Haarmann, S. (2020). Fragment-Based Case Management Models: Metamodel, Consistency, and Correctness. Central-European Workshop on Services and their Composition (ZEUS 2020), 1, 1.
[Haarmann and Weske, 2020] Haarmann, S., & Weske, M. (2020, September). Data Object Cardinalities in Flexible Business Processes. In International Conference on Business Process Management (pp. 380-391). Springer, Cham.
[Hewelt and Weske, 2016] Hewelt, M., & Weske, M. (2016, September). A hybrid approach for flexible case modeling and execution. In International Conference on Business Process Management (pp. 38-54). Springer, Cham.