QML - Fachbeitrag

                 

Home

QML QualityMarkupLanguage - Qualität lernt sprechen?

Michael Roth, Q-DAS GmbH

 

Was verbirgt sich hinter der QualityMarkupLanguage (kurz QML)? Worin liegen die Unterschiede zum Q-DAS ASCII Transferformat? Der folgende Artikel will Einblicke in QML, die Weiterentwicklung des Datenformats aus dem Hause Q-DAS, geben.

Bereits die erste Version von qs-STAT unterstützte ein Format zum Datenaustausch. Dieses wurde mit dem Programm kontinuierlich weiterentwickelt. Formate wie das DFT/DFI-Format oder das DFD/DFQ-Format, besser bekannt als Q-DAS ASCII Transferformat, wurden implementiert. Letzteres kann mittlerweile als Industriestandard angesehen werden. Dass mehrere Großkonzerne von Lieferanten von Messsystemen und Herstellern von SPC-Systemen die Einhaltung des Q-DAS ASCII Transferformates fordern, ist Beleg für die große Akzeptanz des Formates. Beide sind ASCII- Formate und wurden von Q-DAS stets offen zugänglich angeboten. Und genau in diese Tradition reiht sich auch das QML-Format ein. 

An dieser Stelle sei ausdrücklich betont, dass das QML-Format nicht als Ablösung für das Q-DAS ASCII Transferformat entwickelt wurde, sondern als sinnvolle Ergänzung, um eine größere Flexibilität bezüglich Datentransfer und Aufbereitung bieten zu können. QML ist die Umsetzung des Datenformates für den Einsatz im XML-Umfeld. Q-DAS bietet somit ein Format, das den Bereich der Internet-Entwicklung optimal unterstützt.

Die Vorteile von QML liegen in dem strukturierten Aufbau und der Möglichkeit, durch die XML-Technologie die Daten schon beim Einlesen auf Konsistenz zu prüfen.

Die Entwicklung eines Transferformates auf XML-Basis wurde unter anderem durch ein Forschungsprojekt der Firma DaimlerChrysler vorangetrieben, alle Qualitätsdaten in einem universellen Format auszutauschen. 

Im Laufe dieses Jahres wurde bei Q-DAS ein für alle offen zugänglicher QML-Standard definiert. Die erste Version des QML-Schemas wurde im Sommer 2003 auf einer eigens eingerichteten Homepage [1] veröffentlicht. Die Version qs-STAT ME 3.0 zur Control 2004 wird die erste Programmversion sein, die neben dem Q-DAS ASCII Transferformat auch das QML-Format lesen und speichern kann.

Für den an der verwendeten Technik interessierten Leser wird in den folgenden Abschnitten ein kleiner Einblick in XML (ExtensibleMarkupLanguage) gegeben.

QualityMarkupLanguage (QML) basiert auf XML, das ein Standard zum strukturierten Darstellen von Daten ist. Das Format ist universell und wurde von einem unabhängigen Konsortium, dem World Wide Web Consortium (kurz W3C [2]) in seiner Entwicklung vorangetrieben. XML hat äußerlich sehr große Ähnlichkeit mit HTML.

Mit XML können Informationen, die der Mensch rein aus der Struktur ableiten kann, maschinen-unabhängig eingelesen und verarbeitet werden. Als Beispiele seien hier die Gliederung eines Textes oder das Darstellen einer Hierarchie in einer Baumstruktur genannt. Was für den Menschen leicht ersichtlich ist, muss dem Computer auf eine andere Art beigebracht werden. Dazu ist XML das geeignete Werkzeug. 

Die Struktur einer XML-Datei wird durch die strikte Verwendung von Start- und Endekennzeichnungen, den sogenannten Tags (engl. tag = Markierung) definiert. 

 

Abbildung 1: QML Workshop April 2003

 

Eine XML-Datei ist nur dann gültig und verarbeitbar, wenn zu jedem Start- auch ein Endetag existiert; die Datei wird dann als wohlgeformt bezeichnet. Innerhalb eines Elementes können beliebig viele weitere Elemente aufgelistet werden, wodurch die hierarchische Baumstruktur aufgebaut wird. Es gibt zwei Arten, die eigentliche Information in XML zu übermitteln:

  • Als Text zwischen dem Start- und dem Endetag des Elementes (im Beispiel: Info1): 

z.B.: <Info1>hier wird die Information ausgetauscht</Info1>

  • Als Wert eines Attributes zu einem Element (im Beispiel: Info2):

