Ausführbar uml

Ausführbar uml (Xtuml oder xuml) ist sowohl eine Softwareentwicklungsmethode als auch eine hoch abstrakte Softwaresprache. Es wurde 2002 erstmals im Buch "Executable UML: Eine Grundlage für modellgetriebene Architektur" beschrieben.[1] Die Sprache "kombiniert eine Untergruppe der UML (Einheitliche Modellierungssprache) Grafische Notation mit ausführbaren Semantik- und Timing -Regeln. "[2] Die ausführbare UML -Methode ist der Nachfolger der Shlaer -Mellor -Methode.[3]

Ausführbare UML -Modelle "können ausgeführt werden, geprüft, debugged und gemessen für die Leistung. ",[4] und kann sein zusammengestellt in einen weniger Abstrakten Programmiersprache auf eine spezifische Ziele abzielen Implementierung.[5] Ausführbare UML -Unterstützung Modellgetriebene Architektur (MDA) durch Spezifikation von plattformunabhängige Modelle, und die Zusammenstellung des plattformunabhängige Modelle hinein plattformspezifische Modelle.[6][7]

Überblick

Ausführbares UML ist ein höheres Maß an Abstraktion als Programmiersprachen der dritten Generation. Dies erlaubt Entwickler auf der Ebene der Abstraktion der Anwendung zu entwickeln.[8] Die ausführbare UML zielt darauf ab Trennung von Bedenken. Dies soll die Leichtigkeit erhöhen Wiederverwendung und um die Kosten von zu senken Software-Entwicklung. Dies ermöglicht auch die ausführbaren UML -Domänen plattformübergreifend. Das bedeutet, dass es nicht an eine bestimmte Programmiersprache, -plattform oder -technologie gebunden ist.

Die ausführbare UML ermöglicht auch die Übersetzung von plattformunabhängige Modelle (PIM) in plattformspezifische Modelle (PSM). Die ausführbare UML -Methode ermöglicht die Bewertung des Modells als geistiges EigentumDa das Modell eine vollständig ausführbare Lösung für den Problemraum ist.

Aktionen sind in angegeben Aktionssprache. Dies bedeutet, dass die automatische Generierung von Implementierungscode aus ausführbaren UML -Modellen in optimierter Form ausgegeben werden kann.

Ausführbares UML soll sowohl als ausführbarer Code als auch als Dokumentation dienen. Die Modelle sind eine grafische, ausführbare Spezifikation des Problemraums, der in ein Ziel zusammengestellt wird Implementierung. Sie sollen auch sein für Menschen lesbar.

Ausführbare UML -Bausteine

A System besteht aus mehreren Themen, bekannt als als Domänen in ausführbaren UML -Begriffen. Ausführbares UML wird verwendet, um eine Domäne auf der Ebene von zu modellieren Abstraktion von seinem Gegenstand unabhängig von Umsetzungsbedenken. Das resultierende Domänenmodell wird durch die folgenden Elemente dargestellt:

  • Das Domänendiagramm Bietet einen Blick auf die Domain modelliert und die Abhängigkeiten von anderen Domänen haben.
  • Das Klassen Diagramm definiert die Klassen und Klasse Assoziationen für die Domäne.
  • Das Statechart Diagramm definiert die Zustände, Ereignisse und Zustandsübergänge für eine Klasse oder eine Klasseninstanz.
  • Das Aktionssprache Definiert die Aktionen oder Vorgänge, die die Verarbeitung von Modellelementen durchführen.

Domänendiagramm

Ausführbares UML erfordert die Identifizierung der Domänen (auch bekannt als: Aspekte[9] oder Bedenken) vom System. "Jede Domäne ist eine autonome Welt, die von konzeptionellen Einheiten bewohnt wird"[10] Jede Domäne kann unabhängig von den anderen Domänen im System modelliert werden, um a zu aktivieren Trennung von Bedenken. Beispielsweise können die Domänen für ein automatisiertes Teller -System Folgendes enthalten:

Das Trennung von Bedenken Ermöglicht jede Domäne, von den jeweiligen Domänenexperten unabhängig von den anderen Domänen im System zu entwickeln und zu verifizieren.

Die Verbindungen zwischen Domänen werden genannt Brücken. "Eine Brücke ist eine Schichtabhängigkeit zwischen den Domänen".[11] Dies bedeutet, dass die Domänen Anforderungen an andere Domänen stellen können. Es wird empfohlen, von den verschiedenen Domänenexperten Brücken zu vereinbaren.

Eine Domäne kann als markiert werden als erkannte Um anzuzeigen, dass die Domäne existiert und nicht modelliert werden muss. Zum Beispiel eine Datenzugriffsdomäne, die a verwendet Mysql Die Datenbank würde als realisiert gekennzeichnet.

Klassen Diagramm

Konzeptuelle Entitäten wie materielle Dinge, Rollen, Vorfälle, Interaktionen und Spezifikationen, die spezifisch für die modellierte Domäne sind Klassen. Klassen können haben Attribute und Operationen.

