Human-Usable Textual Notation

Human-Usable Textual Notation

Die Human-Usable Textual Notation (HUTN) ist in der modellgetriebenen Softwareentwicklung ein Standard der Object Management Group zur allgemeinen textbasierten Notation für MOF-konforme Metamodelle. HUTN-konforme Sprachen zur Beschreibung von Metamodellen sind eine Ergänzung zur graphischen UML-Notation und zum textbasierten XMI-Format mit dem Unterschied, dass sie trotz Textbasiertheit auf einfache Lesbarkeit für Menschen ausgerichtet sind.

Aus jedem (MOF-konformen) Metamodell können modellspezifische HUTN-Sprachen erzeugt werden und anschließend Dokumente in dieser Sprache geparst werden. Jedes in einer HUTN-Sprache beschriebene Modell kann vollautomatisch in eine XMI-Repräsentation des Modells übersetzt werden.

Die HUTN-Spezifikation wurde 2004 durch die Object Management Group abgeschlossen. HUTN zielt darauf ab, zu grafischen UML-Modellen eine alternative textbasierte Notation anzubieten. Derzeit gibt es nur wenige Anwendungen, die von HUTN Gebrauch machen. Ähnliche Ansätze verfolgen JSON und YAML.

Überblick

UML hat sich als allgemeine grafische Notation in der modellgetriebenen Softwareentwicklung etabliert. UML stellt unterschiedliche Diagrammtypen zur Verfügung, um die statischen oder dynamischen Aspekte von Softwaresystem zu beschreiben. Die grafische Notation bietet oft Vorteile, um die Strukturen komplexer Systeme zu veranschaulichen. Dennoch kann es einfacher sein, Änderungen an den Modellen mit einem textbasierten Editor zu schreiben, anstatt Maus und Editor im Wechselspiel zu nutzen; vergleichbar mit anderen Routinesituationen des Computergebrauchs, in denen die Nutzung der Maus oft auch als lästig empfunden wird. Dafür wurde HUTN entwickelt. Jedes beliebige UML-Modell kann in HUTN beschrieben werden, da HUTN auf dem gleichen Metamodell wie UML beruht – dem MOF-Metamodell.

Die für die textbasierte Notation von MOF-Modellen bereits entwickelte XMI-Notation dient dagegen dem Austausch von (UML-)Modellen zwischen Softwareapplikationen. Sie ist eine XML-konforme Notation, die für menschliche Anwender nur umständlich zu gebrauchen ist. Dafür ist in erster Linie der XML-typische Notationsballast in Form von öffnenden und schließenden Elementnamen verantwortlich, auf den in HUTN verzichtet wird. Dennoch lassen sich HUTN und XMI vollautomatisch ineinander umwandeln, sodass HUTN vor allem als alternative Notation für UML zu sehen ist. Die damit mögliche Barrierefreiheit der UML-Notation für bspw. die Braille-Schrift wird derzeit nicht wahrgenommen oder diskutiert.

Beispiel

Ein Metamodell zur Personendatenverwaltung, das die Klasse Person mit Attributen Vorname, Nachname und Alter und eine Vater-Sohn-Relation definiert, spezifiziert eine HUTN-Sprache, die Worte wie Person und Vorname usw. enthält. Das folgende konkrete Modell bestehend aus zwei Personen in Vater-Sohn-Relation wird durch ein eine XMI-Spezifikation, ein UML-Objektdiagramm und eine HUTN-Beschreibung gleichermaßen repräsentiert.

<?xml version = "1.0"?>
<XMI>
 <XMI.header>
  <XMI.model xmi.name = "PersonenPackage" xmi.version = "1.1"/>
 </XMI.header>
 <XMI.content>
  <PersonenPackage xmi.id="xmi-id-001">
   <PersonenPackage.Person xmi.id="Hans">
    <PersonenPackage.Person.Vorname>
     Hans
    </PersonenPackage.Person.Vorname>
    <PersonenPackage.Person.Name>
     Meier
    <PersonenPackage.Person.Alter>
     50
    </PersonenPackage.Person.Alter>
    <PersonenPackage.Person.Sohn>
     <PersonenPackage.Person xmi.idref="Peter">
    </PersonenPackage.Person.Sohn>
   </PersonenPackage.Person>
   <PersonenPackage.Person xmi.id="Peter">
    <PersonenPackage.Person.Vorname>
     Peter
    </PersonenPackage.Person.Vorname>
    <PersonenPackage.Person.Name>
     Meier
    <PersonenPackage.Person.Alter>
     20
    </PersonenPackage.Person.Alter>
    <PersonenPackage.Person.Vater>
     <PersonenPackage.Person xmi.idref="Hans">
    </PersonenPackage.Person.Vater>
   </PersonenPackage.Person>
  </PersonenPackage>
 </XMI.content>
</XMI>

HUTN


PersonenPackage “id-001” {
 Person “Hans” {
  Vorname: “Hans”
  Nachname: “Meier”
  Alter: 50
  Sohn: Person “Peter”
 }
 Person “Peter” {
  Vorname: “Peter”
  Nachname: “Meier”
  Alter: 20
  Vater: “Hans”
 }
}

UML

Instance specification 3.png

Weblinks


Wikimedia Foundation.

Игры ⚽ Поможем решить контрольную работу

Schlagen Sie auch in anderen Wörterbüchern nach:

  • YAML — ist eine vereinfachte Auszeichnungssprache (engl. markup language) zur Datenserialisierung, angelehnt an XML (ursprünglich) und an die Datenstrukturen in den Sprachen Perl, Python und C sowie dem in RFC 2822 vorgestellten E Mail Format. Die Idee… …   Deutsch Wikipedia

  • publishing, history of — Introduction       an account of the selection, preparation, and marketing of printed matter from its origins in ancient times to the present. The activity has grown from small beginnings into a vast and complex industry responsible for the… …   Universalium

  • Software development methodology — A software development methodology or system development methodology in software engineering is a framework that is used to structure, plan, and control the process of developing an information system. Contents 1 History 1.1 As a noun 1.2 As a… …   Wikipedia

  • International Chemical Identifier — The IUPAC International Chemical Identifier (InChI, pronounced INchee ) is a textual identifier for chemical substances, designed to provide a standard and human readable way to encode molecular information and to facilitate the search for such… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”