<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Service-Komposition von Reiseprozessen mittels Graphtransformation</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jo¨rg Daubert</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Erwin Aitenbichler</string-name>
          <email>erwing@informatik.tu-darmstadt.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Stephan Borgert</string-name>
          <email>borgert@tk.informatik.tu-darmstadt.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Fachbereich Informatik, Technische Universita ̈t Darmstadt</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Telecooperation Group, Fachbereich Informatik, Technische Universita ̈t Darmstadt</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>Zusammenfassung In dieser Arbeit wird ein dezentrales Verfahren zur Planung von Reiseprozessen vorgestellt. Transportdienstleister bieten ihre Dienste u¨ber einen Service-Marktplatz an und ko¨nnen mit Hilfe der Unified Service Description Language (USDL) effektiv vorselektiert werden. Der Reiseprozess wird durch schrittweise Verfeinerung und Graphtransformation erstellt. Auf diese Transformationen k¨onnen Dienste direkt Einfluss nehmen. Das macht unser Verfahren im Gegensatz zu zentralen Planungsansa¨tzen flexibel, offen und erweiterbar.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Einleitung</title>
      <p>Im Folgenden stellen wir unseren Ansatz zur intermodalen Reiseplanung vor,
der es erlaubt, das Navigations- und Scheduling-Problem in offenen
ServiceMa¨rkten zu lo¨sen.</p>
      <p>Der Rest des Papers ist wie folgt aufgebaut. In Abschnitt 2 werden zuna¨chst
verwandte Arbeiten diskutiert. In Abschnitt 3 wird die Systemarchitektur
vorgestellt, danach die Planungsmethode in Abschnitt 4. Abschnitt 5 beschreibt die
Implementierung. Der Artikel schließt mit der Zusammenfassung in Abschnitt 6.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Verwandte Arbeiten</title>
      <p>
        Graphenbasierte Modellierung mit mehreren Modalita¨ten wird in [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]
vorgeschlagen. Hierbei werden jeweils eigene Kanten fu¨r jede Modalit¨at verwendet.
Zum Bestimmen von Routen wird eine an SQL angelehnte Abfragesprache
vorgeschlagen. Der Ansatz adressiert prima¨r das Routingproblem, beru¨cksichtigt aber
Abfahrtszeiten nur eingeschr¨ankt. Im Rahmen des iTransIT -Frameworks [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]
wird ein gemeinsames Datenformat fu¨r Modalit¨aten beschrieben, das Common
Data Model. Es dient als Abstraktionsschicht, die u¨ber Geo-Datenbanken gelegt
wird. Ein Reiseplaner ist durch den Smart Traveler Information Service (STIS) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]
realisiert. Fu¨r die Routenberechnung werden einzelne, logische Subgraphen fu¨r
jede Transportmodalita¨t verwendet. Jedoch wa¨hlt der Benutzer zuerst eine
Modalita¨t aus, danach wird eine Route auf dem entsprechenden Graphen mittels eines
Ku¨rzeste-Wege-Algorithmus gesucht, verbleibende “Lu¨cken” werden dann mit
weiteren Modalita¨ten geschlossen. STIS adressiert ebenfalls prima¨r das
Routingund nicht das Schedulingproblem.
      </p>
      <p>
        Ontologiebasierte Modellierung wird in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] und [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] beschrieben. In [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]
wird eine Reise als eine Reihe von geordneten stop points zwischen Start und Ziel
modelliert. L¨osungen werden mittels einer inferenzbasierten Ontology-Engine
ermittelt, die zusa¨tzlich auf Geo-Datenbanken zugreift. Unterschiedliche journey
patterns k¨onnen verwendet werden, um z.B. Routen mit “wenig Fußweg” oder
mit “u¨berdachten stop points” zu finden. In [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] wird eine Datenmodellierung
mit dem Prot´eg´e-Werkzeug und eine Auswertung mit Hilfe des Jena-Frameworks
vorgenommen. Die vorgestellte Evaluation ist mit nur 25 Elementen sehr klein.
      </p>
      <p>
        Andere Ans¨atze wie [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] setzen auf Constraint Programming. Eine Reise
