Modellierungssprache
# Modellierungssprache

In der Informatik und verwandten Gebieten des Informationsmanagements oder des Prozessmanagements ermöglichen Modellierungssprachen Softwareentwicklern, Systemanalytikern oder Systemarchitekten, die Anforderungen an ein Organisationssystem oder ein Softwaresystem sowie dessen Strukturen und inneren Abläufe auf einer höheren Abstraktionsebene festzulegen. Diese Sprachen versuchen eine Spezifikation für das Management, Benutzer und andere Beteiligte durch Darstellung in Diagrammform möglichst verständlich zu machen.

Jede Modellierungssprache verfügt über eine festgelegte Syntax, die über eine Grammatik oder ein Metamodell beschrieben werden kann.

Betrachtet man die immer größer werdende Komplexität von Softwaresystemen, so ist die Nützlichkeit von Modellierungssprachen unbestritten.

## Gängige Modellierungssprachen

Eine große Zahl von Modellierungssprachen erscheinen in der Literatur. Die am weitesten verbreiteten stellen ein breites Spektrum an Werkzeugen zur Verarbeitung bereit.

* Business Process Model and Notation (BPMN) (engl. für Modell und Notation für Geschäftsprozesse)
* Entity-Relationship-Modell im Rahmen der semantischen Datenmodellierung
* Ereignisgesteuerte Prozesskette (EPK) (auf Engl. Event-driven Process Chain (EPC))
* Funktionsplan nach ISO EN 61131-3
* Verteilte Steuerungssysteme nach ISO EN 61499
* IDEF (Integrierte Definition)
* Petri-Netze (benannt nach Carl Adam Petri)
* Programmablaufplan nach DIN 66001
* Specification and Description Language (engl. für Spezifikations- und Beschreibungssprache)
* SysML (System-Modellierungssprache)
* Unified Modeling Language (UML) (engl. für Vereinheitlichte Modellierungssprache)
* WS-Business Process Execution Language (engl. für WS-Ausführungssprache für Geschäftsprozesse)

Neben den allgemeinen Modellierungssprachen gibt es auch spezielle Modellierungssprachen, die in bestimmten Branchen zum Einsatz kommen können (z. B. EAST-ADL im Automobilbereich oder die PICTURE-Methode in der öffentlichen Verwaltung).

## Ausführbare Programme aus Modellen

Es gibt Modellierungssprachen, mit denen man ausführbare Programme oder Programmfragmente erzeugen kann. Für manche Modellierungssprachen gibt es Werkzeuge, die Quellcode generieren oder die das Verhalten des Systems im Betrieb simulieren.

Wird Quellcode aus Modellen generiert, spricht man im Allgemeinen von modellgetriebener Architektur.

## Verifikation

Mitte der 1990er Jahre wurde begonnen, Werkzeuge zum Überprüfen von Modellen bereitzustellen, um damit eine Verifikation der Modelle zu gewährleisten und daraus resultierende Fehler in der Softwareentwicklung zu minimieren. Gängige Softwaretools wie z. B. für BPMN ermöglichen die Überprüfung der Syntax von Modellierungssprachen.

