Modellierungssprache
A Modellierungssprache ist jeder künstliche Sprache Das kann verwendet werden, um auszudrücken Information oder Wissen oder Systeme in einem Struktur Das wird durch eine konsistente Regeln festgelegt. Die Regeln werden zur Interpretation der Bedeutung von Komponenten in der Struktur verwendet.
Überblick
Eine Modellierungssprache kann grafisch oder textuell sein.[1]
- Grafisch Modellierungssprachen verwenden a Diagrammtechnik mit benannten Symbolen, die Konzepte und Zeilen darstellen, die die Symbole verbinden und Beziehungen und verschiedene andere grafische Notation darstellen, um Einschränkungen darzustellen.
- Text Modellierungssprachen können standardisierte Schlüsselwörter verwenden, begleitet von Parametern oder natürlichen Sprachenbegriffen und Phrasen, um computerinterpretierbare Ausdrücke zu erstellen.
Ein Beispiel für eine grafische Modellierungssprache und eine entsprechende Textierungssprache für Text ist AUSDRÜCKEN.
Nicht alle Modellierungssprachen sind ausführbar, und für diejenigen, die sie sind, bedeutet die Verwendung nicht unbedingt, dass Programmierer nicht mehr erforderlich sind. Im Gegenteil, ausführbare Modellierungssprachen sollen die Produktivität qualifizierter Programmierer verstärken, damit sie anspruchsvollere Probleme angehen können, wie z. Parallele Computing und verteilte Systeme.
Eine große Anzahl von Modellierungssprachen erscheinen in der Literatur.
Art der Modellierungssprachen
Grafische Typen
Beispiel für grafische Modellierungssprachen im Bereich der Informatik, Projektmanagement und Systemtechnik:
- Verhaltensbäume sind eine formale, grafische Modellierungssprache, die hauptsächlich in verwendet wird Systeme und Softwareentwicklung. Häufig verwendet, um die Hunderte oder sogar Tausende von eindeutig darzustellen Natürliche Sprache Anforderungen, die normalerweise verwendet werden, um die auszudrücken Interessengruppen Bedürfnisse für ein groß angelangtes Software-integriertes System.
- Geschäftsprozessmodellierungsnotation (Bpmn und die Xml Form bpml) ist ein Beispiel für a Prozessmodellierung Sprache.
- C-K-Theorie besteht aus einer Modellierungssprache für Designprozesse.
- Drakon ist ein Allzwecke algorithmische Modellierung Sprache für die Angabe von softwarintensiven Systemen, eine schematische Darstellung eines Algorithmus oder eines schrittweisen Prozesses und einer Familie von Programmiersprachen.
- AUSDRÜCKEN und Express-G (ISO 10303-11) ist ein internationaler allgemeiner Standard-Allzweck Datenmodellierung Sprache.
- Erweiterte Unternehmensmodellsprache erweiterte Sprache (EEML) wird üblicherweise für die Modellierung des Geschäftsprozesses in einer Reihe von Schichten verwendet.
- Flussdiagramm ist eine schematische Darstellung eines Algorithmus oder eines schrittweisen Prozesses.
- Grundlegende Modellierungskonzepte (FMC) Modellierungssprache für softwareintensive Systeme.
- Idef ist eine Familie von Modellierungssprachen, die einschließen Idef0 Für funktionale Modellierung, Idef1x zur Informationsmodellierung, Idef3 Für Geschäftsprozessmodellierung, Idef4 für objektorientiertes Design und Idef5 zur Modellierung von Ontologien.
- Jackson strukturierte Programmierung (JSP) ist eine Methode zur strukturierten Programmierung basierend auf Korrespondenzen zwischen Datenstromstruktur und Programmstruktur.
- Lepus3 ist ein objektorientierter visuelle Design Beschreibung Sprache und a Formale Spezifikation Sprache, die hauptsächlich für die Modellierung großer objektorientierter Modellierung geeignet ist (Java, C ++, C#) Programme und Designmuster.
- Lebenszyklus -Modellierungssprache ist eine offene Sprache für Systemtechnik Das unterstützt die volle Systemlebenszyklus: Konzeptionale, Nutzung, Unterstützung und Altersvorsorge.
- Objektrollenmodellierung (ORM) Im Bereich der Software -Engineering befindet sich eine Methode zur konzeptionellen Modellierung und kann als Instrument zur Informations- und Regelnanalyse verwendet werden.
- Petri Nets Verwenden Sie Variationen genau einer Diagramming -Technik und -Topologie, nämlich die Bipartitale Grafik. Die Einfachheit seiner grundlegenden Benutzeroberfläche ermöglichte im Laufe der Jahre leicht umfangreiche Tools -Unterstützung, insbesondere in den Bereichen Modellprüfung, grafisch orientierte Simulation und Softwareüberprüfung.
- SouthBeach Notation ist eine visuelle Modellierungssprache, mit der Situationen in Bezug auf Agenten beschrieben werden, die aus Sicht des Modellierers als nützlich oder schädlich angesehen werden. Die Notation zeigt, wie die Wirkstoffe miteinander interagieren und ob sich diese Wechselwirkung verbessert oder verschlimmert.
- Spezifikation und Beschreibung Sprache (SDL) ist eine Spezifikationssprache, die auf die eindeutige Spezifikation und Beschreibung des Verhaltens von reaktiven und verteilten Systemen abzielt.
- Sysml ist ein Domänenspezifische Modellierung Sprache für Systemtechnik Das ist definiert als UML -Profil (Anpassung).
- Einheitliche Modellierungssprache (Uml) ist a Allgemeine Modellierung Sprache, die ein Industriestandard für die Spezifikation von softwarintensiven Systemen ist. UML 2.0, die aktuelle Version, unterstützt dreizehn verschiedene Diagrammtechniken und verfügt über eine weit verbreitete Werkzeugunterstützung.
- Service-orientiertes Modellierungsrahmen (SOMF) ist eine ganzheitliche Sprache für die Gestaltung von Architekturmodellen für Unternehmens- und Anwendungsebene im Bereich Enterprise-Architektur, Virtualisierung, Service-orientierte Architektur (SOA), Cloud Computing und vieles mehr.[2]
- Architektur Beschreibung Sprache (ADL) ist eine Sprache, mit der die beschrieben und dargestellt wird Systemarchitektur von a System.
- Aadl (AADL) ist eine Modellierungssprache, die frühe und wiederholte Analysen der Architektur eines Systems in Bezug auf leistungskritische Eigenschaften durch eine erweiterbare Notation, einen Werkzeugrahmen und genau definierte Semantik unterstützt.
Beispiele für grafische Modellierungssprachen in anderen Wissenschaftsbereichen.
- Ost-Adl ist ein Domänenspezifische Modellierung Sprache, die dem Design des Automobilsystems gewidmet ist.
- Energiesystemsprache (ESL), eine Sprache, die darauf abzielt, ökologische Energetik und globale Ökonomie zu modellieren.
- IEC 61499 Definiert Domänenspezifische Modellierung Sprache, die zur Verteilung von industriellen Prozessmess- und Steuerungssystemen gewidmet ist.
Texttypen
Informationsmodelle können auch in formalisierten natürlichen Sprachen wie Gellish ausgedrückt werden.[3] Gellish hat natürliche Sprachvarianten wie Gellish Formal Englisch und Gellish Formal Dutch (Gellish Formel Nederlands) usw. Gellish Formal Englisch ist eine Sprache der Informationsrepräsentation oder eine semantische Modellierungssprache, die in der Gellish English Dictionary-Taxonomie definiert ist, die die Form einer Taxonomie-Ontologie hat (ähnlich für Niederländisch). Gellish Formal Englisch ist nicht nur geeignet, um Wissen, Anforderungen und Wörterbücher, Taxonomien und Ontologien auszudrücken, sondern auch Informationen über individuelle Dinge. Alle diese Informationen werden in einer Sprache ausgedrückt und können daher alle integriert werden, unabhängig von der Frage, ob sie in zentralen oder verteilten oder in Verbunddatenbanken gespeicherten Daten gespeichert sind. Informationsmodelle in Gellish Formal English bestehen aus Sammlungen von Gellish Formal -englischen Ausdrücken, die natürliche Sprachbegriffe und formalisierte Phrasen verwenden. Beispielsweise könnte ein geografisches Informationsmodell aus einer Reihe von formalen englischen Ausdrücken von Gellish bestehen, wie beispielsweise:
- Der Eiffelturm <befindet sich in> Paris - Paris <wird als> Stadt klassifiziert
Während die Informationsanforderungen und das Wissen beispielsweise wie folgt ausgedrückt werden können:
- Tower <muss sich in einem geografischen Gebiet befinden - Stadt ist eine Art geografischer Gebiet
Solche gellischen formalen englischen Ausdrücke verwenden Namen von Konzepten (z. B. "Stadt") und Phrasen, die Beziehungstypen darstellen (z. oder von Ihrem eigenen Domain -Wörterbuch). Die Gellish English Dictionary-Taxonomy ermöglicht die Erstellung semantisch reichhaltiger Informationsmodelle, da das Wörterbuch mehr als 600 Standard-Beziehungstypen enthält und Definitionen von mehr als 40000 Konzepten enthält. Ein Informationsmodell in Gellish kann Fakten ausdrücken oder Aussagen, Abfragen und Antworten machen.
Spezifischere Typen
Auf dem Gebiet der Informatik In jüngster Zeit sind spezifischere Arten von Modellierungssprachen entstanden.
Algebraisch
Algebraische Modellierungssprachen (AML) sind hochrangige Programmiersprachen zur Beschreibung und Lösung hoher Komplexitätsprobleme für mathematische Berechnungen in großem Maßstab (d. H. Probleme mit großem Maßstab). Ein besonderer Vorteil von AMLs wie Aimms, Ampl, Gams, Gekko, Mosel, OPL und Optimj ist die Ähnlichkeit seiner Syntax mit der mathematischen Notation von Optimierungsproblemen. Dies ermöglicht eine sehr prägnante und lesbare Definition von Problemen im Bereich der Optimierung, die durch bestimmte Sprachelemente wie Sätze, Indizes, algebraische Ausdrücke, leistungsstarke Sparse -Index- und Datenhandhabungsvariablen, Einschränkungen mit willkürlichen Namen unterstützt wird. Die algebraische Formulierung eines Modells enthält keine Hinweise, wie es verarbeitet wird.
Verhalten
Verhaltenssprachen werden entwickelt, um das beobachtbare Verhalten komplexer Systeme zu beschreiben, die aus Komponenten bestehen, die gleichzeitig ausgeführt werden. Diese Sprachen konzentrieren sich auf die Beschreibung von Schlüsselkonzepten wie Parallelität, Nichtdeterminismus, Synchronisation und Kommunikation. Die semantischen Grundlagen von Verhaltenssprachen sind Prozesskalkül oder Prozessalgebra.
Disziplinspezifisch
A Disziplinspezifische Modellierung (DSPM) Die Sprache konzentriert sich auf Erbringung, die mit einer bestimmten Lebenszyklusstufe für die Lebenszyklus von Software -Entwicklungen verbunden sind. Daher bietet eine solche Sprache für jede Phase ein unterschiedliches Vokabular, eine Syntax und eine Notation, wie Entdeckung, Analyse, Design, Architektur, Kontraktion usw. Zum Beispiel für die Analysephase eines Projekts verwendet der Modellierer eine spezifische Analyse -Notation, um die Lieferung zu liefern Ein Analyse -Vorschlag -Diagramm. Während der Entwurfsphase wird jedoch logische Designnotation verwendet, um die Beziehung zwischen Softwareentitäten darzustellen. Darüber hinaus verhindern die Best Practices der Disziplin-spezifischen Modellierungssprache nicht die Kombination der verschiedenen Notationen in einem einzigen Diagramm.
Domänenspezifisch
Domänenspezifische Modellierung (DSM) ist eine Software -Engineering -Methodik zum Entwerfen und Entwickeln von Systemen, meistens IT -Systeme wie Computersoftware. Es beinhaltet die systematische Verwendung einer grafischen Domänenspezifische Sprache (DSL) um die verschiedenen Facetten eines Systems darzustellen. DSM-Sprachen unterstützen tendenziell höhere Abstraktionen auf höherer Ebene als allgemeine Modellierungssprachen, daher erfordern sie weniger Aufwand und weniger Details auf niedriger Ebene, um ein bestimmtes System anzugeben.
Frameworkspezifisch
A Framework-spezifische Modellierungssprache (FSML) ist eine Art domänenspezifischer Modellierungssprache, die für ein objektorientiertes Anwendungsrahmen ausgelegt ist. FSMLs definieren Framework-bereitgestellte Abstraktionen als FSML-Konzepte und zersetzen die Abstraktionen in Merkmale. Die Merkmale stellen Implementierungsschritte oder -auswahl dar.
Ein FSML -Konzept kann durch Auswahl von Funktionen und Bereitstellung von Werten für Funktionen konfiguriert werden. Eine solche Konzeptkonfiguration stellt dar, wie das Konzept im Code implementiert werden sollte. Mit anderen Worten, die Konzeptkonfiguration beschreibt, wie das Framework abgeschlossen werden sollte, um die Implementierung des Konzepts zu erstellen.
Informations- und Wissensmodellierung
Verknüpfte Daten und Ontology Engineering erfordern 'Hostsprachen', um darzustellen Entitäten und die Beziehungen zwischen ihnen, Einschränkungen zwischen den Eigenschaften von Entitäten und Beziehungen und Metadaten Attribute. JSON-LD und RDF sind in diesem Zusammenhang zwei wichtige (und semantisch fast äquivalente) Sprachen, vor allem, weil sie unterstützen Aussage -Wiedergabe und Kontextualisierung welche sind wesentliche Eigenschaften, um die zu unterstützen Logik höherer Ordnung benötigt, um über Modelle zu argumentieren. Modelltransformation ist ein häufiges Beispiel für solche Argumentation.
Objektorientierter
Objektmodellierungssprachen Modellieren Sprachen basierend auf einer standardisierten Reihe von Symbolen und Möglichkeiten, um sie in das Modell (Teil) eines objektorientierten Softwaredesigns oder eines Systemdesigns zu ordnen.
Einige Organisationen verwenden sie ausgiebig in Kombination mit einer Softwareentwicklungsmethode, um von der ersten Spezifikation zu einem Implementierungsplan zu entwickeln und diesen Plan einem gesamten Team von Entwicklern und Stakeholdern zu kommunizieren. Da eine Modellierungssprache visuell und auf einer höheren Abstraktion als Code ist, fördert die Verwendung von Modellen die Erzeugung eines gemeinsamen Sehens, der Probleme bei unterschiedlicher Interpretation später in der Entwicklung verhindern kann. Oft werden Softwaremodellierungs -Tools verwendet, um diese Modelle zu konstruieren, die dann möglicherweise eine automatische Übersetzung in den Code können.
Virtuelle Realität
Modellierungssprache virtueller Realität (VRML), vor 1995 als Virtual Reality-Markup-Sprache bekannt, ist ein Standarddateiformat zur Darstellung von dreidimensionalen (3D) interaktiven Vektorgrafiken, die insbesondere im Hinblick auf das World Wide Web entwickelt wurden.
Andere
- Architektur Beschreibung Sprache
- Gesichtsmodellierungssprache
- Generative Modellierungssprache
- Java -Modellierungssprache
- Promela
- Rebeca Modellierungssprache
- Dienstmodellierungssprache
- MODELLINGRAGHE
- X3d
Anwendungen
In verschiedenen Disziplinen werden verschiedene Arten von Modellierungssprachen angewendet, einschließlich Informatik, Informationsmanagement, Geschäftsprozessmodellierung, Softwareentwicklung, und Systemtechnik. Modellierungssprachen können verwendet werden, um anzugeben:
- System Anforderungen,
- Strukturen und
- Verhalten.
Modellierungssprachen sollen verwendet werden, um Systeme genau festzulegen, damit Stakeholder (z. B. Kunden, Betreiber, Analysten, Designer) das zu modellierte System besser verstehen können.
Die reiferen Modellierungssprachen sind präzise, konsistent und ausführbar. Informelle Diagrammung Es wird erwartet, dass Techniken mit Zeichenwerkzeugen nützliche bildliche Darstellungen von Systemanforderungen, Strukturen und Verhaltensweisen erzeugen, die für Kommunikation, Design und Problemlösung nützlich sein können, aber nicht programmatisch verwendet werden können.[4]: 539 Ausführbare Modellierungssprachen, die mit ordnungsgemäßer Werkzeugunterstützung angewendet werden, wird jedoch erwartet, dass es das System automatisiert Verifizierung und Validierung, Simulation und Codegenerierung aus den gleichen Darstellungen.
Qualität
Eine Überprüfung der Modellierungssprachen ist unerlässlich, um zuweisen zu können, welche Sprachen für verschiedene Modellierungseinstellungen geeignet sind. In den Laufzeiteinstellungen umfassen wir Stakeholder, Domain und das verbundene Wissen. Bewertung der Sprachqualität ist ein Mittel, das darauf abzielt, bessere Modelle zu erreichen.
Rahmen für die Bewertung
Hier wird die Sprachqualität in Übereinstimmung mit dem angegeben Folgenrahmen Für die Qualität der von Krogstie, Sindre und Lindland (2003) entwickelten Modelle, da dies ein Rahmen ist, der die Sprachqualität mit einem Rahmen für die allgemeine Modellqualität verbindet. In diesem Rahmen werden fünf Bereiche verwendet, um die Sprachqualität zu beschreiben, und diese sollen sowohl die konzeptionelle als auch die visuelle Notation der Sprache ausdrücken. Wir werden nicht in eine gründliche Erklärung des zugrunde liegenden Qualitätsrahmens von Modellen eingehen, sondern uns auf die Bereiche konzentrieren, die zur Erklärung des Sprachqualitätsrahmens verwendet werden.
Domänenaneignung
Der Rahmen gibt die Fähigkeit an, die Domäne als Domänenaneignung darzustellen. Die Aussage Angemessenheit Kann etwas vage sein, aber in diesem speziellen Kontext bedeutet es in der Lage zu ausdrücken. Sie sollten idealerweise nur in der Lage sein, Dinge in der Domäne auszudrücken, aber mächtig genug sein, um alles, was in der Domäne ist, aufzunehmen. Diese Anforderung mag ein bisschen streng erscheinen, aber das Ziel ist es, ein visuell ausgedrücktes Modell zu erhalten, das alles enthält, was für die Domäne relevant ist und alles ausschließt, was nicht für die Domäne angemessen ist. Um dies zu erreichen, muss die Sprache eine gute Unterscheidung haben, welche Notationen und Syntaxe Das ist vorteilhaft zu präsentieren.
Angemessenheit der Teilnehmer
Um die Angemessenheit der Teilnehmer zu bewerten, versuchen wir zu ermitteln, wie gut die Sprache das Wissen der Stakeholder ausdrückt. Dies beinhaltet Herausforderungen, da das Wissen eines Stakeholders subjektiv ist. Das Wissen über den Stakeholder ist sowohl stillschweigend als auch explizit. Beide Arten von Wissen sind von dynamischem Charakter. In diesem Rahmen wird nur die explizite Art von Wissen berücksichtigt. Die Sprache sollte in hohem Maße alle ausdrücklichen Kenntnisse der für die Domäne relevanten Stakeholder ausdrücken.
Modelleraneignung
Letzter Absatz stellte fest, dass die Kenntnis der Stakeholder gut präsentiert werden sollte. Darüber hinaus ist es unbedingt erforderlich, dass die Sprache in der Lage sein sollte, alle möglichen explizite Kenntnisse der Stakeholder auszudrücken. Es sollte kein Wissen unausgesprochen werden, weil es keine Sprache gibt.
Verständlichkeitsaneignung
Die Angemessenheit der Verständlichkeit stellt sicher, dass die sozialen Akteure das Modell aufgrund einer konsequenten Verwendung der Sprache verstehen. Um dies zu erreichen, enthält das Framework eine Reihe von Kriterien. Die allgemeine Bedeutung, die diese ausdrücken, ist, dass die Sprache flexibel, leicht zu organisieren und einfach verschiedene Teile der Sprache intern und von anderen Sprachen zu unterscheiden sollte. Darüber hinaus sollte das Ziel so einfach wie möglich sein und dass jedes Symbol in der Sprache eine einzigartige Darstellung hat.
Dies steht in Verbindung mit der Struktur der Entwicklungsanforderungen. .
Werkzeugangemessenheit
Um sicherzustellen, dass die tatsächlich modellierte Domäne für die Analyse und weitere Verarbeitung verwendet werden kann, muss die Sprache sicherstellen, dass es möglich ist, auf automatische Weise zu argumentieren. Um dies zu erreichen, muss es formale Syntax und Semantik enthalten. Ein weiterer Vorteil durch das Formalisieren ist die Fähigkeit, in einem frühen Stadium Fehler zu entdecken. Es ist nicht immer so, dass die für die technische Schauspieler am besten geeignete Sprache dieselbe ist wie für die sozialen Akteure.
Organisatorische Angemessenheit
Die verwendete Sprache ist für den organisatorischen Kontext geeignet, z. Dass die Sprache innerhalb der Organisation standardisiert ist oder dass sie durch Tools unterstützt wird, die in der Organisation als Standard ausgewählt werden.
Siehe auch
- Analogische Modelle
- Anthropomorphismus
- Metamodelling
- Modellbasierte Tests (MBT)
- Modellgetriebene Architektur
- Modellgetriebene Engineering (MDE)
- Modellierungsperspektive
- Ontologiesprache
- Pseudocode
- Wissenschaftliche Modellierung
- Service-orientierte Modellierung
- Visuelle Modellierung
- Visuelle Programmiersprache
Verweise
- ^ Xiao HE (2007). "Ein Metamodell für die Notation grafischer Modellierungssprachen". Im: Conference für Computersoftware und Anwendungen, 2007. Compsac 2007 - Vol. 1. 31. jährlicher International, Band 1, Ausgabe, 24. bis 27. Juli 2007, S. 219-224.
- ^ Bell, Michael (2008). "Einführung in serviceorientierte Modellierung". Service-orientierte Modellierung: Serviceanalyse, Design und Architektur. Wiley & Söhne. ISBN 978-0-470-14111-3.
- ^ * Andries van Rensen, Gellish, eine generische erweiterbare ontologische Sprache Archiviert 2012-11-30 bei der Wayback -Maschine, Delft University of Technology, 2005.
- ^ Baltes, Sebastian; Diehl, Stephan (2014-11-11). "Skizzen und Diagramme in der Praxis". Verfahren des 22. ACM Sigsoft International Symposium für Fundamente der Softwareentwicklung. FSE 2014. Hongkong, China: Verband für Computermaschinen: 530–541. Arxiv:1706.09172. doi:10.1145/2635868.2635891. ISBN 978-1-4503-3056-5.
Weitere Lektüre
- John Krogstie (2003) "Bewertung von UML mit einem generischen Qualitätsrahmen" . STEF Telecom and Informatics und IDI, Ntnu, Norwegen
- Krogstie und Sølvsberg (2003). Informationssystem Engineering: Konzeptionelle Modellierung in Qualitätssicht. Institut für Computer- und Informationswissenschaften. \
- Anna Gunhild Nysetvold und John Krogstie (2005). "Bewertung der Modellierungssprachen für Geschäftsverarbeitung mit einem generischen Qualitätsrahmen". Institut für Computer- und Informationswissenschaften.