besteht aus tasks, welche zu templates (etwa “tip”, “fly”) zusammengefasst werden
k¨onnen (Abstraktion). Je ein Teil der Reise wird herausgegriffen, Alternativen
verglichen und dem Benutzer zur Auswahl gegeben. Das Constraint-Netzwerk
umfasst alle Nebenbedingungen und Berechnungen, durch die Templates wird die
Komplexita¨t u¨bersichtlich gehalten. Die Daten stammen von einer Reihe Agenten,
etwa Wrapper und Screenscraper fu¨r Fahrplanausku¨nfte. Einerseits muss der
Nutzer hier bei jedem Schritt aktiv werden und eine Wahl treffen, andererseits
sind dem Aufbau einer Reise durch statische Templates enge Grenzen in der
Flexibilita¨t gesetzt [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        SOA-basierte Systeme werden in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ] und [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] vorgestellt. Der in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]
vorgestellte Dienst ermittelt die gu¨nstigste Reise zwischen zwei St¨adten mittels
eines Service-Mashups. Aufgrund beschr¨ankter Granularit¨at und kaum
beru¨ck
      </p>
      <sec id="sec-2-1">
        <title>Dar0m7s:0ta0dUt,hMritte</title>
        <p>Berlin, Alex. Ziel
11:30 Uhr
Start</p>
        <p>Start
1
2
4</p>
      </sec>
      <sec id="sec-2-2">
        <title>3 Start</title>
        <p>Start
?
?
09:F3R0AUhr</p>
        <p>Reise
Flugreise
Lufthansa
?
?
...</p>
        <p>Lufthansa
...</p>
        <p>TXL
10:35 Uhr Ziel</p>
        <p>
          Ziel
Ziel
Ziel
(a) Systemarchitektur
(b) Schrittweise Prozessverfeinerung
sichtigter zeitlicher Nebenbedingungen eignet sich dieses Vorgehen kaum fu¨r ein
allgemeineres Reiseproblem. A¨hnlich ist Self-Serv [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] mit dem Complete Travel
Planning Service, einer P2P-basierten Methode zur Web-Service Orchestrierung.
Anhand eines State-Charts wird ein Reiseprozess erzeugt und nur auf Basis der
Schnittstellen werden passende Services (etwa Flugbuchung) gewa¨hlt.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Architektur und Dienstbeschreibung</title>
      <p>
        Der hier vorgestellte Ansatz zur automatischen Reiseplanung basiert auf
IoSTechnologien und der Service-Beschreibungssprache USDL, die im Rahmen des
Theseus/TEXO-Projekts [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] entwickelt wurden. Ziel von USDL (Unified Service
Description Language) [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] ist es, eine umfassende Beschreibung zu schaffen, mit
welcher zuku¨nftig Dienstleistungen auf IoS-Marktpla¨tzen angeboten und gefunden
werden k¨onnen. Eine wesentliche Neuerung von USDL ist der Einbezug
nichttechnischer Eigenschaften von Diensten (“business”, “operational”). Somit ko¨nnen
Ort und Zeit der Diensterbringung, sowie weitere nicht-funktionale Eigenschaften
beschrieben werden.
      </p>
      <p>Die Architektur ist in Abbildung 1a dargestellt und unterscheidet vier Arten
von Teilnehmern: Service Repository, Planer, Dienstleister und Clients. Der
Ablauf gestaltet sich wie folgt: Reisedienstleister beschreiben ihre Dienste mit
USDL, also an welchen Orten diese in Anspruch genommen werden k¨onnen,
sowie Webservices zur Planung, und hinterlegen diese im Repository (1). Schickt
ein Client eine Reiseplanungsanfrage an den Planer (2), erzeugt dieser mittels
Graphtransformation einen Reiseprozess und fragt dabei die zu verwendenden
Dienste am Repository ab (3). Dienste k¨onnen dann vom Planer aktiv mit
einbezogen werden (4).
4</p>
    </sec>
    <sec id="sec-4">
      <title>Planung von Reiseprozessen</title>
      <p>Das Ergebnis der Planung ist ein Reiseprozess, der detailliert beschreibt, wie
