‘Contextual Objects’ or Goal Orientation for the Business Process Modeling
Birol Berkem
CNAM
36, Av. du Hazay 95800 Cergy / FRANCE
+33.1.34.32.10.84
berkem@cnam.fr
Abstract. In this paper, we make a proposal of extensions to object-oriented notions in order to represent business processes. The idea consists in avoiding to consider object types independently, but taking into account their collaboration based on the context emerging from a goal requirement as business processes and their steps (activities) are constituted on a goal basis. In this way, we introduce ‘Contextual Objects’ as based on a context that does incite objects to collaborate in order to realize a goal (a business goal).
Keywords : Work Unit, Aggregation, Dominant Entity (Driver) Object, Objects Behavioral States, Object Responsibilities, Contextual Objects, Behabioral State Transition Diagram, Activity Diagram
1. Introduction
Traditional Object Orientation doesn’t meet the Business Process Modeling requirements since objects do not incorporate the goals for which they collaborate. Indeed, business processes like Order Management, Sales, etc..and their steps (activities) require to be driven by a goal as a business process may be assumed as a goal-oriented graph (purpose of the business process) inside of which each step represents a goal-oriented node (purpose of the business process step).
Listing in bulk attributes and operations within classes does not help to model business process steps since the goal and the emerging context ( to ensure the goals ) of objects are not expressed in today’s object-oriented models.
Indeed, in the object orientation activities are implicitly executed by objects that collaborate to realize a goal. But as the goal is not explicitly expressed, the behavior of the group of objects is not modeled.
2. Definitions
Goals and contexts may be symbolized by objects contextual behavior that may be expressed using activable attributes, relationships and methods of objects depending on a context.
Modeling the goal requires that each activity inside a process step is considered as conducted by a driver object carrying out the goal. Contextual objects collaborate to realize the goal according to the context emerging whenever a driver object enters into one of its life cycle stages.
Indeed, the entrance of a driver object such an ‘order’ into one of its different stages (entry, evaluation, delivery, billing,..) of its life cycle incites other participating (contextual) objects to react depending on the context. Reactions of different contextual objects like product, customer, delivery, invoice, etc..appearing inside the stages of a driver object’s life cycle are driven by this context. We named the interaction area constituted by a driver object and its contextual objects as the contextual environment of the driver object [Berkem - Modèle des Objets Contextuels / 1995].
Similarly, in UML 1.1., the concept of work unit is finally defined as a task-oriented set of objects that form a recognizable whole to the end user [UML 1.1- Business Modeling Extensions].
In the Business Modeling Stereotypes [UML 1.0], the notion of work unit was defined as ‘a shared aggregate with a dominant entity object (marked ‘dominant’) together with the other objects with which it interacts closely’. The state of the work unit is reflected by the state of its dominant entity which goes through state changes as its work unit is manipulated by handler (~actor) operations.

Figure 1
. A work unit is defined as an aggregate with a dominant entity object which interacts closely with other objects. The state of the work unit is reflected by the state of its dominant entity object.But nothing is said about the internal dynamics of a work unit whose description becomes necessary to define the responsibilities of its participating objects. In such a way, contextual objects marked by these responsibilities should contribute to model activities inside business processes.
On the other hand, activity diagrams in UML[1.0] and UML[1.1] try also to model business processes via the notions of action states (activities), and transitions or objects flows between them. Some remarks are proposed here about relevant issues in their adaptability to the business process modeling :
In order to formalize these in detail, we propose to focus on some characteristics of each work unit, that concern :
2.1.a. The goal of a work unit and its execution
An activity inside a ‘work unit’ is started whenever its dominant (driver) object has a particular value indicating that the activity is ‘executing’. This value is expressed by the ‘behavioral state’ of the dominant object.
The behavioral state of an object is a state with an internal action, but it also includes the responsibility required from the object in the work unit. The behavioral state of an object is expressed as a chronological form and may have either one of the following three values, among ‘to be executed’, ‘executing’, or ‘executed’.

Figure 2
. A chronologically oriented graph whose nodes are constituted each by a behavioral stateThe chronological form serves to enhance the meaning expressed by an object behavior and is still very useful to fix out the responsibility of any object at any time.
A behavioral state may be attached to each state of an object’s life cycle and has only one outgoing transition (except the last) whose target is the next chronologically ordered behavioral state. The list ‘to be executed, executing, executed’ presents a chronologically ordered list of forms or a chronologically oriented graph as shown in figure 2.
During the activity, the dominant object sends messages to other objects that participate in the activity in order to activate their responsibilities and keeps its behavioral state as long as the action continues..
At the completion of the activity, the behavioral state of a dominant object takes the implicit ‘executed’ form.
2.1.b. The Emerging Context (Responsibilities required from objects that collaborate for an activity):
The dominant object of a work unit acts as an input interface (hides the complexity of its work unit). It sends messages to objects participating to the common work unit in order to activate them to realize the task assigned to the work unit. We named them as ‘contextual objects’ [Berkem- 95 / 96] , [Picavet,Berkem -97] as their behavioral states depend on the context created by their dominant object’s behavioral state. For this purpose, contextual objects of a work unit have their behavioral states marked by the ‘to be executed’ (requested) form that expresses the required responsibility.
Communication inside and between process steps
In the figure 3, the communication inside each business process step is modeled using these concepts. The communication between process steps is managed using an output object of the current process step and the input object (dominant object) of the target process step.

