![Meta-levels](https://upload.wikimedia.org/wikipedia/commons/e/e8/Meta-levels.svg)
Meta-process modeling is a type of
metamodeling
A metamodel or surrogate model is a model of a model, and metamodeling is the process of generating such metamodels. Thus metamodeling or meta-modeling is the analysis, construction and development of the frames, rules, constraints, models and ...
used in
software engineering
Software engineering is a systematic engineering approach to software development.
A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
and
systems engineering
Systems engineering is an interdisciplinary field of engineering and engineering management that focuses on how to design, integrate, and manage complex systems over their enterprise life cycle, life cycles. At its core, systems engineering util ...
for the analysis and construction of models applicable and useful to some predefined problems.
Meta-process modeling supports the effort of creating flexible
process model
The term process model is used in various contexts. For example, in business process modeling the enterprise process model is often referred to as the ''business process model''.
Overview
Process models are processes of the same nature that ar ...
s. 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 model
The term process model is used in various contexts. For example, in business process modeling the enterprise process model is often referred to as the ''business process model''.
Overview
Process models are processes of the same nature that ar ...
s. 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 engineering is a systematic engineering approach to software development.
A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
* Software Process Engineering Metamodel (SPEM) which is defined as a
profile (UML) A profile in the Unified Modeling Language (UML) provides a generic extension mechanism for customizing Unified Modeling Language, UML models for particular Domain model, domains and platforms. Extension mechanisms allow refining standard semantics ...
by the
Object Management Group
The Object Management Group (OMG) is a computer industry standardization, standards consortium. OMG Task Forces develop enterprise integration standards for a range of technologies.
Business activities
The goal of the OMG was a common portabl ...
.
Topics in metadata modeling
There are different techniques for constructing process models. "Construction techniques used in the
information systems
An information system (IS) is a formal, sociotechnical, organizational system designed to collect, process, information storage, store, and information distribution, distribute information. From a sociotechnical perspective, information systems a ...
area have developed independently of those in
software engineering
Software engineering is a systematic engineering approach to software development.
A software engineer is a person who applies the principles of software engineering to design, develop, maintain, test, and evaluate computer software. The term '' ...
. 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
[V. De Antonellis, B. Pernici, P. Samarati. F-ORM METHOD: A methodology for reusing specifications. In Object Oriented Approach in Information Systems. Van Assche F., Moulin B., C Rolland (eds), North Holland, 1991] 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
[CREWS project homepage (Cooperative Requirements Engineering With Scenarios)](_blank)
/ref>)
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,
/ref> 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,[V. Ambriola, M. L. Jaccheri, Definition and Enactment of Oikos software entities, Proc. of the First European Workshop on Software Process Modeling, Milan, Italy, 1991] and PEACE
* PS-Algol for PWI
as well as further computational paradigms:
* Petri nets
A Petri net, also known as a place/transition (PT) net, is one of several mathematical modeling languages for the description of distributed systems. It is a class of discrete event dynamic system. A Petri net is a directed bipartite graph that ...
in EPOS and SPADE
* Rule based paradigm in MERLIN[W. Emmerich, G. Junkermann, W Schafer, MERLIN : knowledge-based process modeling, Proc. of the First European Workshop on Software Process Modeling, Milan, Italy, 1991.]
* 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 tool A metaCASE tool is a type of application software that provides the possibility to create one or more modeling methods, languages or notations for use within the process of software development. Often the result is a modeling tool for that language ...
s (Meta-level Computer Assisted Software Engineering tools).
Often the instantiation technique "has been utilised to build the repository of Computer Aided Method Engineering environments".[G. Merbeth. Maestro II- das intergrierte CASE-system von Softlab, CASE systeme and Werkzeuge (Ed. H. Balzert) BI Wissenschaftsverlag, pp 319-336, 1991]
Example tools for meta-process modeling are:
*Maestro II
* MetaEdit+
*Mentor
Example: "Multi-model view"
Colette Rolland
Colette Rolland (born 1943, in Dieupentale, Tarn-et-Garonne, France) is a French computer scientist and Professor of Computer Science in the department of Mathematics and Informatics at the University of Paris 1 Pantheon-Sorbonne, and a leading ...
(1999) provides an example of a meta-process model which utilizes the instantiation and assembly technique. In the paper the approach is called "Multi-model view" and was applied on the CREWS-L'Ecritoire method. The CREWS-L'Ecritoire method represents a methodical approach for Requirements Engineering
Requirements engineering (RE) is the process of defining, documenting, and maintaining requirements in the engineering design process. It is a common role in systems engineering and software engineering.
The first use of the term ''requirement ...
, "the part of the IS development that involves investigating problems and requirements of the users community and developing a specification of the future system, the so-called conceptual schema.".
Besides the CREWS-L'Ecritoire approach, the multi-model view has served as a basis for representing:
:(a) the three other requirements engineering approaches developed within the CREWS project, Real World Scenes approach, SAVRE approach for scenario exceptions discovery, and the scenario animation approach
:(b) for integrating approaches one with the other and with the OOSE approach
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 (process model) 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'' (marked with ovals) which are connected by ''strategies'' (symbolized through arrows). 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."[Le Petit Robert French Dictionary, Dictionnaires Le Robert, France, 1995] 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 (ISG)'' identify the set of intentions that can be achieved in the next step and selects the corresponding set of either IAGs (only one choice for an intention) or SSGs (several possible intentions).
* ''Strategy Selection Guidelines (SSG)'' guide the selection of a strategy, thereby leading to the selection of the corresponding IAG.
* ''Intention Achievement Guidelines (IAG)'' 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.
In our case, the following guidelines – which correspond with the map displayed above – need to be defined:
;Intention Selection Guidelines (ISG)
#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
;Strategy Selection Guidelines (SSG)
#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
;Intention Achievement Guidelines (IAG)
#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
The following graph displays the details for the Intention Achievement Guideline 8 (IAG-8).
Meta-process map
In the multi-model view as presented in the paper of C. Rolland, the meta-process (the instance of the meta-process model) is "a process for the generation of a path from the map and its instantaneous enactment for the application at hand." While the meta-process model can be represented in many different ways, a map was chosen again as a means to do so. It is not to be mixed up with the map for the process model as presented above.
Colette Rolland
Colette Rolland (born 1943, in Dieupentale, Tarn-et-Garonne, France) is a French computer scientist and Professor of Computer Science in the department of Mathematics and Informatics at the University of Paris 1 Pantheon-Sorbonne, and a leading ...
describes the meta-model as follows:
(Meta-intentions are in bold, meta-strategies in italic – in green in the map.)
"The Start meta-intention starts the construction of a process by selecting a section in the method map which has map intention Start as source. The Choose Section meta-intention results in the selection of a method map section. The Enact Section meta-intention causes the execution of the method map section resulting from Choose Section. Finally, the Stop meta-intention stops the construction of the application process. This happens when the Enact Section meta-intention leads to the enactment of the method map section having Stop as the target.
As already explained in the previous sections, there are two ways in which a section of a method map can be selected, namely by selecting an intention or by selecting a strategy. Therefore, the meta-intention Choose Section has two meta-strategies associated with it, ''select intention'' and ''select strategy'' respectively. Once a method map section has been selected by Choose Section, the IAG to support its enactment must be retrieved; this is represented in he graphby associating the meta-strategy ''automated support'' with the meta-intention, Enact Section."
Sample process
The sample process "Eliciting requirements of a Recycling Machine" is about a method for designing the requirements of recycling facilities. The recycling facilities are meant for customers of a supermarket. The adequate method is obtained through instantiation of the meta-process model on the process model.
The following table displays the stepwise trace of the process to elicit requirements for the recycling machine (from ):
See also
* Automatic programming
In computer science, the term automatic programming identifies a type of computer programming in which some mechanism generates a computer program to allow human programmers to write the code at a higher abstraction level.
There has been little ...
* Class-Responsibility-Collaboration card Class-responsibility-collaboration (CRC) cards are a brainstorming tool used in the design of object-oriented software. They were originally proposed by Ward Cunningham and Kent Beck as a teaching tool but are also popular among expert designersMar ...
(CRC)
* Data mapping
In computing and data management, data mapping is the process of creating data element mappings between two distinct data models. Data mapping is used as a first step for a wide variety of data integration tasks, including:
* Data transformatio ...
* Data transformation
In computing, data transformation is the process of converting data from one format or structure into another format or structure. It is a fundamental aspect of most data integrationCIO.com. Agile Comes to Data Integration. Retrieved from: http ...
* Domain Specific Language
A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging ...
(DSL)
* Domain-specific modeling (DSM)
* Eclipse (software)
Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in (computing), plug-in system for customizing the environment. It is the second-most-popular IDE for Java ...
* Generative programming
In computer science, the term automatic programming identifies a type of computer programming in which some mechanism generates a computer program to allow human programmers to write the code at a higher abstraction level.
There has been little ...
(GP)
* Glossary of Unified Modeling Language terms
Glossary of Unified Modeling Language (UML) terms provides a compilation of ''terminology'' used in all versions of ''UML'', along with their ''definitions''. Any notable distinctions that may exist between versions are noted with the individual e ...
* Intentional Programming
In computer programming, Intentional Programming is a programming paradigm developed by Charles Simonyi that encodes in software source code the precise ''intention'' which programmers (or users) have in mind when conceiving their work. By using ...
(IP)
* KM3
* Language oriented programming (LOP)
* List of UML tools
A ''list'' is any set of items in a row. List or lists may also refer to:
People
* List (surname)
Organizations
* List College, an undergraduate division of the Jewish Theological Seminary of America
* SC Germania List, German rugby union ...
* Metadata
Metadata is "data that provides information about other data", but not the content of the data, such as the text of a message or the image itself. There are many distinct types of metadata, including:
* Descriptive metadata – the descriptive ...
* Meta-modeling technique
A metamodel or surrogate model is a model of a model, and metamodeling is the process of generating such metamodels. Thus metamodeling or meta-modeling is the analysis, construction and development of the frames, rules, constraints, models and ...
* Meta-Object Facility
The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering. Its purpose is to provide a type system for entities in the CORBA architecture and a set of interfaces through which those types can be creat ...
* Method engineering
Method engineering in the "field of information systems is the discipline to construct new methods from existing methods".F. Harmsen & M. Saeki (1996). "Comparison of four method engineering languages". In: Sjaak Brinkkemper et al. (eds.) ''Pr ...
* Model Driven Engineering
Model-driven engineering (MDE) is a software development methodology that focuses on creating and exploiting domain models, which are conceptual models of all the topics related to a specific problem. Hence, it highlights and aims at abstract re ...
(MDE)
* Model Transformation Language (MTL)
* Model-based testing
Model-based testing is an application of model-based design for designing and optionally also executing artifacts to perform software testing or system testing. Models can be used to represent the desired behavior of a system under test (SUT), or ...
(MBT)
* Model-driven architecture
Model Driven Architecture (MDA) is a software design approach for the development of software systems. It provides a set of guidelines for the structuring of specifications, which are expressed as models. Model Driven Architecture is a kind of doma ...
(MDA)
* Modeling language
A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the st ...
* Modeling perspectives A modeling perspective in information systems is a particular way to represent pre-selected aspects of a system. Any perspective has a different focus, conceptualization, dedication and visualization of what the model is representing.
The traditi ...
* Object Constraint Language
The Object Constraint Language (OCL) is a declarative language describing rules applying to Unified Modeling Language (UML) models developed at IBM and is now part of the UML standard. Initially, OCL was merely a formal specification language ex ...
(OCL)
* Object-oriented analysis and design
Object-oriented analysis and design (OOAD) is a technical approach for analyzing and designing an application, system, or business by applying object-oriented programming, as well as using visual modeling throughout the software development proces ...
(OOAD)
* MOF Queries/Views/Transformations (QVT)
* Semantic spectrum
The semantic spectrum (sometimes referred to as the ontology spectrum or the smart data continuum or semantic precision) is a series of increasingly precise or rather semantically expressive definitions for data elements in knowledge representat ...
* Semantic translation
Semantic translation is the process of using semantic information to aid in the translation of data in one representation or data model to another representation or data model. Semantic translation takes advantage of semantics that associate meani ...
* Software factory
A software factory is a structured collection of related software assets that aids in producing computer software applications or software components according to specific, externally defined end-user requirements through an assembly process. A s ...
* Transformation language
A transformation language is a computer language designed to transform some input text in a certain formal language into a modified output text that meets some specific goal.
Program transformation systems such as Stratego/XT, TXL, Tom, DMS, ...
(TL)
* UML tool
A UML tool is a software application that supports some or all of the notation and semantics associated with the Unified Modeling Language (UML), which is the industry standard general-purpose modeling language for software engineering.
''UML tool ...
* Unified Modeling Language
The Unified Modeling Language (UML) is a general-purpose, developmental modeling language in the field of software engineering that is intended to provide a standard way to visualize the design of a system.
The creation of UML was originally m ...
* Vocabulary-based transformation
In metadata, a vocabulary-based transformation (VBT) is a transformation aided by the use of a semantic equivalence statements within a controlled vocabulary.
Many organizations today require communication between two or more computers. Although ...
* XMI
* XML transformation language
An XML transformation language is a programming language designed specifically to transform an ''input'' XML document into an ''output'' document which satisfies some specific goal.
There are two special cases of transformation:
* XML to XML: ...
(XTL)
References
{{DEFAULTSORT:Meta-Process Modeling
Systems engineering
Unified Modeling Language
Software development process
Data modeling