der Nutzer vom Startort zum Zielort reisen kann. Dieser Prozess k¨onnte sp¨ater
von einer Assistenzanwendung auf einem mobilen Gera¨t ausgefu¨hrt werden und
dem Benutzer Navigationsanweisungen geben. Zur Modellierung, Darstellung und
Ausfu¨hrung von Reiseprozessen verwenden wir Methoden aus dem
Gescha¨ftsprozessmanagement (BPM).</p>
      <p>
        Das Prozessmodell basiert auf der Sprache PASS (Parallel Activities
Specification Scheme) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Unser Verfahren k¨onnte ebenfalls zusammen mit anderen
Sprachen, wie z.B. BPEL, angewendet werden. PASS erfu¨llt allerdings alle unsere
Anforderungen und es kann viel an unn¨otiger Komplexit¨at vermieden werden.
Im Weiteren wurde in einer fru¨heren Arbeit eine Engine entwickelt, die
PASSProzesse auf mobilen Gera¨ten ausfu¨hren kann [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Damit ko¨nnen Anwendungen
zur mobilen Navigationsunterstu¨tzung des Benutzers erstellt werden.
      </p>
      <p>Aus der Sicht des Planers betrachten wir den Prozess zun¨achst abstrakt als
Graphen G = (V, E). Die Knoten V in diesem Graphen sind Aktivit¨aten, die
durch unterschiedliche Dienstleistungen erbracht werden, oder Pseudoknoten, wie
Start, Ziel, Split, Join, etc. Insbesondere entsprechen die Knoten also nicht
ra¨umlichen Orten, wie oftmals in Wegfindungsproblemen verwendet, sondern vielmehr
Diensten in einem Prozess. Die Kanten E beschreiben mo¨gliche U¨ berga¨nge, also
die zeitliche Abfolge von Aktivita¨ten.</p>
      <p>Knoten sind mit Kontextinformationen attributiert, insbesondere sind dies
Ort und Zeit. Diese Attribute existieren zweimal pro Knoten, n¨amlich fu¨r den
geplanten Beginn der Aktion, sowie dem Ende. Weiterhin k¨onnen alle
NichtPseudoknoten mit einer in USDL beschriebenen Dienstleistung versehen werden.
Verwendet man einen Graphen mit ausgezeichnetem Start- und Zielknoten als
Reiseprozess, dann ergibt sich mit jedem linearisierten Pfad zwischen Start und
Ziel ein Reiseplan, der angibt, wann und wo welche Dienstleistung genutzt werden
soll. Durch parallele Teilpfade lassen sich mehrere Alternativen ausdru¨cken, etwa
dass ein Bus oder alternativ wenige Minuten spa¨ter eine Straßenbahn verwendet
werden kann. Durch einen derart gestalteten Graphen k¨onnen auch komplexe
Anfragen ausgedru¨ckt werden, indem weitere Knoten fu¨r einen Hotelaufenthalt
oder gewu¨nschte Zwischenaufenthalte in den Ausgangsgraphen eingefu¨gt werden.</p>
      <p>
        Die Durchfu¨hrung einer Reiseplanung erfolgt durch Anwendung einer Reihe
von Regeln zur Transformation des Prozessgraphen. Die Kernidee dabei ist, mit
einem sehr einfachen Graphen zu beginnen und diesen schrittweise zu verfeinern,
also die Reise auszugestalten (Abbildung 1b). Der Graph wird mit dem
JavaFramework Graph Rewrite Library (GRL) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] bearbeitet. Graphsuchen und
-ersetzungen werden dabei in der Sprache RDL (Rule Description Language)
formuliert. Eine einfache Produktionsregel lautet z.B. wie folgt:
P() :- |F:Node,e:Edge,T:Node| :- F-e-&gt;T &amp; T.startTime!=null
:= |S:Node,f:Edge| S=new Node(), f=new Edge(), F-e-&gt;S-f-&gt;T;
Die linke Seite der Regel (LHS) beschreibt das Muster, das im Graphen
gefunden werden soll. In diesem Beispiel wird nach Belegungen der Variablen
F, e und T gesucht, die zwei Bedingungen erfu¨llen: Der Pfadausdruck verlangt,
dass F und T direkt durch die Kante e verbunden sind. Die folgende Bedingung
u¨berpru¨ft, ob das startTime-Attribut von T gesetzt ist. Die rechte Seite der Regel
(RHS) beschreibt die Transformation. Hier wird ein neuer Knoten S und eine neue
Kante f eingefu¨gt. Da GRL auch den Aufruf von Java-Methoden unterstu¨tzt,
vf e vt
vf
e' v
s
e'' v
t
vf
e' v
s
e'' v
t
vf
s
e'' v
t
(a) Einfu¨gen
      </p>
      <p>Abbildung 1: Graphtransformationen
