Meta-process modeling
Meta-process modeling is a type of metamodeling used in software engineering and systems engineering for the analysis and construction of models applicable and useful to some predefined problems.
Meta-process modeling supports the effort of creating flexible process models. The purpose of process models is to document and communicate processes and to enhance the reuse of processes. Thus, processes can be better taught and executed. Results of using meta-process models are an increased productivity of process engineers and an improved quality of the models they produce.
Overview
Meta-process modeling focuses on and supports the process of constructing process models. Its main concern is to improve process models and to make them evolve, which in turn, will support the development of systems. This is important due to the fact that "processes change with time and so do the process models underlying them. Thus, new processes and models may have to be built and existing ones improved". "The focus has been to increase the level of formality of process models in order to make possible their enactment in process-centred software environments".A process meta-model is a meta model, "a description at the type level of a process model. A process model is, thus, an instantiation of a process meta-model. A meta-model can be instantiated several times in order to define various process models. A process meta-model is at the meta-type level with respect to a process."
There exist standards for several domains:
- Software engineering
- Software Process Engineering Metamodel which is defined as a profile by the Object Management Group.
Topics in metadata modeling
Ad hoc
"Traditional process models are expressions of the experiences of their developers. Since this experience is not formalised and is, consequently, not available as a fund of knowledge, it can be said that these process models are the result of an ad hoc construction technique. This has two major consequences: it is not possible to know how these process models were generated, and they become dependent on the domain of experience. If process models are to be domain independent and if they are to be rapidly generable and modifiable, then we need to go away from experience based process model construction. Clearly, generation and modifiability relate to the process management policy adopted. Instantiation and assembly, by promoting modularization, facilitate the capitalisation of good practice and the improvement of given process models."Assembly
The assembly technique is based on the idea of a process repository from which process components can be selected. Rolland lists two selection strategies:- Promoting a global analysis of the project on hand based on contingency criteria
- Using the notion of descriptors as a means to describe process chunks. This eases the retrieval of components meeting the requirements of the user / matching with the situation at hand.
Instantiation
For reusing processes a meta-process model identifies "the common, generic features of process models and represents them in a system of concepts. Such a representation has the potential to 'generate' all process models that share these features. This potential is realised when a generation technique is defined whose application results in the desired process model."Process models are then derived from the process meta-models through instantiation. Rolland associates a number of advantages with the instantiation approach:
- The exploitation of the meta-model helps to define a wide range of process models.
- It makes the activity of defining process models systematic and versatile.
- It forces to look for and introduce, in the process meta-model, generic solutions to problems and this makes the derived process models inherit the solution characteristics.
Language
Rolland lists numerous languages for expressing process models used by the software engineering community:- E3
- Various Prolog dialects for EPOS, Oikos, and PEACE
- PS-Algol for PWI
- Petri nets in EPOS and SPADE
- Rule based paradigm in MERLIN
- ALF
- Marvel
- EPOS
- Triggers in ADELE and MVP-L.
Tool support
The meta-modeling process is often supported through software tools, called CAME tools or MetaCASE tools.Often the instantiation technique "has been utilised to build the repository of Computer Aided Method Engineering environments".
Example tools for meta-process modeling are:
- Maestro II
- MetaEdit+
- Mentor
Example: "Multi-model view"
Besides the CREWS-L'Ecritoire approach, the multi-model view has served as a basis for representing:
Furthermore, the CREWS-L'Ecritoire utilizes process models and meta-process models in order to achieve flexibility for the situation at hand. The approach is based on the notion of a labelled graph of intentions and strategies called a map as well as its associated guidelines. Together, map and the guidelines form the method.
The main source of this explanation is the elaboration of Rolland.
Process model / map
The map is "a navigational structure which supports the dynamic selection of the intention to be achieved next and the appropriate strategy to achieve it"; it is "a process model in which a nondeterministic ordering of intentions and strategies has been included. It is a labelled directed graph with intentions as nodes and strategies as edges between intentions. The directed nature of the graph shows which intentions can follow which one."The map of the CREWS-L'Ecritoire method looks as follow:
The map consists of goals / intentions which are connected by strategies. An intention is a goal, an objective that the application engineer has in mind at a given point of time. A strategy is an approach, a manner to achieve an intention. The connection of two goals with a strategy is also called section.
A map "allows the application engineer to determine a path from Start intention to Stop intention. The map contains a finite number of paths, each of them prescribing a way to develop the product, i.e. each of them is a process model. Therefore the map is a multi-model. It embodies several process models, providing a multi-model view for modeling a class of processes. None of the finite set of models included in the map is recommended 'a priori'. Instead the approach suggests a dynamic construction of the actual path by navigating in the map. In this sense the approach is sensitive to the specific situations as they arise in the process. The next intention and strategy to achieve it are selected dynamically by the application engineer among the several possible ones offered by the map. Furthermore, the approach is meant to allow the dynamic adjunction of a path in the map, i.e. adding a new strategy or a new section in the actual course of the process. In such a case guidelines that make available all choices open to handle a given situation are of great convenience. The map is associated to such guidelines".
Guidelines
A guideline "helps in the operationalisation of the selected intention"; it is "a set of indications on how to proceed to achieve an objective or perform an activity." The description of the guidelines is based on the NATURE project's contextual approach and its corresponding enactment mechanism.Three types of guidelines can be distinguished:
- Intention Selection Guidelines identify the set of intentions that can be achieved in the next step and selects the corresponding set of either IAGs or SSGs.
- Strategy Selection Guidelines guide the selection of a strategy, thereby leading to the selection of the corresponding IAG.
- Intention Achievement Guidelines aim at supporting the application engineer in the achievement of an intention according to a strategy, are concerned with the tactics to implement these strategies, might offer several tactics, and thus may contain alternative operational ways to fulfil the intention.
;Intention Selection Guidelines
- ISG-1 Progress from Elicit a goal
- ISG-2 Progress from Conceptualize a Scenario
- ISG-3 Progress from Write a scenario
- ISG-4 Progress from Start
- SSG-1 Progress to Elicit a goal
- SSG-2 Progress to Conceptualize a Scenario
- SSG-3 Progress to Write a scenario
- SSG-4 Progress to Elicit a goal
- SSG-5 Progress to Stop
- IAG-1 Elicit a goal with case-based strategy
- IAG-2 Elicit a goal with composition strategy
- IAG-3 Elicit a goal with alternative strategy
- IAG-4 Elicit a goal with refinement strategy
- IAG-5 Elicit a goal with linguistic strategy
- IAG-6 Elicit a goal with template-driven strategy
- IAG-7 Write a scenario with template-driven strategy
- IAG-8 Write a scenario in free prose
- IAG-9 Conceptualize a Scenario with computer support strategy
- IAG-10 Conceptualize a Scenario manually
- IAG-11 Stop with completeness strategy