Die Beziehungen zwischen diesen Klassen werden mit angezeigt Assoziationen und Verallgemeinerungen. Ein Assoziation kann eine weitere Abstraktion als eine benötigen Assoziationsklasse.

Einschränkungen des Klassendiagramms können sowohl in der Aktionssprache als auch in der Aktionssprache geschrieben werden Sprache der Objektbeschränkung (OCL).

Die ausführbare UML -Methode beschränkt die UML -Elemente, die in einem ausführbaren UML -Klassendiagramm verwendet werden können.

Ein ausführbares UML -Klassendiagramm soll Informationen über die Domäne aufdecken. Zu viel Komplexität in den StatechArt -Diagrammen ist ein guter Indikator dafür, dass das Klassendiagramm überarbeitet werden sollte.

Statechart Diagramm

Klassen haben Lebenszyklen, die in ausführbarer UML mit a modelliert sind Statechart Diagramm. Das staatsechart -Diagramm definiert die Zustände, Übergänge, Veranstaltungen, und Verfahren Das definiert ein Verhalten der Klasse.

Jeder Staat hat nur ein Verfahren, das ausgeführt wird Eintritt in diesen Zustand. Ein Verfahren besteht aus Aktionen, die in einer Aktionssprache angegeben sind.

Aktionssprache

Die Klassen- und Zustandsmodelle selbst können nur eine statische Sicht auf die Domäne bieten. Um ein ausführbares Modell zu haben, muss es eine Möglichkeit geben, Klasseninstanzen zu erstellen, Assoziationen festzulegen, Operationen zu Attributen auszuführen, Statusereignisse zu nennen usw. In der ausführbaren UML wird dies mit einer Aktionssprache durchgeführt, die der UML -Aktionssemantik entspricht .

Die UML -Spezifikation im Jahr 2001 wurde die Aktionssemantik hinzugefügt. Die Aktionssemantik -RFP basierte auf früheren Arbeiten in Aktionssprachen, die das unterstützten Shlaer -Mellor -Methode. Vorhandene Aktionsprachen sind Objektaktionssprache (OAL), Shlaer -Mellor -Aktionssprache (klein), Aktionsspezifikationssprache (ASL), Modell Aktionspezifikation Sprache (MASL),[12] Diese Aktionssprache (groß), Starrs prägnante relationale Handlungssprache (SCRALL), plattformunabhängige Aktionssprache (PAL) und PathMate Action Language (PAL). Scrall ist die einzige, die eine grafische Aktionssprache ist.

Modelltests und Ausführung

Sobald eine Domäne modelliert ist, kann sie sein geprüft unabhängig vom Ziel Implementierung durch Ausführung des Modells. Jede Domäne kann sein verifiziert und validiert unabhängig von jedem anderen Bereich. Dies erlaubt Fehler erkannt, um mit der Domäne verbunden und unabhängig von anderen Systemproblemen.

Überprüfung wird solche Dinge wie Menschen beinhalten Rezension der Modelle, die von Experten in der relevanten Domäne durchgeführt werden, und automatisierte Überprüfung der ausführbaren UML -Semantik. d.h. überprüft, ob das ausführbare UML -Modell dem ausführbaren UML entspricht Metamodell.

Validierung beinhaltet in der Regel die Verwendung eines ausführbaren UML -Tools, um das Modell auszuführen. Die Ausführung kann entweder vor oder nach der Modellkompilierung auftreten.

Modellkompilierung

Um die Ausführung am Ziel zu unterstützen ImplementierungDas Domänenmodell muss in weniger übersetzt werden abstrakt bilden. Dieser Übersetzungsprozess wird genannt Modellkompilierung. Das meiste Modell Compiler zielen auf ein bekanntes Programmiersprache, weil dies die Wiederverwendung von Bestehende ermöglicht Compiler Technologien.

Optimierung Die Domänenmodelle für das Ziel Implementierung Gründe werden das Niveau von verringern Abstraktionbeeinflussen die Domain -Unabhängigkeit negativ und erhöhen die Kosten von Wiederverwendung. In ausführbarer Uml, Optimierungen werden vom Modell durchgeführt Compiler entweder automatisch oder durch Markierung. Die Markierung ermöglicht es, spezifische Modellelemente für spezifische niedrigere Ebene auszurichten Implementierungenund ermöglicht breitere architektonische Entscheidungen, wie z. Sammlungen von Objekten sollte sein implementiert Als ein doppelt verknüpfte Liste.

Im MDA Begriffe das Modell Compiler erstellt die PSM. Die Trennung zwischen dem Pim und PSM in ausführbarer Datei deaktiviert UML die Fähigkeit zu Rundwegingenieur das Modell und verhindern Änderungen an der PSM.[13]

Ausführbare UML -Schlüsselaspekte

