Meta-Process Modeling
The term
Meta-process modeling
as described here belongs to the context of
Information System Development, in specific to the discipline of ‘Method Engineering’ / ‘Situational Method Engineering’, or ‘
Process Engineering
’.
Method Engineering (as a component of case tools architecture) “represents the effort to improve the usefulness of systems development methods by creating an adaptation framework whereby methods are created to match specific organisational situations”
[1]
. Meta-process models are a means to achieve this goal. They support the effort of creating flexible
Process Models
, also known as
Situational Method Engineering.
Meta-process modeling focuses on and supports the process of construction
Process Models
. Its main concern is to improve process models and to make them evolve, which in turn, will support the development of systems
[2]
. 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”
[2]
. “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”
[3]
referring to
[4]
.
Abstraction level for processes
[5]
.
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.”
[2]
Purpose
The purpose of process models is to
- Document and communicate processes
- 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
[2]
.
Techniques
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.”
[2]
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.”
[2]
Process models are then derived from the process meta-models through
instantiation
. Rolland
[2]
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
[6]
, Rolland 1993
[5]
, Rolland 1994
[7]
, and Rolland 1996
[8]
. The process engineer must define the instances of contexts and relationships that comprise the process model of interest.”
[2]
Assembly
The assembly technique is based on the idea of a process repository from which process components can be selected. Rolland 1998
[2]
lists two selection strategies:
- Promoting a global analysis of the project on hand based on contingency criteria (Example Van Slooten 1996 [9] )
- Using the notion of descriptors [10] 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. [11]
(Example Plihon 1995
[12]
in NATURE (
[6]
) and repository of scenario based approaches accessible on Internet in the CREWS project
[13]
[14]
)
“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.”
[2]
Language
Rolland 1998
[2]
lists numerous languages for expressing process models used by the software engineering community:
as well as further computational paradigms:
- Petri nets in EPOS [15] and SPADE [17]
- rule based paradigm in MERLIN [18]
- ALF [19]
- Marvel [20]
- EPOS [15]
- triggers in ADELE [21] and MVP-L [4] ).
“Languages are typically related to process programs whereas instantiation techniques have been used to construct process scripts.”
[2]
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.”
[2]
Tool support
The Meta-modeling process is often supported through software tools, called
CAME tools (Computer Aided Method Engineering) or Meta-CASE tools (Computer Assisted Software Engineering tools on a Meta-level). Often the instantiation technique “has been utilised to build the repository of Computer Aided Method Engineering environments”
[2]
(referring to
[22]
,
[23]
,
[24]
,
[25]
).
Example tools for meta-process modeling are
[1]
:
Example: “Multi-model view”
Colette Rolland (1999
[3]
) 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, “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.” (
[5]
, referring to
[26]
and
[27]
).
Besides the CREWS-L’Ecritoire approach, the multi-model view has served as a basis for representing
[3]
: (a) the three other requirements engineering approaches developed within the CREWS project (Real World Scenes approach
[28]
, SAVRE approach for scenario exceptions discovery
[29]
, and the scenario animation approach
[30]
) (b) for integrating approaches (
[31]
one with the other and with the OOSE approach
[32]
)
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
[3]
. Together, map (process model) and the guidelines form the method. The main source of this explanation is the elaboration of Colette Rolland in
[3]
.
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.”
[3]
The map of the CREWS-L’Ecritoire method looks as follow:
Process model of the CREWS-L’Ecritoire method
[3]
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
.
[3]
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 modelling 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”
[3]
.
Guidelines
A guideline “helps in the operationalisation of the selected intention”
[3]
; it is “a set of indications on how to proceed to achieve an objective or perform an activity”
[33]
. The description of the guidelines is based on the NATURE project’s contextual approach
[6]
,
[34]
,
[35]
and its corresponding enactment mechanism
[25]
[36]
.
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
The following graph displays the details for the Intention Selection Guideline 1 (ISG-1).
Example of an Intention Selection Guideline 1 (ISG-1)
[3]
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
The following graph displays the details for the Strategy Selection Guideline 1 (SSG-1).
Example of an Strategy Selection Guideline 1 (SSG-1)
[3]
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).
Example of an Intention Achievement Guideline 8 (IAG-8)
[3]
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.”
[3]
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.
Meta-process model of the CREWS-L’Ecritoire method
[3]
Colette Rolland describes the meta-model as follow
[3]
: (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 [the graph] by associating the meta-strategy
automated support
with the meta-intention,
Enact Section
.”
Sample process: Eliciting requirements of a Recycling Machine
This sample process 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 though 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
[3]
):
Step
|
Guideline
|
Meta-process
|
Process
|
Product (Goal = Gxx)
|
1.1
|
SSG-4
|
Choose section with select strategy
|
SSG4 suggests two strategies. The template-driven strategy is chosen because it is the most appropriate way to become familiar with the goal formalisation proposed by the CREWS-L’Ecritoire method
|
|
1.2
|
IAG-6
|
Enact section with automated support
|
IAG6 displays a goal statement template and explains the meaning of each parameter. The requirement Engineer (RE) chooses a loose statement having only a verb and a target
|
G1: Provideverb (Recylcing Facilities*) target *RF
|
2.1
|
ISG-1
|
Choose section with select intention
|
ISG1 provides RE with arguments to advise him on choosing one of the two possible intentions from
Elicit a Goal
, namely to
Elicit a Goal
or to
Write a Scenario
. The former is selected so as to generate alternative design solutions
|
|
2.2
|
IAG-1
|
Enact section with automated support
|
IAG1 uses the goal statement structure and parameter values supplied to generate alternative goals. This leads to 21 alternative goals to G1 which are ORed to G1. After discussion with stakeholders, G4 is selected
|
G2: Provide bottle RF to our customers with a card-based machine; G3: Provide paper RF to our customers with a card-based machine; G4: Provide bottle and box RR to our customers with a card-based machine; . . . G22: Provide bottle RF to all customers with money return machine
|
3.1
|
SSG-3
|
Choose section with select strategy
|
SSG3 offers two strategies from which the template-driven strategy is chosen. This is because there is uncertainty about what a scenerio should be. The templates lead to some certainty
|
|
3.2
|
IAG-7
|
Enact section with automated support
|
IAG7 proposes a template to be filled in. The template corresponds to a service scenario and contains actions that express services expected from the system
|
SC4: If the customer gets a card, he recycles objects
|
4.1
|
SSG-2
|
Choose section with select strategy
|
SSG2 offers two strategies to conceptualise a Scenario. Among the two strategies, manual and computer based, the former is chosen since the service scenario (SC4) is very simple and can be handled manually
|
|
4.2
|
IAG-10
|
Enact section with automated support
|
IAG10 suggests two things: (1) to avoid anaphoric references such as he, she, etc. (2) to express atomic actions in an explicit ordering (3) to avoid ambiguities The scenario is rewritten accordingly
|
SC4: 1. The customer gets a card; 2. The customer recycles boxes and bottles
|
5.1
|
SSG-1
|
Choose section with select strategy
|
The RE knows that he wants to analyse the scenario SC4 to discover a new goal. Thus, he knows the target intention ‘Elicit a Goal’ and SSG1 is displayed. SSG1 offers three strategies to discover new goals from scenario analysis. The refinement strategy, is chosen because there is a need to discover the functional requirements of recycling machine
|
|
5.2
|
IAG-4
|
Enact section with automated support
|
IAG4 guides in transforming actions of the service scenario SC4 into goals which express functional requirements. Two goals are generated and related together to G4 with an AND relationship. G24 is selected for further processing
|
G23: Get card from supermarket; G24: Recycle bottles and boxes from RM
|
6.1
|
SSG-3
|
Choose section with select strategy
|
The RE knows his target intention, namely ‘Write a Scenario’. Thus SSG3 is displayed to help the RE in selecting the right strategy. The free prose strategy is selected because the text is likely to be long and the free prose facilitates this
|
|
6.2
|
IAG-8
|
Enact section with automated support
|
IAG8 provides style and contents guidelines adapted to the type of scenario at hand, namely system interaction scenario
|
SC24-1: The customer inserts his card in the RM. The RM checks if the card is valid and then a prompt is given. The customer inputs the bottles and/or boxes in the RM. If the objects are not blocked, the RM ejects the card and prints a receipt
|
7.1
|
SSG-2
|
Choose section with select strategy
|
SSG2 is displayed. The automated support strategy is selected to take advantage of the powerful linguistic devices and obtain a scenario formulation which will be the basis for automated reasoning
|
|
7.2
|
IAG-9
|
Enact section with automated support
|
IAG9 semi-automatically transforms the initial prose into a structured text whose semantics conform to the scenario model. The transformation includes disambiguation, completion and mapping onto the linguistic structures associated to the concepts of the scenario model. SC24-2 is the result of the transformation of SC24-1. (Underlined statements result of the transformation)
|
SC24-2: 1. The customer inserts the customer card in the RM, 2. The RM checks if the card is valid, 3. If the card is valid, 4. A prompt is given to the customer, 5. The customer inputs the bottles and the boxes in the RM, 6. The RM checks if the bottles and the boxes are not blocked, 7. If the bottles and the boxes are not blocked, 8. The RM ejects the card to the customer, 9. The RM prints a receipt to the customer
|
8.1
|
SSG-1
|
Choose section with select strategy
|
Of the three strategies proposed by SSG1, the alternative discovery strategy is chosen. This strategy suits the need to investigate variations and exceptions of the normal course of actions described in SC242
|
|
8.2
|
IAG-3
|
Enact section with automated support
|
IAG3 proposes several tactics to discover alternative goals to G24. The one based on the analysis of conditions in the scenario is selected. This leads to discover G25 and G26
|
G25: Recycle box and bottles from RM with invalid card; G26: Recycle box and bottles with a deblocking phase
|
References
- ^ a b C. Rolland. A Primer for Method Engineering. Proceedings of the INFORSID Conference (INFormatique des ORganisations et Systemes d'Information et de Decision), Toulouse, France, June 10-13, 1997.
- ^ a b c d e f g h i j k l m n 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.
- ^ a b c d e f g h i j k l m n o p q C. Rolland, N. Prakash, A. Benjamen. A Multi-Model View of Process Modelling. Requirements Engineering. Volume 4, Number 4. Springer-Verlag London Ltd , 1999
- ^ a b c d e A. Finkelstein, J. Kramer, B. Nuseibeh (eds). Software process modelling and technology. Wiley, New York, 1994
- ^ a b c C. Rolland. Modeling the Requirements Engineering Process, 3rd European-Japanese Seminar on Information Modelling and Knowledge Bases, Budapest, Hungary, June 1993.
- ^ a b c NATURE project homepage (Novel Approaches to Theories Underlying Requirements Engineering)
- ^ C. Rolland, A Contextual Approach to modeling the Requirements Engineering Process 6th Intl. Conf. on Software Engineering and Knowledge Engineering, Jurmala, Latvia, June, 1994
- ^ C. Rolland, V. Plihon, Using generic chunks to generate process models fragments in Proc. of 2nd IEEE Int. Conf. on Requirements Engineering, ICRE'96, Colorado Spring, 1996
- ^ K. Van Slooten, B. Hodes, Characterising IS development project, IFIP WG 8.1 Conf. on Method Engineering, Chapman and Hall, pp 29-44, 1996
- ^ 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., Rolland C. (eds), North Holland, 1991
- ^ C. Rolland, N. Prakash, A proposal for context-specific method engineering, IFIP WG 8.1 Conf. on Method Engineering, Chapman and Hall, pp 191-208, 1996
- ^ V. Plihon, C. Rolland, Modelling Ways-of-Working, Proc 7th Int. Conf. on Advanced Information Systems Engineering (CAISE), Springer Verlag, 1995
- ^ CREWS project homepage (Cooperative Requirements Engineering With Scenarios)
- ^ 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
- ^ a b c L. Jacherri, J. O. Larseon, R. Conradi, Sotware Process Modelling and Evolution in EPOS, in Proc. of the 4th Int. Conf. on Software Engineering and Knowledge Engineering (SEKE'92), Capri, Italy, 1992, pp574-589.
- ^ 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
- ^ 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.
- ^ W. Emmerich, G. Junkermann, W Schafer, MERLIN: knowledge-based process modeling, Proc. of the First European Workshop on Software Process Modeling, Milan, Italy, 1991.
- ^ 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.
- ^ 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.
- ^ N. Belkhatir, W. L. Melo, Supporting Software Development Processes in Adele2, In the Computer Journal, vol 37, N°7, 1994, pp 621-628.
- ^ a b S. Kelly, K. Lyyttinen, M. Rossi. Meta Edit+: A fully configurable, multi-user and multi-tool CASE and CAME environment, Proc. CAiSE'96 Conf., Springer Verlag, 1996
- ^ F. Harmsen, S. Brinkkemper, Design and implementation of a method base management system for situational CASE environment. Proc. 2nd APSEC Conf., IEEE Computer Society Press, pp 430-438, 1995
- ^ a b G. Merbeth. Maestro II- das intergrierte CASE-system von Softlab, CASE systeme and Werkzeuge (Ed. H. Balzert) BI Wissenschaftsverlag, pp 319-336, 1991
- ^ a b c 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
- ^ J. Hagelstein. Declarative Approach to Information Systems Requirements. In Knowledge-Based Systems, Vol. & No 4, 1988
- ^ E. Dubois, J. Hagelstein, A. Rifaut. Formal Requirements Engineering with ERAE, Philips Journal Research, Vol. & 43, No 4, 1989
- ^ P. Haumer, K. Pohl, K. Weidenhaupt. Requirements elicitation and validation with real world scenes. IEEE Trans Software Eng (Special Issue on Scenario Management) 1998;24(12)
- ^ A.G. Sutcliffe, N.A.M. Maiden, S. Minocha, D. Manuel. Supporting scenario-based requirements engineering. Trans Software Eng (Special Issue on Scenario Management) 1998
- ^ E. Dubois, P. Heymans. Scenario-based techniques for supporting the elaboration and the validation of formal requirements. Requirement Eng J 1998;3(3–4):202–218
- ^ J. Ralyté, C. Rolland, V. Plihon. Method enhancement by scenario based techniques. In: Proceedings of the 11th conference on advanced information systems engineering, Heidelberg, Germany, June 1999
- ^ I. Jacobson, M. Christerson, P. Jonsson, G. Oevergaard. Object oriented software engineering: a use case driven approach. Addison-Wesley, Reading, MA, 1992
- ^ Le Petit Robert French Dictionary, Dictionnaires Le Robert, France, 1995
- ^ C. Rolland , C. Souveyet, M. Moreno. An approach for defining ways-of-working. Inform Syst J 1995;20(4)337–359
- ^ 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
- ^ 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
See also
This entry is from Wikipedia, the leading user-contributed encyclopedia. It may not have been reviewed by professional editors (see
full disclaimer
)
元過程建模Meta-process modeling
元過程是信息系統開發information system development中的概念,特別是method engineering, situational method engineering, process engineering.
Method engineering
描述的是為了改進系統開發方法的有用性所做的努力。Method engineering創建一個具有適應性的框架,并且創造一些方法以適應特定的組織結構。Method engineering是case工具體系結構的一部分。元過程是為了達到這種目標一種方法。元過程對建立靈活的過程模型process models提供支持,這也被稱為situational method engineering。
元過程建模關注的是過程模型的結構的建立過程,并對此提供支持。元過程主要關注于過程模型的改善。通過對過程模型的改進反過來又支持系統的開發。這一點很重要,因為過程總是在變,而過程模型是其基礎。新的過程和模型被建立起來,已存在的則得到改進。因此,我們的關注就是要
提高過程模型的形式化程度
。這樣,在以過程為中心的軟件環境中,過程模型的制定就成為了可能。
過程的元模型就是對過程模型在類型層次上的描述。過程模型就是過程元模型的實例化。
一個元模型可以多次實例化以創建不同的過程模型。過程元模型對一個過程而言是它的元類型層次。(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.”
)
Purpose目標
過程模型的目標:
l
將過程文檔化,并且在過程之間進行交流,通信。
l
增強過程的重用。
因此,過程模型應該是易于講解和執行的。元過程模型的使用能提供過程建模者的效率,以及模型的質量。
技術
有很多技術可以建立過程模型,信息系統的中構造技術的發展是獨立于軟件工程的構造技術的。信息系統中的構造技術采用了元模型的概念,并且有兩個原則性技術:元模型的實例化和元模型的組裝。軟件工程被廣泛使用的構造技術是基于語言的。但是,在軟件工程和信息系統的早期使用的技術都是基于過程創建者的經驗,這種技術是一般中的特殊。
實例化
為了重用過程,元過程模型標識了過程模型中一般的,通用的特征,并表述為一個概念系統。因此,元過程模型具有表達所有具有相同特性的過程模型的能力。當定義了額一個創建技術,并且其應用產生了需要的過程模型,那么元過程模型的這種能力就被實現了。
過程模型通過實例化繼承了元過程模型。Rolland指出了這種實例化的一些優點:
1.
這種元模型的開發可以幫助定義廣大范圍內的過程模型。
2.
使得過程模型的定義活動變得系統化,通用化。
3.
這使得人們從過程元模型中去尋找問題通用的解決方案,這樣從元過程模型繼承的過程模型也可以獲得與方案一樣的特性。
實例化的技術已經在一個名為NATURE的項目中使用。過程創建者必須定義構成過程模型關系的上下文以及關系的實例。
組裝
組合技術是來源于過程庫的想法。Rolland列出了兩種可選的策略:
1.
對已有的項目,基于偶然性原則(contingency criteria?),進行全局性的分析。
2.
以過程的介紹信息為標準來描述過程。這可以減輕獲取符合用戶或條件要求的組件所需要做的工作。
為了讓組裝技術能夠成功,將過程模型模塊化是有必要的。如果組裝技術與實例化技術一起使用,那么元模型本身應該是模塊化的。
語言
Rolland列舉了很多在軟件工程中用來描述過程模型的語言。
l
E3
l
PS-Algol for PWI
[4]
)
以及一些可計算的:
l
rule based paradigm in MERLIN
[18]
l
ALF
[19]
l
Marvel
[20]
l
EPOS
[15]
語言與過程編程密切相關,同時實例化技術已經被用來生成過程腳本。
傳統的過程模型被用來表達開發者的經驗。因為經驗不是形式化的,并且不能做為知識的基礎,所以這些過程模型都是特定的構造技術。這樣造成兩個結果:無法知道這些模型是怎樣被構造出來的;模型是依賴于領域經驗的。如果過程模型是領域無關,并且可以快速生成和修改,那我們就可以從基于經驗的過程模型構造中脫離出來。很明顯,模型的創建和修改與采用的過程管理策略是相關聯的。通過提高模塊化程度,實例化和組裝就可以讓良好的經驗得到更好的利用,加快過程模型的改善。
工具支持
元建模有軟件工具支持,CAME(Computer Aided Method Engineering)工具或元CASE工具。實例化技術已經被用來建立CAME環境的庫。
工具舉例:
l
Maestro II
[24]
l
Mentor
[25]
例子:多模型視圖Multi-model view
關于CAME工具MetaEdit+工具的介紹:
MetaEdit+
首先是一個可以自己創建
領域相關的建模語言
的工具,其次是支持該自建建模語言的工具。
從一個例子來講:有一個家譜如下,為了描述家譜,現在創建一個家譜建模語言。
MetaEdit+使用的方式稱為GOPPRR
G
raph,分別代表的是
O
bject,
P
roperty,
P
ort,
R
elationship and
R
ole。Objec是其核心。
對本例來說,首先利用提供的工具要創建一個代表人的object,比如person,并且定義person的屬性。
第二步,創建表示person的圖符。
第三步,創建person與person之間可能存在的關系,比如父子。注意到存在于一個關系中的兩者是有角色這個問題的。比如在父子關系中,一邊是父親的角色,一邊是子的角色。所以,同時還要創建角色。
這樣,我們就有了為家譜建模所需的元模型的片斷了。想象一下,為家譜建模的這個語言應該是什么樣子的?一個圖符式的表達方式是比較自然的方式了。那么就要將家譜建模語言定義下來。
GOPPRR中用graph來對應建模語言的類型(家譜建模語言)。
第四步,根據MetaEdit+的向導,將前面定義過的家譜建模語言的片斷編譯成一個完整的建模語言。編譯之后,可能就是一個graph。假設將家譜建模語言定義為Family Tree。
第五步,如果還要定義更復雜的問題,會用到port的概念。
下面來使用定義的家譜建模語言Family Tree:
第一步,選擇已定義的家譜建模語言Family Tree。
第二步,建立一個實例。
第三步,在MetaEdit+提供的可視化環境中定義一個具體的家譜。
定義的過程包括:
(1)
加入object。
(2)
加入關系
(3)
產生一個關于該家譜實例的html報告(還有其他形式可選),可以看到。
上面這個html報告是用預定義的生成器generator來生成的。當然,定義自己的生成器是很有必要的。
比如,進入生成器定義界面可以做如下定義:
Report 'My HTML report'
foreach .()
{
id
newline
}
endreport
這樣,生成的輸出就是:
由此,我們定義一個家譜建模語言,并且生成了一個家譜實例,并且以某種方式將其輸出了。這些介紹只是簡單的入門,根據其宣傳詞,MetaEdit+具有如下強大的功能:
your domain-->
your model--> your code
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