(b) Substitution
ko¨nnen Transformationen auch alternativ in Java implementiert werden. Das ist
fu¨r komplexe Ersetzungen oft hilfreich.</p>
      <p>Zu Beginn besteht der Graph nur aus dem Start- und Zielknoten, sowie einer
Kante dazwischen. Zur schrittweisen Verfeinerung des Reiseprozesses dienen nun
die folgenden drei Grundkonzepte: Einfu¨gen, Substitution und Adaption.
Einfu¨gen: Beim Einfu¨gen wird im Repository ein Dienst gesucht, der die
Transportlu¨cke zwischen vf (from) und vt (to) mo¨glichst gut schließt. Hierbei werden
Ortsinformationen aus USDL-Beschreibungen ausgewertet. Weitere Kriterien, wie
die aktuelle Komplexita¨t des Graphen, sind mo¨glich. Auch Vorlieben des Nutzers
sind denkbar. Der neue Knoten vs repr¨asentiert dann diesen Dienst. Kante e
wird durch zwei neue Kanten e0 und e00 ersetzt, deren summierte verbleibende
Transportlu¨cke ku¨rzer als die von e sein muss. Mehrere Alternativen (parallele
Pfade) sind ebenfalls mo¨glich. Abbildung 1a zeigt diese Transformation.
Substitution: Im Falle der Substitution wird ein Knoten vs, dessen
USDLBeschreibung einen Webservice zur Substitution umfasst, durch einen Subgraphen
Gs ersetzt. Damit kann vs an einen anderen Dienst delegieren, z.B. kann der
abstrakte Knoten Flugreise durch den konkreten Anbieter Lufthansa ersetzt
werden, oder Gs kann als Template fu¨r einen komplexen Subgraphen dienen. Der
Anbieter Lufthansa kann etwa beschreiben, dass dieser Teil der Reise aus
Checkin, Gep¨ackaufgabe, Boarding, Flug, ... besteht. Ein Dienstleister kann somit
selbst die Transformation bestimmen, und damit den Reiseprozess entscheidend
beeinflussen. Der Ansatz wird damit auch offen hinsichtlich beliebiger, neuer
Transportmodalita¨ten. Dieses Vorgehen wird in Abbildung 1b illustriert.
Adaption: Die Adaption ist die schwa¨chste Form der Transformation und wirkt
sich nur auf die Attributierung eines Knotens aus. Auch hier wird ein durch
die USDL-Beschreibung gegebener Webservice abgefragt. Sinnbildlich kann man
diesen als Fahrplanauskunft betrachten. Dieses Konzept erlaubt die Handhabung
von fahrplanbasierten und nicht-fahrplanbasierten Transportdiensten. Bei
fahrplanbasierten Diensten erfolgt eine Anpassung an die Zeiten. Vor der Adaption
k¨onnte man etwa von einer unbestimmten Busfahrt sprechen, danach von einer
festen Verbindung mit Haltestellen und Fahrzeiten. Nicht-fahrplanbasierte
Dienste, wie eine Taxifahrt, stehen zu jeder Zeit zur Verfu¨gung. Deshalb wa¨re es nicht
mo¨glich, diese Zeiten statisch in der USDL-Beschreibung zu hinterlegen.</p>
      <p>Insgesamt wurden basierend auf diesen Konzepten 12 verschiedene