Figure 3
. Business Process Steps are modeled using work units. Inside each one, objects collaboration is expressed using a ‘behavioral stereotype’ of the UML’s collaboration diagram. Dominant object classes shown with their behavioral state in the ‘executing’ form constitute the input or supplier part of the interfaces (in the sense of [UML 0.91]). Output objects, origins of object flows (dashed lines) play a role of output or client parts .Notice that an object appearing as ‘output’ in a work unit should become a dominant object in its target work unit in order to drive its affected responsibility. This means whenever output objects are called to execute their requested responsibility, their behavioral states take the ‘executing’ form. This may be realized by applying a similar principle to the transmutation [Castellani- MCO 93] principle. We name this kind of transmutation as a behavioral transmutation as objects change their behavioral classes. Indeed, objects called to leave their source classes (output classes) affected by a ‘to be executed’ behavioral form go to be placed into the calling target classes (input classes) with an ‘executing’ behavioral form.
2.3. Nested Activities inside a Business Process Step
Responsibilities asked from contextual objects generally require other object collaborations for their realization. This means that behavioral states of contextual objects might be expanded or refined sufficiently to realize the required responsibility. This expansion may be modeled by nested work unit(s) and should be repeated as long as contextual object’s behavioral states require a refinement in order to realize the needs of the business abstraction level.. More formally nested activities (action states) may be represented in the Behavioral State Transition Diagram that we introduce as an extension to the State Transition Diagram.

Fig 4
. The figure shown above represents the Behavioral State Transition Diagram for the (delivering) step of the Order process. Rectangular forms with rounded corners indicate the boundary for each activity (action state) and for each nested-activity. Each activity begins with a start indicator. Arrows indicate transitions between activities. Transitions correspond to object flows between ‘to execute’ and ‘executing’ states. Stop indicators illustrate the completion of activities, correspond so to the ‘executed’ state of their dominant object. Dashed rectangular forms are presented only to illustrate the boundary of the collaborating objects inside each action state.3. Conclusion
The approach by the contextual objects proposes some extensions to the classical object orientation for the business process modeling. Indeed, in the traditional object orientation, the mechanism of object abstraction inside classes doesn’t consider the goal of these objects : instances in any state may form a class and the whole operations may be potentially applied on every object of the class, whatever their states and their goals ! Business Processes require a goal oriented abstraction as they are driven by goals aligned on the company missions, vocations and values. Goals and contexts may be expressed using activable attributes, relationships and methods of objects depending on a context.
This kind of modeling also allows :
In the organization domain, ‘contextual objects’ proposes an organizational design by objects ready to understand the business environment dynamics via the stages of strategic business objects.
In such a design, objects allow users to react to the changes and assist them in the propagation of their reaction to the other cells of the enterprise [Berkem-96 b] and thus triggering their reaction coherently according to the company objectives with their values, vocation and finality as these should be stored in the genetical patrimony of the enterprises [Berkem- 98c].
[BERKEM-95]
- BPR and Business Objects using the Contextual Objects Modeling / B.Berkem, 8th. International Software Engineering & Its Applications Conference - Univ. Leonard de Vinci / Paris Nov. 95[BERKEM-96 a] - Un système d’information réactif au changement par le Modèle des Objets Contextuels / B.Berkem, Revue ‘L’Objet ‘ Vol 2 N°5 - Paris June 96
[BERKEM-96 b] - An Organization Reactive to Change / B.Berkem, 3rd. European Congress of System Sciences Rome Oct. 96
[BERKEM-98 b] - Traceability Management from Business Processes to Use Cases / B.Berkem, -Precise Behavioral Semantics ECOOP’98 Workshop published in Munich Technical University Proceedings- Brussels
[BERKEM-98c] - Instanciation du Comportement d’un Système à partir de son Patrimoine Génétique / B.Berkem, XV. Congrès de Cybernétique Namur August. 98
[CASTELLANI-93] - MCO - Méthodologie Générale d’Analyse et de Conception des Systèmes d’Objets T1- Requirements Engineering / X. Castellani Masson 93
[PICAVET -BERKEM-97] - Modélisation de la Propagation du Changement dans l’Entreprise / Picavet -.Berkem, XVrd. Congrès Système d’Information - Inforsid Toulouse June 97
[UML-1.0] UML Summary version 1.0 - Business Modeling Stereotypes / January 1997
[UML-1. 1] UML 1.1.- Extensions for Business Modeling - Stereotypes and Notation http://www.rational.com/uml