Zuordnung mithilfe von Klassen-Relationen
Bei der Zuordnung von Daten-Objekten des Quell- und Zielsystems mithilfe von Klassen-Relationen ist der erste Schritt wiederum die Externalisierung der AutomationML-System-Unit-Klassenbibliotheken aus beiden Systemen (1), vergleiche Bild 3. Im Anschluss erfolgt der Export der Daten aus dem Quellsystem in die Daten der AutomationML-Datei (2). Diese kann durch den Importer des Zielsystems eingelesen werden. Dabei sind dem Importer sowohl beide System-Unit-Klassenbibliotheken, als auch die Vorschriften, wie die einzelnen Klassen aufeinander zu mappen sind, bekannt. So kann zuerst ein Klassen-Mapping erfolgen (3) und in einem weiteren Schritt der Import der AutomationML-Daten inklusive der semantisch eindeutigen Zuordnung auf das eigene Objektmodell (4). Eine Erweiterung des Klassen-Mappings stellte die Zuordnung über Regeln dar. Dabei werden nicht nur die Klassen einander zugeordnet, sondern zusätzlich Regeln für z.B. Attributwerttransformationen erzeugt. Solche Regeln können in einer Transformationssprache wie beispielsweise XSLT formuliert werden.
Beispiel und Mappingwerkzeug
Ein typisches Anwendungsbeispiel für die Notwendigkeit eines Mappings ist die unterschiedliche Struktur in der Klassendefinition auf Basis unterschiedlicher Rollen in den Systemen, die Daten austauschen. In Bild 4 ist dies exemplarisch dargestellt. Hier baut sich im System A die Klassenstruktur entsprechend der konkreten Automatisierungsfunktionalität bzw. der Geräteklassifizierung, die in den Rollen abgebildet ist, auf. System B hingegen unterscheidet zwischen passiven und aktiven Objekten. Entsprechend des oben erläuterten Mappings von Rollen, müssen für einen Datenaustausch die Rollen \’Robot\‘, \’Tool\‘ und \’Fence\‘ auf die in System B verwendeten Klassen abgebildet werden. Für die im Beispiel dargestellte Exportdatei \’ExportA.aml\‘ heißt dies, dass die sechs exportierten Objekte auf fünf \’ActiveObjects\‘ und ein \’PassiveObject\‘ abgebildet werden. Zur Definition und Validierung solcher Zuordnungsstrategien wurde bei inpro ein prototypisches Werkzeug \’AutomationML Mapper\‘ entwickelt. Mit diesem ist es möglich, unterschiedliche Objektmodelle via AutomationML miteinander zu verknüpfen und so eine semantisch eindeutige Schnittstelle zwischen unterschiedlichen Werkzeugen zu erstellen. Bild 5 zeigt einen Ausschnitt der Werkzeugoberfläche. In diesem können die benötigten Zuordnungen bequem definiert und getestet werden.
Fazit
Der Austausch von Daten über eine syntaktisch eindeutige Schnittstelle ist ein erster bedeutender Schritt zur vollständigen Interoperabilität zwischen am Planungsprozess beteiligten Werkzeugen. Um das volle Potenzial dieser Schnittstellen auszuschöpfen, ist ein weiter Schritt notwendig, der die historisch gewachsenen Objektmodelle auch semantisch verknüpft. Um diese Herausforderung zu lösen, gab es in der Vergangenheit eine Reihe von Ansätzen, welche ein \’alles beschreibendes Weltmodell\‘ nutzten, was sich in der Praxis oft als nicht tauglich erwiesen hat. In diesem Beitrag wurde eine Möglichkeit vorgestellt, die dieses Problem löst, indem es Vorteile des Austauschformates AutomationML mit einfach zu definierenden Zuordnungsstrategien kombiniert und somit einen sowohl syntaktisch als auch semantisch eindeutigen Datenaustausch ermöglicht.