Transformationsregeln entwickelt. Fu¨r Adaption und Substitution existieren mehrere
Regeln um Optimierungsziele abzudecken, etwa ob von der Ankunftszeit
bevorzugt zuru¨ckgeplant wird oder ob die Abfahrtszeit maßgeblich ist. Weitere Regeln
der Adaption k¨onnen etwaige Wartezeiten minimieren. Pruning-Regeln dienen
zum Entfernen von schlechten Alternativen. Da Services direkt
Transformationsregeln fu¨r den Prozess mit einbringen ko¨nnen, sind außerdem Validierungsschritte
notwendig, um die Terminierung des Transformationsprozesses und korrekte
Prozesse sicherzustellen.</p>
      <p>
        Alle Regeln liegen in einer Priorit¨atsreihenfolge vor. Pruning hat eine hohe
Priorit¨at, Einfu¨gen aus dem Repository sollte dagegen nur durchgefu¨hrt
werden, falls eine Transportlu¨cke nicht anderweitig geschlossen werden kann. Der
Algorithmus fu¨hrt eine Reihe von Transformationsphasen bestehend aus Suche
und Transformation durch. Jede Phase beginnt mit der Suche. Dabei wird
immer mit der Regel h¨ochster Priorit¨at begonnen. Trifft die Bedingung der Regel
(LHS) auf dem Graphen an keiner Stelle zu, wird mit der jeweils na¨chsten Regel
fortgesetzt. Trifft keine Regel zu, endet der Algorithmus. Nach der Suche wird
die Transformation der Regel auf alle Treffer angewendet und die aktuelle Phase
endet [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
      </p>
      <p>Beispiel: Der Nutzer m¨ochte von Darmstadt Mitte ab 07:00 Uhr nach Berlin
Alexanderplatz (m¨oglichst bis 11:30 Uhr) reisen. Der Planer konstruiert aus
dieser Anfrage einen Graphen mit zwei attributierten Knoten: Start (07:00 Uhr,
Darmstadt) und Ziel (11:30 Uhr, Berlin Alex.). Eine Kante zwischen beiden
Knoten symbolisiert die Abfolge zwischen den Knoten, also den Reisewunsch,
und somit die Aufgabestellung (Abbildung 1b, Schritt 0). Beide Knoten haben
kein USDL-Attribut, daher scheiden Adaption und Substitution aus, es verbleibt
das Einfu¨gen. Entsprechend der Ortsangaben sowie des geringen Umfangs des
Graphen liefert das Repository einen allgemeinen Dienst zuru¨ck, hier als Beispiel
der Reise-Dienst der Lufthansa in Form einer USDL-Beschreibung. Daraus wird
ein neuer Knoten (mit USDL-Attribut) erstellt und eingefu¨gt (Schritt 1). Der
neue Knoten besitzt noch keine Kontextattribute (Ort &amp; Zeit), ist aber nach
der USDL-Beschreibung substituierbar und wird daher in der n¨achsten Phase
transformiert. Ein per USDL beschriebener Webservice des Reisedienstes wird
mit den umrahmenden Kontextinformationen (von Start und Ziel) aufgerufen.
Dieser w¨ahlt, hier anhand der Distanz, Fliegen als sinnvollste Reise-Modalit¨at
und liefert den Flugreise-Dienst zuru¨ck (Schritt 2). Da dem neuen Dienst
ebenfalls noch Kontextinformationen fehlen, und kein Webservice zur Substitution
enthalten ist, wird in Phase 3 eine Adaption durchgefu¨hrt und ein Webservice
der Flugreise aufrufen. Der Service sucht nach entsprechenden Flugh¨afen und
Flu¨gen, hier Flug LH176 um 9:30 Uhr von Flughafen Frankfurt nach Berlin
Tegel, und liefert diesen als Kontextinformationen zuru¨ck (Schritt 3). Hier wird
auch deutlich, dass durch simultane Wahl von Orten (wie Flugh¨afen) und
Zeiten Routing- sowie Scheduling kombiniert betrachtet werden. Der Dienst wa¨hlt,
a¨hnlich der Verbindungssuche der Deutschen Bahn, Haltestellen, Verkehrsmittel
sowie Abfahrtszeiten, um die Gesamtreisedauer zu minimieren, und nutzt dazu
das umfangreiche doma¨nenspezifische Wissen des Dienstleisters. Ein großer Teil
der Transportlu¨cke ist jetzt geschlossen. Es verbleiben kleinere Lu¨cken, die in
weiteren Phasen analog geschlossen werden. Natu¨rlich k¨onnen bei der
Substitution auch Graphen mit alternativen Dienstleistungen zuru¨ckgeliefert werden,
etwa Flug- sowie Bahnreise als auch bereits mit Kontextinformationen (Flu¨ge)
versehene alternative Flugreise-Dienste. Mit der Adaption sind auch nachtra¨gliche
A¨nderungen mo¨glich, beispielsweise ein spa¨terer Flug aufgrund langer Anreise.
5</p>
    </sec>
    <sec id="sec-5">
      <title>Implementierung</title>
      <p>Im Rahmen der Arbeit wurde ein USDL-basiertes Service-Repository auf Basis
von PostgreSQL und PostGIS entwickelt. Die Ortsinformationen werden aus den
USDL-Beschreibungen extrahiert und k¨onnen bei der Servicesuche verwendet
werden. Der Zugriff auf das Repository erfolgt u¨ber SOAP/HTTP. Fu¨r ein
realita¨tsnahes Szenario wurden eine Reihe von Diensten entwickelt, darunter ein
Flug-Dienst auf Basis eines Crawlers fu¨r Lufthansa-Webseiten, Dummy-Services
mit etlichen Haltestellen und zuf¨alligen Verbindungen fu¨r die Deutsche Bahn,
den RMV, die Berliner Verkehrsbetriebe, sowie ein Fußga¨ngerservice.</p>
      <p>
        Ein exemplarischer Client wurde als Android App realisiert (Abbildung 2).
Eine Reise von Darmstadt nach Berlin wurde als Szenario zur Abdeckung der
Dienste verwendet, hier kommen die Modalita¨ten zu Fuß, Bus, Zug, Flugzeug und
S-Bahn kombiniert zum Einsatz. Die Kommunikation zwischen Planer und Client
wurde mit der Kommunikations-Middleware MundoCore [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] implementiert.
      </p>
      <p>Nach ersten Tests korreliert die Laufzeit einer Reiseplanung mit dem Umfang
der Aufgabestellung. Der Haupteinflussfaktor sind die Zugriffe des Planers auf
Webservices der Reisedienstleister, einschließlich einer Anfrage an das Repository
sind dies maximal 3 Aufrufe fu¨r jeden Knoten. Das Beispielszenario umfasst
final 8 echte Knoten, involviert 5 verschiedene Teilnehmer und wurde mit 17
Transformationen erstellt.</p>
      <p>(a) Zieleingabe
(b) Reiseplan (Teil 1)</p>
      <p>(c) Reiseplan (Teil 2)</p>
      <p>Abbildung 2: Screenshots der Android App</p>
    </sec>
    <sec id="sec-6">
      <title>Zusammenfassung</title>
      <p>Eine Reiseplanung auf dieser Basis kann Dienstleister aktiv in die Planung mit
einbeziehen, auf deren Fahrplanausku¨nfte und Buchungssysteme zuru¨ckgreifen
und somit ideale, intermodale Reisepl¨ane erstellen. Weiterhin wird im Rahmen
der Verbreitung von Smartphones und Assistenzdiensten der Weg zu einer
ineinandergreifenden Reiseunterstu¨tzung ero¨ffnet.</p>
      <p>Danksagung. Diese Arbeit wurde unterstu¨tzt durch das Theseus-Programm, gefo¨rdert
durch das Bundesministerium fu¨r Wirtschaft und Technologie (Kennziffer: 01MQ07012).</p>
    </sec>
    <sec id="sec-7">
      <title>Literatur</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Aitenbichler</surname>
          </string-name>
          , E.:
          <article-title>Entwurf und Implementierung eines programmierten Graphersetzungssystems in Java</article-title>
          .
          <source>Master's thesis</source>
          , Johannes Kepler Universita¨t
          <string-name>
            <surname>Linz</surname>
          </string-name>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Aitenbichler</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Borgert</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          , Mu¨hlh¨auser, M.:
          <article-title>Distributed Execution of S-BPM Business Processes</article-title>
          .
          <source>In: S-BPM ONE 2010 - The Subjectoriented BPM Conference</source>
          . Springer (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Aitenbichler</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kangasharju</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Mu¨hlh¨auser, M.:
          <article-title>MundoCore: A Light-weight Infrastructure for Pervasive Computing</article-title>
          . Pervasive and Mobile
          <string-name>
            <surname>Computing</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Ambite</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barish</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , et al.:
          <article-title>Getting from here to there: Interactive planning and agent execution for optimizing travel</article-title>
          .
          <source>In: Proc. of AAAI</source>
          . pp.
          <fpage>862</fpage>
          -
          <lpage>869</lpage>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Arpinar</surname>
            ,
            <given-names>I.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            , R., Aleman-meza,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maduko</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Ontology-driven web services composition platform</article-title>
          .
          <source>In: Proc. of IEEE International Conference on e-Commerce Technology</source>
          . pp.
          <fpage>6</fpage>
          -
          <lpage>9</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Benatallah</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheng</surname>
            ,
            <given-names>Q.Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The self-serv environment for web services composition</article-title>
          .
          <source>IEEE Internet Computing</source>
          <volume>7</volume>
          (
          <issue>1</issue>
          ),
          <fpage>40</fpage>
          -
          <lpage>48</lpage>
          (
          <year>January 2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. BMWi: TEXO - Business Webs in the Internet of Services., http://www.theseusprogramm.de/anwendungsszenarien/texo/default.aspx, Stand:
          <volume>12</volume>
          .
          <fpage>10</fpage>
          .2010
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Booth</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sistla</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolfson</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cruz</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>A data model for trip planning in multimodal transportation systems</article-title>
          .
          <source>In: Proc. of the EDBT</source>
          . pp.
          <fpage>994</fpage>
          -
          <lpage>1005</lpage>
          . ACM (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Brennan</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Meier</surname>
          </string-name>
          , R.: STIS:
          <article-title>Smart travel planning across multiple modes of transportation</article-title>
          .
          <source>In: Proc. of ITSC</source>
          . pp.
          <fpage>666</fpage>
          -
          <lpage>671</lpage>
          . IEEE (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Daubert</surname>
          </string-name>
          , J.:
          <article-title>Service-Komposition von Reiseprozessen mittels Graphtransformation</article-title>
          .
          <source>Master's thesis</source>
          , TU Darmstadt (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Fleischmann</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <source>Distributed Systems: Software Design and Implementation</source>
          . Springer (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Houda</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Khemaja</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oliveira</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abed</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>A public transportation ontology to support user travel planning</article-title>
          .
          <source>In: Proc. of RCIS</source>
          . pp.
          <fpage>127</fpage>
          -
          <lpage>136</lpage>
          . IEEE (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Meier</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harrington</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cahill</surname>
          </string-name>
          , V.:
          <article-title>A framework for integrating existing and novel intelligent transportation systems</article-title>
          .
          <source>In: Proc. of ITSC</source>
          . pp.
          <fpage>154</fpage>
          -
          <lpage>159</lpage>
          . IEEE (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Navabpour</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ghoraie</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Malayeri</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chen</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lu</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>An Intelligent Traveling Service Based on SOA</article-title>
          .
          <source>In: Proc. of Services</source>
          . pp.
          <fpage>191</fpage>
          -
          <lpage>198</lpage>
          . IEEE (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>15. SAP Research: USDL Specifications. http://www.internet-of-services.com/</mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Wang</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ding</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jiang</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>An Ontology-based Public Transport Query System</article-title>
          .
          <source>In: Proc. of Semantics, Knowledge and Grid (SKG)</source>
          . p.
          <fpage>62</fpage>
          .
          <string-name>
            <surname>IEEE</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>