Glossary

Model Driven Development (MDD)
Model Driven Software Development (MDSD)
Model Driven Engineering (MDE)
Model
General purpose modeling
Domain specific modeling
Meta model
Model transformation
Change propagation
Model validation
Model checking (or: model testing)
Ontology
Model driven Architecture (MDA)
Computation Independent Model (CIM)
Platform Independent Model (PIM)
Platform Specific Model (PSM)
Query View Transformation (QVT)
Code generation
Round trip engineering
Formal Language
Syntax / Notation
Semantics
General purpose language (GPL)
Domain specific language (DSL)
Textual language
Graphical Language
Backus–Naur Form (BNF)
Business Process Execution Language (BPEL)
Business Process Modelling Notation (BPMN)
Meta Object Facility (MOF)
Object Constraint Language (OCL)
Unified Modeling Language (UML)
XML Process Definition Language (XPDL)

Model Driven Development (MDD)

A software development methodology which focuses on creating models, or abstractions of something more tangible, that describes the elements of a system. Primary targets are increasing the productivity of developers, enhancing collaboration in multi/disciplinary teams and shortening application development cycles. MDD is a trademark of the OMG which is often associated with MDA & UML.

Back to top

Model Driven Software Development (MDSD)

Refers to the practice of model driven software development. Term often used instead of Model Driven Development (MDD) since OMG has trademarks on several “Model Driven *” and “Model Based *” phrases - including MDD.

Back to top

Model Driven Engineering (MDE)

Term is used in a similar way as Model Driven Software Development

Back to top

Model

A simplified or abstract description or representation of reality.

Back to top

General purpose modeling

Modelling software using generic model definitions. (see general purpose language)

Back to top

Domain specific modeling

Modelling software using specific model definitions. (see domain specific language)

Back to top

Meta model

A model of a model, you could call it a model definition.

Back to top

Model transformation

The notion of model transformation is central to Model Driven Engineering. A model transformation takes as input a model conforming to a given metamodel and produces as output another model conforming to a given metamodel.

Back to top

Change propagation

The non-destructive translation of the change in the source model to the target model.

Back to top

Model validation

The validation of a model to check if it does not contain errors. These can be both semantic or syntax based errors (see formal languages -> semantic and syntax). Note: Meta models are often used to validate the models.

Back to top

Model checking (or: model testing)

Testing software using test cases, whereby the test cases are derived from a model.

Back to top

Ontology

The concept ontology originates in philosophy and is often used in information science. An ontology is a list of concepts and there relations among each other. Ontology models are is often used to specify the domain of other models.

Back to top

Model driven Architecture (MDA)

Model-driven architecture (MDA) is a software design approach for the development of software systems launched by the Object Management Group (OMG) in 2001.[1] The Model-Driven Architecture approach defines system functionality using a platform-independent model (PIM) using an appropriate domain-specific language. Then, given a platform definition model (PDM), the PIM is translated to one or more platform-specific models (PSMs) that a computer can run (e.g. Java, .NET).

Back to top

Computation Independent Model (CIM)

This is a model used to the define high-level functionality of a system. When defining such a model, one should not think about technological implications. CIM are often created by non-technical specialists, such business analysts.

Back to top

Platform Independent Model (PIM)

A platform independent model is a technical implementation of a CIM, although it only provides definitions that are independent of the underlying technical (execution) platform.

Back to top

Platform Specific Model (PSM)

A platform specific model is an executable model which results in the desired application. This model depends on an execution platform such as Java or .Net framework.

Back to top

Query View Transformation (QVT)

This is a method to transform one model into another model. This method uses metamodels to define the transformations.

Back to top

Code generation

A technique to generate source code based on models using code generation tools

Back to top

Round trip engineering

A technique that besides code generation also provides the option to translate generated source code back to a model. Note: The difficulty in round trip engineering is to cope with manual changes in the source code. In theory, these changes should also be fed back into the model

Back to top

Formal Language

A formal language is a language which can be interpreted by an application. One of the properties of a formal language is that it contains no ambiguity. A sentence can only be interpreted in one way only which relates to the semantics of the language. Just like a natural language a formal language has some form of grammar (e.g. ´how do I write meaningful sentences? ´) which relates to the syntax of the language. There are different types of languages; some languages have a very much focussed purpose whereas other languages can be used for multiple purposes.

Back to top

Syntax / Notation

The syntax of a formal language refers to the rules and principles that define sentences. It could be compared with the grammar of a natural language. Within graphical languages this is often called the notation.

Back to top

Semantics

The semantics of a language refers to the meaning or logic of a sentence. In other words the way the sentence is being interpreted.

Back to top

General purpose language (GPL)

A language which can be used in many domains. Note: Due to generic nature of a general purpose language the implementation of a GPL to a specific domain can require a lot of time.

Back to top

Domain specific language (DSL)

A language focused on one problem domain. Note: By focussing on only one domain these languages can be more efficiently applied then general purpose languages, however when your problem exceeds the domain of the DSL, multiple DSL’s need to be combined.

Back to top

Textual language

A language based on words and sentences. Most formal languages are textual.

Back to top

Graphical Language

A language based on symbols and models. These language gain popularity because they are more easily be understood by a wider audience.

Back to top

Backus–Naur Form (BNF)

A standard indirectly related to MDD, it describes the syntax of a formal language.

Back to top

Business Process Execution Language (BPEL)

Is the short name of web service business process execution language (WS-BPEL). A language used to describe business processes based on web services.

Back to top

Business Process Modelling Notation (BPMN)

This is a notation on how to graphically model business processes. Note: A notation says nothing about the semantics of the modelled process (see formal languages > syntax / notation)

Back to top

Meta Object Facility (MOF)

A standard to define meta models.

Back to top

Object Constraint Language (OCL)

A language to define rules that apply to UML models. Note: OCL is an important element for QVT transformations.

Back to top

Unified Modeling Language (UML)

This is a graphical general purpose language defined by the OMG. It contains multiple models such as a class diagram, sequence diagram, use case diagram etc. to cope with many dimensions of software engineering. Today UML is one of the most important modelling languages within ICT.

Back to top

XML Process Definition Language (XPDL)

A XML based language to store business processes. XPDL can also store graphical elements such as positions and sizes of objects. Note: a process model based on BPMN can be stored as XPDL.

Back to top