Modeling language: Difference between revisions
→Applications: lay out |
→Examples: A to Z + added LePUS3 |
||
Line 15: | Line 15: | ||
== Examples == |
== Examples == |
||
Example of modelling languages are: |
Example of modelling languages are: |
||
⚫ | |||
⚫ | |||
⚫ | |||
⚫ | * [[Petri net]]s use variations on exactly one diagramming technique and topology, namely the [[bipartite graph]]. The simplicity of its basic user interface easily enabled extensive tool support over the years, particularly in the areas of model checking, graphically-oriented simulation, and software verification. |
||
⚫ | |||
⚫ | |||
* [[EAST-ADL]] is a [[Domain-Specific Modeling]] language dedicated to Automotive system design. |
* [[EAST-ADL]] is a [[Domain-Specific Modeling]] language dedicated to Automotive system design. |
||
* [[Energy Systems Language]] (ESL), a language that aims to model ecological energetics & global economics. |
* [[Energy Systems Language]] (ESL), a language that aims to model ecological energetics & global economics. |
||
⚫ | |||
⚫ | |||
* [[Fundamental Modeling Concepts]] (FMC) modeling language for software-intensive systems. |
* [[Fundamental Modeling Concepts]] (FMC) modeling language for software-intensive systems. |
||
* [[Gellish English]], a structured subset of natural English, which includes a [[Gellish English dictionary]] and in which facts are expressed in a standardised Gellish Database Table |
* [[Gellish English]], a structured subset of natural English, which includes a [[Gellish English dictionary]] and in which facts are expressed in a standardised Gellish Database Table.<ref>[http://gellish.wiki.sourceforge.net/Gellish+Database Gellish Database Table ]</ref> Gellish English is not a meta language, but integrates and upper ontology with domain ontologies in one language. |
||
⚫ | |||
* [[Lepus3|LePUS3]] is an [[object-oriented]] visual Design Description Language and a [[formal specification]] language that is suitable primarily for modelling large object-oriented ([[Java (programming language)|Java]], [[C++]], [[C Sharp (programming language)|C#]]) programs and [[design patterns]]. |
|||
⚫ | * [[Petri net]]s use variations on exactly one diagramming technique and topology, namely the [[bipartite graph]]. The simplicity of its basic user interface easily enabled extensive tool support over the years, particularly in the areas of model checking, graphically-oriented simulation, and software verification. |
||
⚫ | |||
⚫ | |||
== Applications == |
== Applications == |
Revision as of 20:08, 19 September 2008
A modeling language is any artificial language that can be used to express information or knowledge or systems in a structure that is defined by a consistent set of rules. The rules are used for interpretation of the meaning of components in the structure.
Overview
A modeling language can be graphical or textual.[1]
- Graphical modeling languages use a diagram techniques with named symbols that represent concepts and lines that connect the symbols and that represent relationships and various other graphical annotation to represent constraints.
- Textual modeling languages typically use standardised keywords accompanied by parameters to make computer-interpretable expressions.
An example of a graphical modeling language and a corresponding textual modeling language is EXPRESS-G and EXPRESS (ISO 10303-11).
Not all modeling languages are executable, and for those that are, the use of them doesn't necessarily mean that programmers are no longer required. On the contrary, executable modeling languages are intended to amplify the productivity of skilled programmers, so that they can address more challenging problems, such as parallel computing and distributed systems.
A large number of modeling languages appear in the literature.
Examples
Example of modelling languages are:
- Business Process Modeling Notation (BPMN, and the XML form BPML) is an example of a Process Modeling language.
- EAST-ADL is a Domain-Specific Modeling language dedicated to Automotive system design.
- Energy Systems Language (ESL), a language that aims to model ecological energetics & global economics.
- EXPRESS and EXPRESS-G (ISO 10303-11) is an international standard general-purpose data modeling language. It is used among others to specify various ISO standard data models, such as the application protocols of ISO 10303 (STEP), ISO 13584, ISO 15926 and others.
- Fundamental Modeling Concepts (FMC) modeling language for software-intensive systems.
- Gellish English, a structured subset of natural English, which includes a Gellish English dictionary and in which facts are expressed in a standardised Gellish Database Table.[2] Gellish English is not a meta language, but integrates and upper ontology with domain ontologies in one language.
- IDEF is a family of modeling languages, the most notable of which include IDEF0, for functional modeling, and IDEF1 for information modeling.
- LePUS3 is an object-oriented visual Design Description Language and a formal specification language that is suitable primarily for modelling large object-oriented (Java, C++, C#) programs and design patterns.
- Petri nets use variations on exactly one diagramming technique and topology, namely the bipartite graph. The simplicity of its basic user interface easily enabled extensive tool support over the years, particularly in the areas of model checking, graphically-oriented simulation, and software verification.
- SysML is a Domain-Specific Modeling language for systems engineering that is defined as a UML profile (customization).
- Unified Modeling Language (UML) is a general-purpose modeling language that is an industry standard for specifying software-intensive systems. UML 2.0, the current version, supports thirteen different diagram techniques, and has widespread tool support.
Applications
Various kinds of modeling languages are applied in different disciplines, including computer science, information management, business process modeling, software engineering, and systems engineering. Modeling languages can be used to specify:
- system requirements,
- structures and
- behaviors.
Modeling languages are intended to be used to precisely specify systems so that stakeholders (e.g., customers, operators, analysts, designers) can better understand the system being modeled.
The more mature modeling languages are precise, consistent and executable. Informal diagramming techniques applied with drawing tools are expected to produce useful pictorial representations of system requirements, structures and behaviors, but not much else. Executable modeling languages applied with proper tool support, however, are expected to automate system verification, validation, simulation and code generation from the same representations.
See also
- Model-driven engineering (MDE)
- Metamodeling
- Model Driven Architecture (MDA is an OMG Trademark)
- Model-based testing (MBT)
- Object modeling language
- Analogical models
- Service-Oriented Modeling Framework (SOMF)
References
- ^ Xiao He ea., A metamodel for the notation of graphical modeling languages, in: Computer Software and Applications Conference, 2007. COMPSAC 2007 - Vol. 1. 31st Annual International, Volume 1, Issue , 24-27 July 2007 Page(s):219 - 224.
- ^ Gellish Database Table