Supporting the SPEM with a UML Extended Workflow Metamodel Narayan Debnath Winona State University Winona, MN 55987, USA
[email protected]
Daniel Riesco German Montejano Universidad Nacional de San Luis Argentina {driesco|gmonte} @unsl.edu.ar
Daniel Romero Marcelo Uva Universidad Nacional de Rio Cuarto Argentina {dromero|uva} @dc.exa.unrc.edu.ar
offering support for the partial or total automation of production processes. The software industry development is not different to others. In the software industry the business processes are modeled to obtain quality products (software) in a certain time. In constant search of a quality product, engineers and analysts work in the optimization and automation of software development methodologies. Inside software development industry, the business processes are called development methodologies. In this work we propose the necessary elements to establish a mapping between a development methodology anyone, and a workflow process. The mapping is made between two metamodels used for the specification of business processes. The first metamodel, is Software Process Engineering Metamodel (SPEM) defined by the Object Management Group (OMG) for development processes modeling. The second, UML Ex-tended Workflow Metamodel (UMLEWM) is a extension of Unified Modeling Language Metamodel (UML) for workflows processes modeling. This work is organized in the following way: in the section 1, the UML-EWM is presented. The section 2, describes the SPEM shortly. In the section 3 show the mapping between SPEM and UML-EWM. In the section 4, a case study. Finally, the conclusions.
Abstract The specification, analysis, and administration of business processes have charged great importance in this last time. This has been caused by a competitive industry necessity, dynamics, where she use the available resources efficiently. The "Workflow" technologies has given answer to these requirements, offering support for the partial or total automation of production processes. The necessities of software industry are not different. In constant search of quality products, engineers and analysts work optimizing software methodologies development. In this paper we propose a mapping between two metamodels used for the business processes specification. The first metamodel, is Software Process Engineering Metamodel (SPEM) defined by the Object Management Group (OMG) for development processes modeling. The second, UML Ex-tended Workflow Metamodel (UMLEWM), is a extension of Unified Modeling Language Metamodel (UML) for workflows processes modeling. With this mapping we propose to incorporate the characteristics of workflow process to software development process modeled in SPEM. This facilitates the automation of development processes with workflow technologies.
Keywords
1. Business Process Modeling with UML Extended Workflow Metamodel - UMLEWM
Workflow, Business process, UML, Metamodel, Activity Diagram, Activity Graph.
Introduction
A business process is a group of logically related tasks, executed to obtain a business result [1]. The Workflow Management Coalition (WfMC) [2], was created with the goal of obtaining a standard for the business processes automation. On the other hand, the UML activity diagram notation supports certain abstraction level in the organizational process modeling. In this section it is shown shortly, the UML-EWM for modeling of workflow process.
A business process is a group of logically related tasks, executed to obtain a result. The specification, analysis and administration of business processes have taken great importance in this last time. This has been caused by a competitive industry necessity, dynamics, where she uses the available resources efficiently. The "Workflow" technologies have given answer to these requirements,
1-4244-0212-3/06/$20.00/©2006 IEEE
Manuel Perez Cota J. Baltasar García Perez-Schofield Universidad de Vigo España {upcota | jbgarcia} @uvigo.es
1151
package to the UML metamodel denominated Workflow Processes [6]. This package extends the concepts of the package Activity Graphs, respecting the standard defined by the WfMC for the definition of workflow processes.
1.1. Workflow A workflow is a business process whose execution is controlled in an automated fashion through the use of software, running on one or more workflow engines. Such system, known as Workflow Management System (WMS), provides the environment where a process definition is interpreted and executed. A similar mechanism is a program code executed by a processor as a computational process. A WMS is capable of interaction with workflow participants and invocation of applications and tools to fulfill the tasks involved in the workflow [3]. The Workflow metamodel describes the more important entities, relationships and attributes that a process definition must to have. A workflow process definition consists of one or more activities, each comprising a logical, self-contained unit of work within the process definition.
2. Software Process Engineering Metamodel Software Process Engineering Metamodel (SPEM) was developed by the OMG. This Metamodel is used to describe a concrete software development process or a family of related software development processes. The purpose of SPEM is to support the definition of software development processes specifically including those processes that involve or mandate the use of UML, such as RUP. The SPEM is in the level M2 of the levels of modeling defined by the OMG. In the core of the SPEM a software development process is collaboration between process roles, activities, and work products [7].
1.2. UML
The SPEM is formed by two groups of packages, the SPEM_Foundation and the SPEM_Extensions. The first is a subset of UML 1.4 that describes the static structure of the model, and the second adds the builders and the semantics required by the engineering of software processes. This way for example inside the SPEM_Foundation we have the Activity_Graph package that defines the way to model control flows through activities, and within the SPEM_Extension we have the ProcessStructure package that defines the main structure of elements on which the description of processes is built.
The Unified Modeling Language (UML) [4], is a standard language for software modeling. UML allows the visualization, specification, construction, and documentation of elements which participate in the system modeling. UML allows the developers to visualize the results of its works in standardized schemes. The UML activity diagrams are used to model computational and organizational process. Using activity diagrams, it is possible to model flow of control among the activities of a process [5]. The UML activity diagram is an example of a tool that may be used to build models of organizational processes.
3. Mapping between SPEM and UML-EWM In this work we propose a mapping between two standardized metamodels, SPEM and UML-EWM based on WfMC. The first provides the elements for the specification of a development process in standardized form, and the second give the specification to model workflow processes standardized in UML. For to establish an effective relationship, in the first place, the components in each metamodel are identified, then their semantics is analyzed at metamodel level. The Table 1 show a comparative table with the main metaclasses of each metamodel. The "activity" concept is fundamental in both metamodels. In SPEM metamodel, the WorkDefinitionis class is used to represent a work piece or executed task. In UML-EWM metamodel the WorkflowActivity metaclass represents the same concept. Some elements that are in UML-EWM, for example the simulation data are not present in the SPEM, because these are characteristic of the workflow processes,
1.3. UML Extended Workflow Metamodel UML-EWM The UML activity diagrams allow the model of organizational processes. The level of detail supported by the activity diagrams is not good enough for modeling the more specific details of a workflow process. For instance, a model of a workflow process requires details intrinsically related to automated processes. Activity diagrams do not support the elements required for expressing such details. In [6], it proposes an extension of the metamodel of the activity diagrams, denominated UML-EWM, with the objective of incorporating the capacity to modeling process workflow. The extension was carried out incorporating new metaclasses to the UML metamodel. The new metaclasses represents present elements in the metamodel Workflow and absent in the UML Metamodel. The result of the extension is the addition from a new
1152
therefore that the Project schedule was added in the column that correspond the SPEM. Accordingly, a mapping has been specified at level of the metaclasses of the metamodels establishing the similarities and differences among them.
In the first place, we have to specify our case of study in the SPEM metamodel, and second we make the mapping to obtain the process in the UML-EWM metamodel.
4.1. SmallRUP
Table 1. Mapping SPEM - UML-EWM SPEM UML-EWM Process Performer, WorkflowParticipant: It represents the participants of ProcessRole: Defines the performer a workflow process. It for a WorkDefintions describes the resources that set. can act as activities performers. WorkDefinition: It WorkflowActivity: It represents a work piece represents an elementary or task executed by a activity that composes a ProcessRole. The workflow process. A metaclass Activity, workflow activity has Phase, Iteration and attributes to specify the LifeCycle inherits from activity control information, WorkDefinition. implementation alternative, performers, and information for the execution and simulation. WorkProduct: WorflowRelevantData: metaclass that They are the variables of the represents any produced process. Commonly, they are thing, consumed or used for the maintenance of modified by the decision data (in conditions). development process. They are also used to pass data between activities or subprocess (parameters). ActivityParameter: A FormalParameter: The WorkDefinition is formal parameters can be related with used as attributes in WorkProduct through processes, applications, and the ActivityParameter in functions and library metaclass. procedures. Project schedule: This SimulationData: Necessary component is not information for the process characteristic of SPEM. simulation The project schedule contains resources and times estimated for each activity
The Rational Unified Process (RUP) is a framework of software process development, and the form of using it depends on the characteristics of the project. In this work a simplified version of the RUP will be used. This version is denominated SmallRUP [8] and consists on a group of activities and artefacts defined for small projects. In the SmallRUP participate four roles, which are responsible for the sixteen activities, of this process. SmallRUP is organized in four phases, where the final objective is to obtain the product software.
4.2. SmallRUP specification based on SPEM To specify the SmallRUP, using SPEM, implies use the SPEM metaclasses, to define the objects model that correspond to SmallRUP. The Figure 1, is a example of the objects diagram, corresponding to the specification of activity "SummaryArchitecture" of SmallRUP in SPEM. In [9] is the complete specification.
Figure 1. Objects Diagrams – SPEM
4.3. Mapping from SmallRUP to UML-EWM Based on the mapping of the metamodels presented in the section 3, and for the concrete case of study SmallRUP, the Figure 2 show the objects diagram corresponding to the activity “SummaryArchitecture”, in the metamodelo UML-EWM. As we mentioned previously, the UML-EWM metamodel requires a group of simulation data. The simulation data cannot be specified in the SPEM. To make a complete mapping, among the metamodels, is defined to the project schedule as the group of simulation data. The schedule will establish times and resources estimated that will need each phase of the development process.
4. Case of study In the previous section, a mapping was presented among the metaclasses of the metamodels SPEM and UML-EWM. This section, show as to apply these, in a case of study.
1153
In the Figures 1 and 2, is possible to see structure equivalence. In the Figure 1 is not present the simulation data.
This implies that any process specified in SPEM can be transformed in a workflow process. Adding the virtues from a process workflow to a development process, allowing this way, the automation of any processes of software development.
Reference [1] Davenport, T.H. and Young, J.E., "The New Industrial Engineering: Information Technology and Business Process Redesign", Sloan Management Review, 1990. [2] Workflow Management Coalition, http://www.wfmc. org; last access, January 11 2005. [3] Work Group 1, Workflow Management Coalition Interface 1: Process Definition Interchange Process Model, Document Number WfMC TC-1016-P - Version 1.1 (Official release), 1999, www.wfmc.org. [4] OMG, "Unified www.omg.org.
Modeling Language Specification",
[5] Bastos, R.M.; Ruiz, D.D.A. Extending UML activity diagram for workflow modeling in production systems System Sciences, 2002. HICSS. Proceedings of the 35th Annual Hawaii International Conference. 7-10 Jan 2002.
Figure 2. Objects diagram – UML-EWM
Conclusions The automation of the business processes inside the industry, occupies a fundamental place due to the competition, the efficiency, and speed, that it requires the world market. The correct development of the activities, good use of the resources, demands as for the production, and to the control they, are vital points for an industry. The development of the software is not out to these demands. Exist at the moment several lines of investigation working in this topic. To the automation necessity, the necessity of the use of standards should also be added to achieve a better understanding and integration with the other technologies. Two specifications were used in this work, the SPEM metamodel for the description of software processes defined by the denominated OMG, and the extension UML-EWM based on WfMC. In this work, is presented a mapping among these two metamodels, allowing that a development process model with SPEM can be modeled inside the UML-EWM, fulfilling the workflow standard.
[6] D. Riesco, M. Uva, E. Acosta, N. Debnath and G. Montejano. “Including workflow concurrent modeling in an extension of the uml activity diagram metamodel”. ACS/IEEE International Conference on Computer Systems and Applications (AICCSA'03), Proceedings published by IEEE Press. Tunisia, July 14-18, 2003. [7] Object Management Group; “Software Process Engineering Metamodel Specification”; An Adopted Specification of the Object Management Group, Inc; Version 1.0 formal/02-11-14; November 2002. [8] Gary Pollice – “Using the RUP for small projects: Expanding upon Extreme Programming”, A Rational Software White Paper – june 17 2003. [9] D. Romero and M. Uva. Of the development processes to the workflow process definition. II Argentine Symposium on Information System (ASIS 2005), JAIIO 34. august 29/30 2005.
1154