Ausführbares UML definiert Ausführungssemantik für eine Teilmenge der UML. Zu den wichtigsten Aspekten der ausführbaren UML -Untergruppe gehören Folgendes:

  • Keine Unterstützung für implementierungsspezifische Konstrukte wie Aggregation und Zusammensetzung.[14]
  • Verallgemeinerungen sind immer als {vollständig, disjoint} notiert.
  • Assoziationen zwischen Klassen sind stets Benannt, haben Verbphrasen an beiden Enden, die die Rollen angeben, und haben an beiden Enden eine Multiplizität festgelegt.
  • Multiplikationen an den assoziierten Enden sind auf 0..1 (Null zu eins), * (Null zu vielen), 1 (genau eins) oder 1 .. * (eins zu vielen) beschränkt.
  • Datentypen sind auf die folgenden Kerndatentypen beschränkt: boolean, String, Ganzzahl, real, Datum, Zeitstempel und beliebig, oder einer der folgenden domänenspezifischen Datentypen: numerisch, string, aufgezählt und zusammengesetzt. Domänenspezifische numerische und String-Datentypen können Teilmengen der Kerndatentypen darstellen. Der domänenspezifische zusammengesetzte Datentyp soll immer als einzelne Einheit innerhalb der Domäne behandelt werden. z. B. a Postanschrift Der zusammengesetzte Datentyp konnte deklariert werden, aber die Informationen der Stadt konnten nicht daraus extrahiert werden.
  • Einschränkungen Auf den ausführbaren UML -Modellen können entweder als Sprache der Objektbeschränkung (OCL) oder Aktionssprache.

Fuml und Alf

Das Objektverwaltungsgruppe hat die standardisiert Grundlegende UML (FUML), was stark von ausführbarer Uml beeinflusst wurde.

Aktionssprache für Grundlagen UML (ALF),[15] ist eine Standard -Aktionssprachspezifikation von der Objektverwaltungsgruppe.

Siehe auch

Veröffentlichungen

  • Gerry Boyd (2003) "Executable Uml: Diagramme für die Zukunft." veröffentlicht bei devx.com, 5. Februar 2003.
  • Shayne Flint und Clive Boughton (2003) "Executable/Translatable UML und Systemtechnik." Praktische Ansätze für komplexe Systeme (SETE 2003).
  • Shayne Flint, Henry Gardner und Clive Boughton (2004). "Executable/Translatable UML in der Computerausbildung." Proceedings der sechsten australasischen Konferenz über Computerbildung-Volumen 30. Australian Computer Society, Inc.
  • H.S. Lahman (2011). Modellbasierte Entwicklung: Anwendungen. Addison-Wesley Professional. ISBN 0-321-77407-8.
  • Stephen J. Mellor & Marc Balcer (2002). Ausführbares UML: Eine Grundlage für modellgetriebene Architektur. Addison Wesley. ISBN 0-201-74804-5. Kapitel 1 Online
  • Ausführbare und übersetzbare UML
  • Stephen J. Mellor (2004), Einführung in ausführbare und übersetzbare UML
  • Stephen J. Mellor (2004), ein Rahmen für die modellorientierte Modellierung
  • Chris Raistrick; et al. (2004). Modellgetriebene Architektur mit ausführbarer UML. Cambridge University Press. ISBN 0-521-53771-1.
  • Leon Starr (2002). Ausführbares UML: So erstellen Sie Klassenmodelle. Prentice-Hall. ISBN 0-13-067479-6.

Verweise

  1. ^ Mellor und Balcer 2002
  2. ^ Starr 2002, p. 3.
  3. ^ G. O'Keefe (2006) "Dynamische Logiksemantik für UML -Konsistenz" in: Modellgetriebene Architektur-Grundlagen und Anwendungen: Zweite Europäische Konferenz, ECMDA-FA 2006, Bilbao, Spanien, 10. bis 13. Juli 2006, Proceedings. Arend Rensink eds. p. 124
  4. ^ Starr 2002, p. 3.
  5. ^ Mellor und Balcer 2002, Abschnitt 1.4.
  6. ^ Mellor und Balcer 2002, Abschnitt 1.5.
  7. ^ Raistrick et al. 2004, Abschnitte 2.3.3 und 2.3.4.
  8. ^ Mellor und Balcer 2002, Abschnitt 1.1.
  9. ^ Mellor und Balcer 2002, Abschnitt 3.4.
  10. ^ Mellor und Balcer 2002, p. 14.
  11. ^ Mellor und Balcer 2002, p. 35.
  12. ^ "Masl ist eine SHLAer-Mellor-Dialekt-Aktionssprache und Strukturmodellierungssprache: Xtuml/Masl". Xtuml. 27. Dezember 2018. Abgerufen 26. Oktober 2019.
  13. ^ Mellor und Balcer 2002, Kapitel 9.
  14. ^ Mellor und Balcer 2002, p. xxx.
  15. ^ "Aktionssprache für Fundual UML ™ (ALF ™)". www.omg.org. Abgerufen 2016-12-21.

Externe Links