UML-OWL Transformation – Softwareentwicklung 2007

Ontologien

Semantic Web war und ist der feuchte Traum eines jeden Profi- und Hobbynerds. Und nach wie vor leider eher eine grosse Illusion bzw. akademische Spielwiese als realer Weballtag. Einer der Hauptgruende duerfte wohl sein, dass sich Realitaet einfach nie vollstaendig modellieren laesst – einer der Semantic Web Grundgedanken. Und dass sowieso jeder Realitaet anders wahrnimmt und daher auch nie ein allgemeingueltiges Modell entstehen kann. Und ueberhaupt. Was ist eigentlich real? Eine der Kernfragen in Philosophie und Erkenntnistheorie. Und waehrend der sogenannte semantische Realismus annimmt, dass es eine allgemeingueltige Interpretation der Realitaet gibt, sprechen tausende nicht miteinander zu vereinbarende Ontologien eines bestimmen realen Sachverhalts eine komplett andere Sprache.

Nichtsdestotrotz ist Semantic Web eine ganz tolle, neue Sache und eben eine spannende Spielwiese fuer Wissenschaftler und sonstige technikaffine Zeitgenossen. Eine, auf der auch allerlei lustige Softwareanwendungen entstehen, die wahnsinnig aufregende Sachen machen. Die aber meist leider mit konventionellen Methoden einfacher und effizienter entwickelt werden koennten. Meistens. Nicht immer. Wie dem auch sei, in jedem Fall spiele ich momentan auch auf dieser Spielwiese und habe meinen Spass.

Das basteln von aussagekraeftigen Ontologien in OWL ist aber meist eine leidige und hirnaufreibende Angelegenheit, die durch Systemabstuerze wackeliger Editoren und Reasoner und aehnliche Kinderkrankheiten nicht gerade vereinfacht wird. Dazu kommt, dass der gemeine Ontology-Designer auch meist zwei Modelle entwickelt – zum einen die eigentliche OWL-Ontologie und zum anderen ein huebsches UML-Model, dass visueller und uebersichtlicher ist und sich vor allem auch schick auf Konferenzen praesentieren laesst. OWL-Quellcode auf Powerpoint-Folien ist einfach weniger beeindruckend. Zumindest diese Problematik scheint gerade geloest zu werden, gibt es doch inzwischen das Ontogy Definition Metamodel (ODM) der OMG, welches nicht zuletzt auch ein UML-Profil fuer die Entwicklung von Ontologien enthaelt. Man braucht also nur noch einen UML-Editor, passende XSLT-Stylesheets und einen XSLT-Processor und kann aus dem XMI-Export des UML-Modells eine OWL-Datei generieren. Feine Sache und mehr dazu gibt es unter anderem hier.

Soviel also zu den Fakten. Da faellt mir auf, das „Softwareentwicklung“ 2007 nicht mehr viel mit Speicheradressierung und derlei hardwarenahem Zeugs zu tun hat, sondern inzwischen eher ein wildes Schichten von Metaebenen und Modellen ist. Beispiel: Ich generiere also mein UML-Modell, erstelle daraus eine OWL-Ontologie, die ich in WSML– oder OCML umwandle, mit denen ich semantische Beschreibungen von Web Services in WSMO erstelle, die wiederum in Java oder Lisp programmiert sind, und im Falle von Java bereits von Quellcode in Binaercode umgewandelt worden sind. Letzterer wiederum wird anschliessend von einer JVM interpretiert, die dann vielleicht in Assembler programmiert wurde und den Bytecode lieber nochmal in Nullen und Einsen uebersetzt. So oder aehnlich verkopft kann Software heute erstellt werden. Waehrend ich frueher einfach den C-64 angeschaltet habe, und dann in Basic mein tolles Fernseherstroboskop fuer die Schuldisco programmiert habe. Oder mir auch gleich mal einen Assemblerinterpreter gekauft habe. Der trug den toll retrofuturistischen Namen „Maschinenspracheeditor“ und war mir dann aber am Ende doch zu kryptisch.

Wie auch immer, ich werde jetzt wohl mal weiter Metaebenen stapeln oder neue Metaebenen fuer die Metaebenen definieren…

Advertisements

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s