# Domain Model Based Design of Business Process Architectures
## 5 The dBPA Method
### Concepts  
In the following, the concepts used in the dBPA method are defined. **Definition 1** (Class). : _A class \(c\) is an abstraction highlighting common properties of the elements of a set. A class is represented by a name and a state attribute \(j_{S}\)._  
**Definition 2** (Object lifecycle). : _An object lifecycle (OLC) \(l\) depicts the behavior of a class \(c\) and is represented by the tuple \((S,s_{i},S_{F},T,\Sigma,\eta)\), where:_  
* \(S\) _is a finite non-empty set of data states,_
* \(s_{i}\in S\) _is the initial data state,_
* \(S_{F}\subseteq S\) _is a finite non-empty set of final data states,_
* \(T\subseteq S\times S\) _is a finite non-empty set of time-consuming transitions describing the logical and temporal dependencies between data states,_
* \(\Sigma\) _is a finite non-empty set of transition labels with the structure [guard]proc/signal where guard is a logic expression that enables a transition when true, proc stands for a behavior executed during the transition, and a signal represents an event that occurs within the respective proc; guard and signal can be omitted, and_
* \(\eta:T\rightarrow\Sigma\) _is a function that assigns a label to each state transition._  
**Definition 3** (Generic object lifecycle). : _A generic object lifecycle \(l_{S}\) is represented by the tuple \((S_{g},s_{i_{g}},S_{F_{g}},T_{g},\Sigma_{g},\eta_{g})\) where \(S_{g}=\{i,created,deleted\}\), \(s_{i_{g}}=i\), \(S_{F_{g}}=\{deleted\}\), \(T_{g}=\{(i,created),(created,deleted)\}\), and \(\Sigma_{g}=\{creation,elimination\}\)._  
**Definition 4** (Domain model). : _A domain model \(w\) is an abstraction of the structure of a domain and it is represented by the tuple (\(C\), \(A\), \(H\), \(H_{s}\), \(C_{power}\), \(Z_{S}\), \(C_{Z}\)), where:_  
* \(C\) _is a finite non-empty set of classes,_
* \(A\subseteq C\times C\) _is a finite non-empty set of binary associations such that each association a is characterized by a name assoc and a direction dir. For each association, the function_ \(type_{A}\) _returns the type of the association (i.e., aggregation, composition, or standard), and the function exist indicates whether the association involves an existential dependency (i.e., true, or false),* \(H:C\to\mathcal{P}(C)\) _is a finite set of hierarchies such that each hierarchy_ \(h\) _defines a relation between a general class called super-class and a set of specialized classes called sub-classes, and_ \(type_{H}:H\to\{dynamic,static\}\times\{complete,incomplete\}\times\{disjoint,overlapping\}\) _is a function that returns the properties of_ \(h\)_,_
* \(H_{s}\subseteq H\) _is a finite set of dynamic hierarchies such_ \(type_{H}[1]=dynamic\) _in which sub-classes correspond to the OLC states_ \(S\) _of the super-class,_
* \(C_{\text{pourary}}\subseteq C\) _is the finite set of power-types such that each power-type_ \(c_{\text{pourary}}\) _is a class whose objects are the sub-classes of other class,_
* \(Z_{S}\) _is a finite set of state-related enumerations,_
* \(C_{Z}\subseteq C\) _is a finite set of classes such that for each class, its states_ \(S\) _are specified by a state-related enumeration_ \(z_{S}\in Z_{S}\) _such that_ \(S=z_{S}\)_._  
**Definition 5** (Data dictionary): _A data dictionary \(dd\) is an organized list defining data in a given domain.