Content deleted Content added
Wikification |
|||
Line 1:
[[Image:meta-levels.png|thumb|right|320px|Abstraction level for processes <ref name="Rolland 1993"> C. Rolland. Modeling the Requirements Engineering Process, 3rd European-Japanese Seminar on Information Modelling and Knowledge Bases, Budapest, Hungary, June 1993. </ref>.]]'''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 some predefined problems.
Meta-process support the effort of creating flexible [[process model]]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 <ref name="Rolland 1998" />. == Overview ==
Meta-process modeling focuses on and supports the process of construction [[
▲Meta-process modeling focuses on and supports the process of construction [[Process Model]]s. Its main concern is to improve process models and to make them evolve, which in turn, will support the development of systems <ref name="Rolland 1998"> C. Rolland. A Comprehensive View of Process Engineering. Proceedings of the 10th International Conference CAiSE'98, B. Lecture Notes in Computer Science 1413, Pernici, C. Thanos (Eds), Springer. Pisa, Italy, June 1998. </ref>. This is important due to the fact that “[[Process (general)|Processes]] change with time and so do the [[Process Model]]s underlying them. Thus, new processes and models may have to be built and existing ones improved” <ref name="Rolland 1998" />. “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” <ref name="Rolland 1999"> C. Rolland, N. Prakash, A. Benjamen. A Multi-Model View of Process Modelling. Requirements Engineering. Volume 4, Number 4. Springer-Verlag London Ltd , 1999 </ref> referring to <ref name="Finkelstein 1994"> A. Finkelstein, J. Kramer, B. Nuseibeh (eds). Software process modelling and technology. Wiley, New York, 1994 </ref>.
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.” <ref name="Rolland 1998" />
Line 22 ⟶ 23:
(Example Plihon 1995 <ref name="Plihon 1995">V. Plihon, C. Rolland, Modelling Ways-of-Working, Proc 7th Int. Conf. on Advanced Information Systems Engineering (CAISE), Springer Verlag, 1995</ref> in NATURE (<ref name="NATURE" />) and repository of scenario based approaches accessible on Internet in the CREWS project <ref name="CREWS">[http://sunsite.informatik.rwth-aachen.de/CREWS CREWS project homepage (Cooperative Requirements Engineering With Scenarios)]</ref> <ref name="Rolland 1998b">C. Rolland, C. Ben Achour, C. Cauvet, J. Ralyté, A. Sutcliffe, N.A.M. Maiden, M. Jarke, P. Haumer, K. Pohl, Dubois, P. Heymans, A proposal for a scenario classification framework. To appear in Requirements Engineering Journal 3:1, 1998</ref>)
=== Instantiation ===
Line 36 ⟶ 37:
=== Language ===
Rolland 1998 <ref name="Rolland 1998" /> lists numerous languages for expressing process models used by the software engineering community:
* E3 <ref name="Finkelstein 1994" />
*
* PS-Algol for PWI <ref name="Finkelstein 1994" />)
as well as further computational paradigms:
* [[Petri nets]] in EPOS <ref name="Jacherri 1992" /> and SPADE <ref name="Bandinelli 1993">S. Bandinelli, A. Fugetta, S. Grigoli, Process Modelling in the large with SLANG, Proc. of the 2nd Int. Conf. on Software Process, Berlin, Germany, 1993, pp 75-93.</ref>
*
* ALF <ref name="Benali 1989">K. Benali, N. Boudjlida, F. Charoy, J. C. Derniame, C. Godart, Ph. Griffiths, V. Gruhn, Ph. Jamart, D. Oldfield, F. Oquendo, Presentation of the ALF project, Proc. Int. Conf. on System Development Environments and Factories, 1989.</ref>
* Marvel <ref name="Kaiser 1988">G. E. Kaiser, N. S. Barghouti, P. H. Feiler, R. W. Schwanke, Database Support for Knowledge-Based Engineering Environments, IEEE Expert, 3(2), 1988, pp18-32.</ref>
* EPOS <ref name="Jacherri 1992" />
*
=== Tool support ===
Line 73 ⟶ 74:
The map of the CREWS-L’Ecritoire method looks as follow:
[[Image:process-model.png|thumb|
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''. <ref name="Rolland 1999" />
Line 81 ⟶ 82:
=== Guidelines ===
A guideline “helps in the operationalisation of the selected intention” <ref name="Rolland 1999" />; it is “a set of indications on how to proceed to achieve an objective or perform an activity” <ref name="RobertDict 1995">Le Petit Robert French Dictionary, Dictionnaires Le Robert, France, 1995</ref>. The description of the guidelines is based on the NATURE project’s contextual approach <ref name="NATURE" />, <ref name="Rolland 1995">C. Rolland , C. Souveyet, M. Moreno. An approach for defining ways-of-working. Inform Syst J 1995;20(4)337–359</ref>, <ref name="Grosz 1997">G. Grosz, C. Rolland, S. Schwer et al.. Modelling and engineering the requirements engineering process: an overview of the NATURE approach. Requirements Eng J 1997;2:115–131</ref> and its corresponding enactment mechanism <ref name="Si-Said 1996" /> <ref name="Si-Said 1997">S. Si Said. Guidance for requirements engineering processes. In: Proceedings of the 8th international conference and workshop on ‘database and experts system application’, DEXA’97, Toulouse, 1–5 September 1997</ref>.
Three types of guidelines can be distinguished:
*
*
*
[[Image:SSG1.png|thumb|
[[Image:IAG8.png|thumb|
In our case, the following guidelines – which correspond with the map displayed above – need to be defined:
#ISG-1 Progress from Elicit a goal
#ISG-2 Progress from Conceptualize a Scenario
Line 96 ⟶ 99:
#ISG-4 Progress from Start
▲ [[Image:ISG1.png|thumb|left|300px|Example of an Intention Selection Guideline 1 (ISG-1) <ref name="Rolland 1999" />]]
▲'''Strategy Selection Guidelines (SSG)'''
#SSG-1 Progress to Elicit a goal
#SSG-2 Progress to Conceptualize a Scenario
Line 108 ⟶ 106:
#SSG-5 Progress to Stop
▲[[Image:SSG1.png|thumb|left|400px|Example of an Strategy Selection Guideline 1 (SSG-1) <ref name="Rolland 1999" />]]
▲'''Intention Achievement Guidelines (IAG)'''
#IAG-1 Elicit a goal with case-based strategy
#IAG-2 Elicit a goal with composition strategy
Line 126 ⟶ 119:
#IAG-11 Stop with completeness strategy
The following graph displays the details for the Intention Achievement Guideline 8 (IAG-8).
▲[[Image:IAG8.png|thumb|left|400px|Example of an Intention Achievement Guideline 8 (IAG-8) <ref name="Rolland 1999" />]]
=== 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.” <ref name="Rolland 1999" /> 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.
[[Image:meta-process-model.png|thumb|right|
Colette Rolland describes the meta-model as follow <ref name="Rolland 1999" />:
Line 290 ⟶ 278:
== See also ==
{{multicol}}
* [[Class-Responsibility-Collaboration card]] (CRC)▼
* [[Model Driven Engineering]] (MDE)▼
* [[Code generation]]▼
* [[Domain Specific Language]] (DSL)▼
* [[Data mapping]]▼
* [[Data transformation]] ▼
* [[Domain-specific modelling]] (DSM)▼
* [[Eclipse (software)]]
* [[Generative programming]] (GP)▼
* [[Glossary of Unified Modeling Language terms]]▼
* [[Intentional Programming]] (IP)▼
* [[Language oriented programming]] (LOP)▼
{{multicol-break}}
* [[List of UML tools]]▼
* [[Meta-modeling]]
* [[Meta-Object Facility]]
* [[Model Transformation Language]] (MTL)▼
* [[Model-based testing]] (MBT)
* [[Model-driven architecture]] (MDA)
▲* [[Domain-specific modelling]] (DSM)
* [[Modeling language]]
▲* [[Data transformation]]
* [[Transformation language]] (TL)▼
* [[XML transformation language]] (XTL)▼
▲* [[Model Transformation Language]] (MTL)
* [[Vocabulary-based transformation]]▼
▲* [[Data mapping]]
▲* [[Metadata]]
* [[Modeling perspectives]]
{{
* [[
* [[Object-oriented analysis and design]] (OOAD) ▼
* [[QVT|MOF Queries/Views/Transformations]] (QVT)
* [[
* [[
▲* [[Language oriented programming]] (LOP)
▲* [[Generative programming]] (GP)
▲* [[Intentional Programming]] (IP)
▲* [[Code generation]]
* [[Software factory]]
▲* [[Transformation language]] (TL)
▲* [[Meta-model|Metamodel]]
* [[UML tool]]
▲* [[Meta-modeling|Metamodeling]]
▲* [[Vocabulary-based transformation]]
* [[XMI]]
▲* [[XML transformation language]] (XTL)
▲* [[Object-oriented analysis and design]] (OOAD)
▲* [[Class-Responsibility-Collaboration card]] (CRC)
▲* [[Unified Modeling Language|UML]]
▲* [[UML tool]]
▲* [[List of UML tools]]
▲* [[Glossary of Unified Modeling Language terms]]
▲{{col-end}}
== References ==
|