A method to build information systems engineering process metamodels
Introduction
Many information systems engineering method definitions exist. According to Harmsen (1997) “an Information Systems Engineering Method is an integrated collection of procedures, techniques, product descriptions, and tools, for effective, efficient, and consistent support of the IS engineering process” where, according to Booch (1991), a method is “a rigorous process to generate a set of models describing various aspects of software being built using some well-defined notation”. Integration and rigor can best be appropriated by the use of a metamodel that defines the modelling language (to describe the work products) together with a metamodel describing process and producer elements and integrating with the modelling language (e.g. ISO/IEC, 2007). The former metamodel is used to ensure the correctness of the work product models and diagrams whilst the latter metamodel is used to underpin the process model (a.k.a. methodology). Process models offer approaches for developing information systems in a well-disciplined manner. Here, we will consider process modelling in the context of information systems engineering.
An information systems engineering process is a complex endeavour. Cauvet (2006) presents the various arguments for the modelling of an engineering process. It is argued that the process must be modelled in order to depict its various stages, as well as to guide the different actors involved throughout the life cycle. The modelling of a process may also allow the subsequent monitoring of its progress in real time, that is to say its implementation, often called its enactment. Finally, the model allows the recording of what has been done, for reusing the most generic parts or for monitoring and improving the process. Organisations wishing to model their process – as accurately as possible and at all stages of the engineering life cycle – are faced with various problems. For example, the organisationally-agreed process model or methodology should be a good fit to the organisational maturity, skills level, etc. (Henderson-Sellers and Nguyen, 2004). Creating such a methodology is the focus of situational method engineering (SME) (Brinkkemper, 1996). The definition of a process model as might be created using SME should be headed by concepts, rules and relationships; a process metamodel is therefore necessary for instantiating process models. Indeed, the need for industry adoption of metamodels for solving business problems, perhaps using a model-driven engineering (MDE) approach has been recently urged by Forrest (2008) based on his first-hand industry involvement.
Many different process metamodels exist (Harel, 1987, OMG, 2005, OPF, 2005, Potts and Bruns, 1988, Rolland et al., 1995, Rolland et al., 1999); while there are others, such as AS, 2004, OOSPICE, 2002 that include process issues as part of an all-embracing software development methodology. Each of them defines different concepts:
- –
OMG, 2005, OPF, 2005 deal with the concepts of work unit, work definition and roles.
- –
Harel (1987) comprises the concepts of product, state and transition.
- –
Potts and Bruns (1988) includes the concepts of issue, alternative and argument.
- –
Rolland et al. (1995) deals with the concepts of situation and intention.
- –
Rolland et al. (1999) include the concepts of intention and strategy.
Each of these different process metamodels represents a different viewpoint of the information systems engineering process. A viewpoint is a process perspective; it is not necessarily associated with a particular actor or role. Dowson, 1987, Mi and Scacchi, 1996, Rolland, 1998 define the different process metamodel categories, which we consider here as viewpoints. Based on this categorization, we can say that, overall, OMG, 2005, OPF, 2005 are activity-oriented process metamodels, Harel (1987) is a product-oriented process metamodel, Potts and Bruns (1988) is decision-oriented, Rolland et al. (1995) is context-oriented and Rolland et al. (1999) is strategy-oriented. There is obviously a link between these different process metamodels since they represent the same conceptualization but from a different viewpoint. However, these links have never been explicitly defined – a focus of our paper. The correspondences between the different viewpoints should be explicit in order to provide a complete vision of the information systems engineering process. Nowadays, to define a multi-viewpoint information systems engineering process, different process metamodels of the needed viewpoints have to be used, effectively independently, and instantiated since no formalized links exist to show the correspondences between the viewpoints.
Furthermore, some of the existing process metamodels are so large that they can be difficult to understand. Large metamodels thus tend to be only partially used by most process/method engineers. Hence, existing CAME tools based on big metamodels may waste resources.
For very many individual projects, one of these predefined metamodels will be an appropriate fit to the organisational requirements. Indeed, this is the reason that standards, such as those of ISO, exist. However, in many other instances, method engineers need to combine concepts from two or more metamodels, i.e. they need:
- –
Multi-viewpoints and unified process metamodels.
- –
Metamodels fitted to the organisation or project specificities.
Karagiannis and Kühn (2002) advocate the introduction of flexibility into metamodels. Consequently, in this paper, we propose a method that supports the building of fitted, multi-viewpoint and unified process metamodels in order to support the real-life situations when a predetermined, standardized metamodel is inadequate. To parallel SME but at a higher abstraction level, we name this approach as Situational MetaModel Engineering (SMME). This method is based on a process domain metamodel that contains the main concepts of the different existing process metamodels such as work unit, role, strategy, etc. The first phase of the method consists of selecting the needed concepts from the process domain metamodel. A draft process metamodel containing the main concepts of the required process metamodel is produced. The draft process metamodel is then refined and extended in the second phase of the method, mainly using patterns. The method is represented thanks to a pattern system.
The paper is organised as follows: Section 2 presents the different existing process metamodels, a brief synthesis and the main problems encountered. Section 3 describes the phases of the proposed method, selection and refinement, and the resources used: the process domain metamodel and the patterns. Section 4 presents the pattern formalism and the pattern system and Section 5 describes an example. Section 6 discusses the related works and Section 7 concludes this paper.
Section snippets
Existing process metamodels
In this section, we present the different existing process metamodels classified according to the different process viewpoints: activity, product, decision, context and strategy.
The method
In this section, we present the two phases of our method (Hug et al., 2008) and the resources made available to method engineers. The first phase, selection, consists of choosing the main required concepts from the process domain metamodel provided. The second phase, refinement, allows method engineers to refine, complete and extend the draft process metamodel obtained in the first phase, by applying metamodelling patterns and business patterns.
The method representation
In order to represent metamodelling patterns and business patterns homogeneously, we also choose to represent the method phases as process patterns. We use the P-Sigma formalism (Conte et al., 2002) to represent all the patterns. These patterns form a pattern system.
Example
Let us present a situation met by a method engineer in a small business dedicated to information systems engineering. The development team is used to working with the eXtreme Programming method (Beck, 1999), which is an activity-oriented approach. The team would like to add a strategy-oriented approach; consequently, the method engineer has to build a new process metamodel representing:
- –
The intentions of the project and the strategies to achieve them.
- –
A life cycle composed of phases, themselves
Discussion
In this paper, we have presented a method to build process metamodels for information systems engineering, thus supplying the “rigor” element sought by Booch (1991) as noted earlier. In this section, we discuss some works related to the information systems engineering process in terms of modelling levels, coverage of the viewpoints, and thus flexibility and adaptability of the models.
Conclusion
In this paper, we present different existing process metamodels and their main concepts, distinguishing five categories of process metamodels called viewpoints: activity, product, decision, context and strategy. We expose the different problems linked with their use and their capability to fulfil the organisation’s requirements.
For situations when standard metamodels are inadequate, we propose a method to build unified, multi-viewpoint and fitted process metamodels. The two-phase method
Acknowledgments
We would like to express our special thanks to the Association Française des Femmes Diplômées des Universités (AFFDU) of Grenoble branch, for its financial support.
This is contribution number 08/02 of the Centre for Object Technology Applications and Research of the University of Technology, Sydney.
Charlotte Hug is Ph.D. Student in Information Systems at the Laboratory of Informatics of Grenoble (LIG) and Joseph Fourier University (Grenoble, France) where she took her master’s research degree in 2006. Her research areas include information systems engineering, process metamodelling and development methods. She is also junior lecturer at Pierre Mendès France University.
References (60)
Method engineering: engineering of information systems development methods and tools
Inform. Software Technol.
(1996)- et al.
Meta-modelling based assembly techniques for situational method engineering
Inform. Syst.
(1999) Statecharts: a visual formulation for complex systems
Sci. Comput. Program.
(1987)- et al.
A comparison of four process metamodels and the creation of a new generic standard
Inform. Software Technol.
(2005) - et al.
A decision-making pattern for guiding the enterprise knowledge development process
Inform. Software Technol.
(2000) - et al.
An approach for defining ways-of-working
Inform. Syst. J.
(1995) The Timeless Way of Building
(1979)- Atkinson, C., Kühne T., 2001. The Essence of Multilevel Metamodeling, UML’01. LNCS, vol. 2185, Springer, Berlin,...
- Australian Standard, 2004. Standard Metamodel for Software Development Methodologies, AS...
Extreme Programming Explained: Embrace Change
(1999)
Object Oriented Analysis and Design with Application
Iteration in the software process
Design Patterns – Elements of Reusable Object-Oriented Software
Tools for an Extended Object Modelling Environment
ICECCS
Method construction by goal analysis
An ontology for software development methodologies and endeavours
A powertype-based metamodelling framework
Software Syst. Modell.
Methodology enactment using a work product pool approach
J. Syst. Software
Metamodelling for Software Engineering
Situational Method Engineering
Cited by (0)
Charlotte Hug is Ph.D. Student in Information Systems at the Laboratory of Informatics of Grenoble (LIG) and Joseph Fourier University (Grenoble, France) where she took her master’s research degree in 2006. Her research areas include information systems engineering, process metamodelling and development methods. She is also junior lecturer at Pierre Mendès France University.
Agnès Front is an assistant professor at Pierre Mendès France University since 1998. Her research interests concern reuse-based information systems engineering: patterns based approaches, components based development methods, business process and services based development methods, MDE approach. She is co-responsible of the working group MADSI (Méthodes Avancées de Développement de Systèmes d’Information) in theme 3 of GDR I3 and member of the executive committee of INFORSID association.
Dominique Rieu is full professor at Pierre Mendès France University. She is joint director of Laboratory of Informatics of Grenoble (LIG) and vice-president Information System of Pierre Mendès France University. Her research interests concern information systems engineering (reuse, traceability and variability) and development methods (process modelling, process reuse). She is responsible of theme 3 of GDR I3 (engineering for and by models in information systems) and member of INFORSID executive committee.
Brian Henderson-Sellers is the Director of the Centre for Object Technology Applications and Research and Professor of Information Systems at the University of Technology, Sydney (UTS). He is author or editor of 27 books and is well-known for his work in object-oriented and agent-oriented methodologies (MOSES, COMMA, OPEN, OOSPICE, FAME), object-oriented metrics and metamodelling. More recently, he has chaired workshops on these topics at OOPSLA and AOIS (Agent-Oriented Information Systems). He is Editor of the International Journal of Agent-Oriented Software Engineering and on the editorial board of Journal of Object Technology, Software and Systems Modeling and International Journal of Cognitive Informatics and Natural Intelligence. In July 2001, Professor Henderson-Sellers was awarded a Doctor of Science (DSc) from the University of London for his research contributions in object-oriented methodologies.