z.B.: <Info2 information='hier wird die Information ausgetauscht'/>

Das Attribut und sein Wert stehen dabei direkt im Starttag, der wie in obigem Beispiel (Info2) auch direkt abgeschlossen werden kann, wenn keine Textinformation vorhanden ist ("/" steht an Stelle des Endetags). Einem Element können beliebig viele Attribute zugeordnet werden. Beide Informationsquellen können gleichermaßen gut ausgewertet werden.

Da die Teile- und Merkmalsdaten aus qs-STAT mit einer Baumstruktur beschrieben werden können, können diese mit XML sehr gut abgebildet werden. Das folgende Beispiel von Positionstoleranzen zeigt, wie mit QML die verschachtelte Struktur von Teilen und Merkmalen abgebildet wird.

Abbildung 2: Teile-/Merkmalsliste aus qs-STAT® 

 

Das Beispiel zeigt den hierarchischen Aufbau von einem Teil und seinen untergeordneten Merkmalen. Das Element Parts bildet sozusagen die äußere Klammer um die Teile-/Merkmalsliste. Darunter hängt ein Teil (Part; in diesem Fall als "Positionstoleranzen" bezeichnet), dem eine Positionstoleranz (PositionalTolerance; "Position 1") mit zwei Positionen (Position) als Merkmale untergeordnet sind. Diese Struktur wird alleine durch die Verschachtelung der QML-Elemente (Parts, Part, Positional Tolerance und Position) vorgegeben. 

 

Abbildung 3: Auszug aus einer QML-Datei

Wie aus dem Beispiel zu erkennen, sind die Namen der einzelnen QML-Elemente so gewählt, dass der Anwender aus ihnen schon Rückschlüsse auf den Informationsinhalt machen kann. Die Information wird in QML meistens in Attribute und deren Werte (siehe z.B. k2001 und k2002 in Abbildung 3) verpackt. Die Attributnamen entsprechen den K-Feldern aus dem Q-DAS® ASCII Transferformat. 

XML bietet die Möglichkeit, die innerhalb einer Datei erlaubten Elemente und Attribute vorzugeben. Dies geschieht in einer sogenannten Schema-Datei (Dateien mit der Endung *.xsd).

 

XML-Schema

Mit einem XML-Schema wird die Menge von XML-Elementen definiert, die in einer XML-Datei verwendet werden dürfen. Die Schemadatei ist selbst eine XML Datei, deren Schema vom W3C vorgegeben wurde. 

Einer XML-Datei muss das verwendete Schema sozusagen als "Bauvorschrift" zugewiesen werden. Dies geschieht im Kopf der XML-Datei. 

Das Verwenden von XML-Schemata ermöglicht den nächsten Vorteil der XML-Technologie: Das Validieren. Darunter versteht man die Prüfung der Inhalte und der Struktur einer XML-Datei beim Einlesen bezüglich den in der Schemadatei definierten Vorgaben. So können Fehler in den Transferdaten sehr schnell und komfortabel erkannt werden.

Zum Erstellen einer Schemadatei stehen viele Tools zur Verfügung. Folgende Abbildung zeigt die grafische Darstellung des in dem QML-Schema definierten Elementes Part und seiner möglichen Kindelemente.

In Abbildung 4 sieht man passend zu dem obigen Beispiel die Definition des Teiles und der Positionstoleranz. Das Diagramm ist so zu lesen, dass alle Elemente, die in der Grafik rechts von Part aufgelistet sind, auch als Elemente innerhalb des QML-Elementes vorkommen dürfen. Dies sind die in qs-STAT vorkommenden Merkmalstypen (VariableCharacteristic, Positional Tolerance usw.) sowie das Element Part selbst, um eine Teilehierarchie zu ermöglichen. Unterhalb der Positionstoleranz werden die einzelnen Positionen und/oder Messwerte (Value) des Elementes Positionstoleranz aufgeführt. Die Messwerte der einzelnen Positionen findet man entsprechend eine Ebene unterhalb der Position (in der Abbildung nicht mehr dargestellt).

 

Abbildung 4: Definition von Part in der XSD

 

Literatur/Links

[1] QML-Homepage http://www.qml-org.com

[2] W3C http://www.w3.org/XML

 

Home   Impressum    Datenschutz

Send an E-Mail with questions or comments on this website to:  webmaster  
Copyright © 2017 Q-DAS GmbH
Updated: 07/20/04