ArticleslgStudy

computer science

Meta-process modeling

Meta-process modeling is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Meta-process modeling rather than just read about it. In short: 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.

Meta-process modeling — main illustration
Meta-process modeling — illustration

Key takeaways

  • Meta-process modeling belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Meta-process modeling to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Meta-process modeling from memory before moving on to harder problems.

Reference excerpt

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.

Illustrations

Meta-process modeling: Abstraction level for processes.[1]
Abstraction level for processes.[1]
Meta-process modeling: Process model of the CREWS-L'Ecritoire method[3]
Process model of the CREWS-L'Ecritoire method[3]
Meta-process modeling: Example of an Intention Selection Guideline 1 (ISG-1)[3]
Example of an Intention Selection Guideline 1 (ISG-1)[3]
Meta-process modeling: Example of a Strategy Selection Guideline 1 (SSG-1)[3]
Example of a Strategy Selection Guideline 1 (SSG-1)[3]
Meta-process modeling: Example of an Intention Achievement Guideline 8 (IAG-8)[3]
Example of an Intention Achievement Guideline 8 (IAG-8)[3]

Worked examples

Example 1 — a first encounter with Meta-process modeling

Start with the simplest possible case. Write down what Meta-process modeling claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Meta-process modeling before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Meta-process modeling ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Meta-process modeling

In research
Meta-process modeling appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Meta-process modeling in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Meta-process modeling is common in secondary-school and first-year university syllabi. It links to neighbouring topics Data modeling, Software development process, Systems engineering, so understanding it makes those chapters shorter.
In everyday life
Look for Meta-process modeling outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Meta-process modeling in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Meta-process modeling means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Meta-process modeling out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Meta-process modeling in simple terms?

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.

Why does Meta-process modeling matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Meta-process modeling?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Meta-process modeling.

Tags

  • Data modeling
  • Software development process
  • Systems engineering
  • Unified Modeling Language

Keep exploring