A Role-Based Framework for Business Process Modeling Artur Caetano 1,3 , Marielba Zacarias 1 , António Rito Silva 2,3 , José Tribolet 1,3 1 Organizational Engineering Center, INESC INOV. 2 Software Engineering Group, INESC ID. 3 Department of Information Systems and Computer Science, Instituto Superior Técnico, Technical University of Lisbon. E-mail: artur.caetano@inesc.pt, mzacaria@ualg.pt, antonio.silva@inesc.pt, jose.tribolet@inesc.pt Abstract Business objects are object-oriented representations of the concepts of interest in an organization, such as activities, resources and actors. Business objects collaborate with one another in order to achieve business goals, showing different behavior and properties according to each spe- cific collaboration context. This means the same business object may be perceived differently depending on the business objects it is collaborating with. However, most approaches to business process modeling do not separate the collaborative aspects of a business object from its in- ternal aspects. To cope with such issues, this paper makes use of role modeling to separate these concerns while in- creasing the understandability and reusability of business process models. This approach makes use of object- oriented concepts to separate a business process model into a business object model and a role model. The busi- ness object models deals with specifying the structure and intrinsic behavior of business objects, while the role model specifies its collaborative aspects. 1. Introduction Business process modeling specializes on describing how activities interact and relate with other organizational elements while supporting the operation of the business. The representation of an organization and its processes has been the focus of research in past years and signifi- cant work has been done on developing business process modeling concepts, methodologies and ontologies as well as on the specification of process modeling languages [10, 18, 19, 20]. Business process modeling can also be used for multiple purposes, such as facilitating human under- standing and communication [31], supporting process im- provement and re-engineering through business process analysis and simulation [9, 19], automating the execution of business processes [1,25] and facilitating coordinated business and system development by keeping the align- ment between processes and their support systems [6]. Modeling business processes requires capturing the es- sential concepts that are involved in a collaboration, their responsibilities and the business meaningful relationships between them. Examples of these concepts are activities, the resources used by activities and the human or auto- mated actors who perform these activities. Identifying the properties and relationships of these concepts is funda- mental to understand and evolve the business by facilitat- ing model and concept communication between stake- holders, business and system specialists. It also promotes concept reuse across business processes. We model the business concepts, their responsibilities and relationships as classes of business objects. This helps building up a consistent object-oriented glossary of concepts that can later be composed and specialized. Characterizing the type, properties and relationships of a business object is not straightforward since the business concepts the objects are modeling are used in different business contexts, meaning that the same business object may relate to several other business objects in the organi- zation. For example, the business object modeling a Prod- uct may be brought into play in several processes, such as Manufacturing, Logistics and Selling, and in each of these processes it will relate with different activities and re- sources. Analyzing this relationship network may not be easy because the object acts as a multi-dimensional entity depending on the context of usage. A Product property such as Location, while fundamental to the Logistics proc- ess, may not be relevant to the Manufacturing process or may even have a different meaning in that context. The same reasoning applies not only to the properties of the object but also to its behavior. Some coordination-oriented process modeling tech- niques, such as Role Activity Diagrams [24], provide the means to identify roles and interactions. Roles organize a process’ activities into sets of operations associated with a given participant in the process. Interactions show the de- pendencies between those participants. While this ap- proach improves the understandability of a process model since it depicts what a participant does in a process, it falls short explaining the behavior of the business objects of the process. These techniques do not make explicit what behavior a specific object is displaying in a specific context of interaction and why is it displaying such a be- havior. This would facilitate reusing the object in a differ- ent context. Additionally, roles are considered collections of activities and not types, so they can not be composed and specialized. 0-7695-2268-8/05/$20.00 (C) 2005 IEEE Proceedings of the 38th Hawaii International Conference on System Sciences - 2005 1