Regelbasierte syntaktische Veränderung von ausführbaren ...· Regelbasierte syntaktische Veränderung

  • View
    213

  • Download
    0

Embed Size (px)

Text of Regelbasierte syntaktische Veränderung von ausführbaren ...· Regelbasierte syntaktische...

  • Lehrstuhl fr Informatik 7Rechnernetze und Kommunikationssysteme

    Mirko Hansen

    Regelbasierte syntaktische Vernderung vonausfhrbaren UML2-Aktivittsdiagrammen aufSensorknoten am Beispiel von SunSPOTs

    Studienarbeit im Fach Informatik

    28. Oktober 2010

    Please cite as:Mirko Hansen, Regelbasierte syntaktische Vernderung von ausfhrbaren UML2-Aktivittsdiagrammen auf Sensorknotenam Beispiel von SunSPOTs, Studienarbeit, University of Erlangen, Dept. of Computer Science, October 2010.

    Friedrich-Alexander-Universitt Erlangen-NrnbergDepartment Informatik

    Rechnernetze und Kommunikationssysteme

    Martensstr. 3 91058 Erlangen Germany

    www7.informatik.uni-erlangen.de

    http://www7.informatik.uni-erlangen.de

  • Regelbasierte syntaktische Vernderung vonausfhrbaren UML2-Aktivittsdiagrammen

    auf Sensorknoten am Beispiel von SunSPOTs

    Studienarbeit im Fach Informatik

    vorgelegt von

    Mirko Hansen

    geb. am 3. Februar 1983in Kln

    angefertigt am

    Lehrstuhl fr Informatik 7Rechnernetze und Kommunikationssysteme

    Department InformatikFriedrich-Alexander-Universitt Erlangen-Nrnberg

    Betreuer: Gerhard Fuchs

    Betreuender Hochschullehrer: Prof. Dr.-Ing. Reinhard German

    Beginn der Arbeit: 1. Februar 2010

    Abgabe der Arbeit: 28. Oktober 2010

  • Erklrung

    Ich versichere, dass ich die Arbeit ohne fremde Hilfe und ohne Benutzung anderer

    als der angegebenen Quellen angefertigt habe und dass die Arbeit in gleicher oder

    hnlicher Form noch keiner anderen Prfungsbehrde vorgelegen hat und von dieser

    als Teil einer Prfungsleistung angenommen wurde.

    Alle Ausfhrungen, die wrtlich oder sinngem bernommen wurden, sind als

    solche gekennzeichnet.

    Declaration

    I declare that the work is entirely my own and was produced with no assistance

    from third parties.

    I certify that the work has not been submitted in the same or any similar form for

    assessment to any other examining body and all references, direct and indirect, are

    indicated as such and have been cited accordingly.

    (Mirko Hansen)

    Erlangen, 28. Oktober 2010

  • Abstract

    Programming of sensor nodes is a recent research topic on which the chair is

    specialized with the ACOOWEE project. They develop a framework that allows

    controlling Sun SPOTs (sensor nodes developed by Sun Microsystems) with UML2

    activity diagrams. Previously those diagrams had to be created with the UML2 tool

    Papyrus, then converted by XML transformation (XSLT) into an own RDF based

    format of the framework and at last imported and executed. With that solution

    there was no possibility at any time to modify the diagram at runtime within the

    framework.

    This thesis introduces exactly this possibility. UML2 activity diagrams can be modified

    with a ruleset, developed for this purpose. Though the modifications are limited

    to syntactical modifications. Due to the functionality of the ruleset it is possible to

    describe complex selection and replacement scenarios.

    By the use of generalization you are able to create universal UML2 activity diagrams

    that can get specialized by each sensor node itself. Furthermore you are able to

    readept diagrams to recent changes to environmental properties and correct minor

    mistakes without having to modify and convert the whole diagram again. With a

    simple programming interface, the developer can use the new feature everywhere

    within the framework in an easy and uncomplicated way.

    iii

  • Kurzfassung

    Programmierung von Sensorknoten ist ein aktuelles Forschungsthema, mit dem

    sich, im Zuge des ACOOWEE-Projekts, auch der Lehrstuhl beschftigt. Dort wird ein

    Framework entwickelt, welches die Steuerung von Sun SPOTs (Sensorknoten der

    Firma Sun Microsystems) per UML2-Aktivittsdiagrammen erlaubt. Bisher wurden

    diese Diagramme mit Hilfe des UML2-Tools Papyrus entworfen, anschlieend durch

    XML-Transformation (XSLT) in ein RDF-basiertes, eigenes Format des Frameworks

    konvertiert und schlielich eingelesen und ausgefhrt. Bei diesem Ablauf bestand zu

    keiner Zeit die Mglichkeit nderungen an einem Diagramm zur Laufzeit innerhalb

    des Frameworks durchzufhren.

    Mit dieser Arbeit wurde eben diese Mglichkeit geschaffen. UML2-Aktivittsdiagram-

    me lassen sich, mit einer eigens zu diesem Zweck entwickelten Regelsprache, vern-

    dern. Diese Vernderungen sind jedoch auf syntaktische nderungen beschrnkt.

    Durch die Funktionsvielfalt der Regelsprache ist es allerdings mglich sogar sehr

    komplexe Auswahl- und Ersetzungsszenarien zu behandeln.

    Durch Generalisierung lassen sich universelle UML2-Aktivittsdiagramme erstellen,

    welche von jedem Sensorknoten spezialisiert werden knnen. Auerdem knnen

    Vernderungen an der Umgebung angepasst, sowie kleinere Fehler korrigiert werden,

    ohne dabei das komplette Diagramm verndern und neu konvertieren zu mssen.

    Durch eine einfache Schnittstelle steht dem Programmierer die Neuerung an jeder

    Stelle des Frameworks, ohne greren Programmieraufwand, zur Verfgung.

    iv

  • Inhaltsverzeichnis

    Abstract iii

    Kurzfassung iv

    1 Einleitung 1

    2 Ziel 3

    2.1 Definition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

    2.1.1 Regelbasiert . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

    2.1.2 Syntaktische Vernderung . . . . . . . . . . . . . . . . . . . . . . 4

    2.2 Arbeiten auf dem Gebiet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

    2.3 Ansatz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

    3 Ausgangssituation 9

    3.1 Sun SPOTs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3.1.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

    3.1.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3.2 Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    3.2.1 UML2 Aktivittsdiagramme . . . . . . . . . . . . . . . . . . . . . 11

    3.2.2 Extensible Stylesheet Language Transformation (Extensible

    Stylesheet Language Translations (XSLTs)) . . . . . . . . . . . . 13

    3.2.3 Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

    4 Umsetzung 17

    4.1 Vernderung/Optimierung durch Extensible Markup Language (XML)-

    Konverter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

    4.2 Regelbasierte Vernderungen im Framework . . . . . . . . . . . . . . . 19

    4.2.1 Besucher-Entwurfsmuster . . . . . . . . . . . . . . . . . . . . . . 19

    4.2.2 Regelsprache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

    v

  • Inhaltsverzeichnis vi

    4.2.2.1 Auswahl . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

    4.2.2.2 Modifikation . . . . . . . . . . . . . . . . . . . . . . . . . 23

    4.2.3 Regelparser/-grammatik . . . . . . . . . . . . . . . . . . . . . . . 25

    4.2.4 Regelbaum . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

    4.2.5 Ablauf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

    4.2.6 Schnittstelle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    4.3 Vernderung/Optimierung durch Besucher . . . . . . . . . . . . . . . . 40

    5 Beispiele & Anwendungen 41

    5.1 Beispiele . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    5.2 Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    6 Zusammenfassung 49

    Abbildungsverzeichnis 52

    Tabellenverzeichnis 53

    Literaturverzeichnis 54

  • Kapitel 1

    Einleitung

    Programmierung von Sensorknoten ist ein weitlufiges und aktuelles Thema in

    der Forschung. Das ACOOWEE-Projekt [1] untersucht die Mglichkeit, UML2-

    Aktivittsdiagramme (UADs) auf Sensorknoten, speziell Sun SPOTs, ausfhren

    zu lassen. Zu diesem Zweck wurde ein Framework geschaffen, welches diese Funk-

    tionalitt bietet. Dabei wird ein UML2-Aktivittsdiagramm (UAD) mit Hilfe eines

    Modellierungstools entworfen, im XML Metadata Interchange (XMI)-Format ab-

    gespeichert, durch Transformationsregeln in ein anderes XML-basiertes Format

    gebracht und kann anschlieend verwendet und interpretiert werden.

    Das entwickelte Framework ist durchaus auch fr grere Mengen an Sensorkno-

    ten verwendbar, jedoch erffnet sich mit zunehmender Menge an Sensorknoten in

    einem, womglich heterogenen, Sensornetz ein Problem: Es befindet sich beispiels-

    weise ein kleiner Fehler in dem UAD. Um diesen beheben zu knnen, muss das UAD

    im Modellierungstool verndert werden, anschlieend erneut transformiert und an

    alle Sensorknoten verteilt werden. Wenn nun noch verschiedene Varianten dieses

    UADs verteilt wurden, wird diese Arbeit schnell sehr mhselig und zeitraubend.

    Ein Weg, den Aufwand fr dieses Problem zu minimieren, wird mit dieser Arbeit

    geschaffen: Es sollen gezielt UADs zur Laufzeit verndert werden knnen, wobei die

    Vernderungen durch Regeln ausgedrckt werden.

    Da es sich bei Sensorknoten um Gerte mit stark begrenzten Systemressourcen

    handelt, darf in diesem Zuge auch der Speicherverbrauch, sofern mglich, optimiert

    werden.

    Die Arbeit ist wie folgt aufgebaut: In Kapitel 2 wird das Ziel der Arbeit genauer

    beleuchtet. Kapitel 3 beschftigt sich mit dem Framework und der Umgebung vorher,

    1

  • 1 Einleitung 2

    Kapitel 4 mit dem Entwurf, der Umsetzung und Implementierung der