MDE Glossary – Modeling and model-driven engineering terms

The goal of this glossary is to shed some light on the existing confusion around many of the terms used when talking about model-driven engineering and software modeling in general. We don’t pretend to provide a complete definition of every concept but a short and understandable one that helps the reader to quickly grasp its meaning. For this purpose, we aim to keep each definition under five lines of text and one link for further information

To contribute (either by suggesting new terms to add or providing yourself additional terms+definitions) you can use the GitHub repo for this page or leave a comment below.

A B C D E F G H I J K L M N O P Q R S T U W X Y Z

A

Action Language For Foundational UML : a textual notation for UML behaviors that can be attached to a UML model any place that a UML behavior can be. With Alf, designers can provide a fine-grained specification of the full behaviour of the system at hand. See the Alf specification and this introduction.
Alf : see Action Language For Foundational UML
ATL : see AtlanMod Transformation Language
AtlanMod Transformation Language : a rule-based M2M transformation language and toolkit ( ATL Eclipse Modeling subproject )

B

BPMN : see Business Process Modeling Notation
Business Process Modeling Notation : Modeling language to specify the business processes of an organization

C

Conceptual Modeling : Activity to elicit the conceptual schema of a system
Conceptual Model : See Conceptual Schema
Conceptual Schema : General knowledge about the domain of the system and about the functions it has to perform. This knowledge can be expressed using several models (e.g. structural and behavioral models) written in with the same or different modeling languages.
Conformance : A relationship between models and metamodels. A model conforms to its metamodel if it obeys the syntactic rules defined by the metamodel.
Content model :In the web engineering community, a model describing the business and data objects of a web system, including their properties and relationships.

D

Diagram : Graphical representation of set of related model elements (usually belonging to the same metamodel). Some languages predefined some diagram types like UML (class diagrams, sequence diagrams…).
DSL : see Domain Specific Language
Domain Specific Language : Language specialized to represent the concepts of a concrete domain, in contrast with generic purpose language that aim at being used in any (software) domain.
DSML : see Domain Specific Modeling Language
Domain Specific Modeling Language : Modeling-level DSL.

E

Eclipse Modeling Framework : an Eclipse-based modeling framework and code generation facility for building tools and other applications based on a structured data model. Home page .
EMF : see Eclipse Modeling Framework
EER : see Extended Entity Relationship language
Entity Relationship : a modeling language for describing the static aspects of a Conceptual Schema . Initially proposed by Peter Chen in 1976. Mostly used to in the database field to model database schemas at a conceptual level.
Entity Type : Name of the classifiers used in an ER model, i.e. what we would refer to as classes in the UML world but without the behavioural part.
Entity : Instance of an entity type. Similar to the concept of object in the UML world.
Executable UML : generic name for any approaches aimed at defining UML models with a behavioral specification precise enough to be effectively executed. Through compilation or model interpretation , the models are directly used to run the system. See the current standards and some history.
Extended Entity Relationship : generic name for any of the extensions to the original Entity Relationship language aimed at improving its expressivity (e.g. to add the possibility of defining inheritance relationships between the types).
ER : see Entity Relationship language

F

Foundational UML : Semantics of a foundational subset for Executable UML Models. FUML defines the precise execution semantics for a subset of UML2.
fUML : see Foundational UML standard

G

Graph Transformation : is a declarative, rule-based
technique for expressing model transformations, specially in-place transformations (for simulation, refactoring,…).

H

I

In-place Transformation : a model-to-model transformation where the source and target models are the same (e.g. a transformation that applies a refactoring in the model). The transformation execution can, then, modify directly the input model.

J

K

Kernel Meta Meta Model : An implementation-independent metamodeling language. Metamodels written in KM3 can be exported to other metamodeling languages. Link
KM3 : see Kernel Meta Meta Model .

L

M

Model :An abstract specification of a part of a software system. A model is an utterance of a modeling language.
MDA : see Model-Driven Architecture.
MDD : see Model-Driven Development.
MDE : see Model-Driven Engineering.
MDE : Generic way to refer to all model-driven acronyms (MDA, MDD, MDE,…).
Model-Driven Architecture : MDA is the OMG’s particular vision of MDD and thus relies on the use of OMG standards. Therefore, MDA can be regarded as a subset of MDD (see also: relationship between MDA/MDD/MDE/MBE).
Model-Driven Development: MDD is a development paradigm that uses models as the primary artifact of the development process. Usually, in MDD, the implementation is (semi)automatically generated from the models.
Model-Driven Engineering : Software Engineering paradigm where models play a key role in all engineering activities (forward engineering, reverse engineering, software evolution,…). See the MDE equation .
Metamodel : An intensional definition of a modeling language. It specifies the abstract syntax of the language.
Model :An abstract specification of a part of a software system. A model is an utterance of a modeling language.
Model migration :A transformation that transforms a model that conforms to the old version of the metamodel to the new version of the metamodel.
Modeling Language :A software language to specify models. Its abstract syntax is defined by a metamodel, and its semantics usually defines how to

N

Navigation model : A model describing the user interactions of a web system (e.g., navigation through links and form submission).

O

Object Constraint Language : OMG Standard )(formal) language to complement UML models (and in general any kind of MOF model) with expressions stating invariants, derivation rules, query operations and pre/postconditions on the model that cannot be easily expressed using the graphical UML constructs.
OCL : see Object Constraint Language
OMG : see Object Management Group
Object Management Group : International, open membership, not-for-profit computer industry consortium responsible of several modeling standards like UML , MOF and MDA .

P

Presentation model : A model describing the layout and the look and feel of a web systemÕs interface, as well as the widgets that enable user interactions.

Q

QVT : the OMG standard transformation language specification. It consists in mainly two sublanguages: QVT-Relations (for declarative model-to-model transformations) and QVT-Operations for imperative ones.
QVT Relations : Declarative transformation language defined in the QVT specification where transformations are defined by specifying a set of relations that must hold between the element of the two participant metamodels.
QVT Operational Language: Subset of the QVT standard focusing on the definition of imperative and unidirectional model transformations.
QVT Core: Simpler (and less user friendly) version of the QVT Relations language . Ideally, QVT relations could be mapped to QVT core to facilitate their execution by a transformation engine.

R

(model) refactoring :According to M. Fowler a refactoring is [the process of making] a change to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behaviour. If applied to models, we talk of model refactoring.

S

Software Language: A general term for artificial languages that are used to develop software. A software language consists of an abstract and concrete syntax as well as a semantics.

T

Transformation : operation that receives as input a set of source models and returns as output a set of target models (model-to-model transformations) or text (model-to-text transformations).

U

UML : see Unified Modeling Language
Unified Modeling Language : Object-oriented general purpose modeling language. Still the most popular modeling language nowadays. UML specification
Universal Modeling Language : Wrong interpretation of the UML acronym where the U is assumed to stand for Universal instead of Unified.

V

W

X

xUML : see Executable UML

Y

Z

Z : Formal language/notation for the specification of computing systems. It is based on the standard mathematical notation used in axiomatic set theory, lambda calculus, and first-order predicate logic.

Want to build better software faster?

Want to build better software faster?

Get the latest news in software modeling, model-based and low-code development

Thanks for your interest. Check your inbox and confirm your subscription!

Pin It on Pinterest

Share This