An Aspect-Oriented Approach to Business Process Modeling Claudia Cappelli Computer Science Department PUC-Rio - Brazil ccappelli@inf.puc-rio.br Julio Cesar Sampaio do Prado Leite Computer Science Department PUC-Rio - Brazil julio@inf.puc-rio.br Thais Batista Computer Science Department UFRN – Brazil thais@ufrnet.br Lyrene Silva Computer Science Department UERN - Brasil lyrene@gmail.com ABSTRACT Traditional methods to business process modeling build the model in a unified way, which gives rise to complex models, where different concerns are scattered and tangled. In this paper we propose the use of an aspect-oriented approach to modularize business process modeling. We propose a meta Aspect Oriented Process Modeling Language (AOPML) that is independent of any specific business process language. In order to show the applicability of the approach we instantiate it using the Business Process Model Notation (BPMN) in a case study that takes advantage of AOPML. Categories and Subject Descriptors D.2.1 Requirements/Specifications; Methodologies (e.g., object- oriented, structured) General Terms: Management Keywords: Business Process Modeling, aspects, composition 1. INTRODUCTION Business process modeling (BPM) is an essential activity for the development of information systems. Besides helping the organization of information flow, a process model serves as a strong base for software requirements elicitation [1]. The so- called Business-centric development provides valuable knowledge to the construction of software requirements and, as a consequence, impacts all software development activities. Nowadays there is a consensus that the adoption of business process modeling techniques and their integration into the software development process produces higher-quality requirements. There are several BPM notations that defines modularization elements, such as process and activities, however, these elements are not enough to modularize the crosscutting concerns [2], those concerns that are tangled and scattered at several places of a same process or even at different processes of a given model. They cut across the modular process-based structure. This situation hampers: (i) the understandability of the process model itself, as the basic concepts of the process are mixed with the crosscutting concerns; (ii) the reusability of parts between processes that shares some common concerns; (iii) the maintainability of the process model, as a change in a given concern can arise changes in several places of the several processes where the concern is scattered. It also affects the software development: as the requirements model should be based on the business process model, it could inherit all the problems associated to the lack of crosscutting concerns modularity. As a consequence, all the derivations from the requirements model could also be affected. In order to address this issue, we propose an aspect-oriented approach to modularize the crosscutting concerns in a business process modeling that consists of a meta language (AOPML) independent of any specific business process notation. We illustrate the applicability of the approach using the Business Process Model Notation (BPMN) and a case study that takes advantage of the AOPML. Although there are several AO-approaches associated to different software development activities (requirements, architecture, project, implementation and test) there is no consolidated proposal in terms of AO business process modeling. The improvement of the BPM modularity using an AO approach is an imminent need to the BPM itself as well as to the software development process. In fact, the aspect-oriented paradigm has a widespread use at different software development activities and since BPM are being used as information source for requirements it is reasonable to believe it should also be modularized with respect to crosscutting concerns. This paper is structured as follows. Section 2 presents the BPM language, explains its principal elements and presents an example modeled with this language. Section 3 introduces AO-BPM concept, a meta language to represent it (AOPML) and through a study case demonstrate the benefits of this approach. Section 4 talk about related work and Section 5 contains the final remarks and future work. 2. BPM Languages BPM languages define a business process as an interaction between participants and the execution of activities according to a defined set of rules in order to achieve a common goal. These languages in general use elements to represents activities, actors, rules, decisions, events, flows and any other artifact needed to be represented. There are many kinds of BPM languages such as, EPC [3], ISAC [4] BPMN [5] All of them intend to represent how the organizational process happens. In this work we use a well- known BPM notation, BPMN (Business Process Model Notation) for modeling the Steering Committee Process case study. Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. EA’09, March 3, 2009, Charlottesville, VA, USA. Copyright 2009 ACM 978-1-60558-456-0/09/03...$5.00. 7