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 (SPEM) which is defined as a profile (UML) by the Object Management Group.
Topics in metadata modeling There are different techniques for constructing process models. "Construction techniques used in the information systems area have developed independently of those in software engineering. In information systems, construction techniques exploit the notion of a meta-model and the two principal techniques used are those of instantiation and assembly. In software engineering the main construction technique used today is language-based. However, early techniques in both, information systems and software engineering were based on the experience of process engineers and were, therefore, ad hoc in nature."
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 (see Usage World). 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 (1998) lists two selection strategies:
Promoting a global analysis of the project on hand based on contingency criteria (Example Van Slooten 1996) 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. (Example Plihon 1995 in NATURE and repository of scenario based approaches accessible on Internet in the CREWS project) For the assembly technique to be successful, it is necessary that process models are modular. If the assembly technique is combined with the instantiation technique then the meta-model must itself be modular.
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. "The instantiation technique has been used, for example, in NATURE, Rolland 1993, Rolland 1994, and Rolland 1996. The process engineer must define the instances of contexts and relationships that comprise the process model of interest."
Language Rolland (1998) 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 as well as further computational paradigms:
Petri nets in EPOS and SPADE Rule based paradigm in MERLIN ALF Marvel EPOS Triggers in ADELE and MVP-L. Languages are typically related to process programs whereas instantiation techniques have been used to construct process scripts.
Tool support The meta-modeling process is often supported through software tools, called CAME tools (Computer Aided Method Engineering) or MetaCASE tools (Meta-level Computer Assisted Software Engineering 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
… excerpt ends here. Continue reading the full article.

![Meta-process modeling: Abstraction level for processes.[1]](https://upload.wikimedia.org/wikipedia/commons/thumb/e/e8/Meta-levels.svg/500px-Meta-levels.svg.png?utm_source=en.wikipedia.org&utm_campaign=parser&utm_content=thumbnail)
![Meta-process modeling: Process model of the CREWS-L'Ecritoire method[3]](https://upload.wikimedia.org/wikipedia/en/thumb/5/56/Process-model.png/500px-Process-model.png?utm_source=en.wikipedia.org&utm_campaign=parser&utm_content=thumbnail)
![Meta-process modeling: Example of an Intention Selection Guideline 1 (ISG-1)[3]](https://upload.wikimedia.org/wikipedia/en/thumb/2/23/ISG1.png/330px-ISG1.png?utm_source=en.wikipedia.org&utm_campaign=parser&utm_content=thumbnail)
![Meta-process modeling: Example of a Strategy Selection Guideline 1 (SSG-1)[3]](https://upload.wikimedia.org/wikipedia/en/thumb/d/d8/SSG1.png/500px-SSG1.png?utm_source=en.wikipedia.org&utm_campaign=parser&utm_content=thumbnail)
![Meta-process modeling: Example of an Intention Achievement Guideline 8 (IAG-8)[3]](https://upload.wikimedia.org/wikipedia/en/thumb/e/ea/IAG8.png/500px-IAG8.png?utm_source=en.wikipedia.org&utm_campaign=parser&utm_content=thumbnail)
