<!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>Dienstgüte-basierte Service-Selektion für Zustandsbehaftete Services</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Dieter Schuller</string-name>
          <email>Dieter.Schuller@KOM.tu-darmstadt.de</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jan Sürmeli</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institut für Informatik, Humboldt-Universität zu Berlin</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Multimedia Communications Lab (KOM), Technische Universität Darmstadt</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Zusammenfassung In Serviceorientierten Architekturen können Geschäftsprozesse durch Komposition von lose gekoppelten Services realisiert werden. Sind entsprechende Services auf Service-Marktplätzen vorhanden, kann ein Service-Konsument zwischen Services wählen, die die von ihm benötigte Funktionalität bereitstellen, basierend auf deren Dienstgüte (engl.: Quality of Service - QoS). Diese QoS-basierte Service-Selektion wird in der Literatur zumeist für Zustandslose Services durchgeführt. Zustandsbehaftete Services können, je nach tatsächlichem Ausführungspfad, verschiedene Ausprägungen in ihren QoS-Attributen annehmen, was in verwandten Arbeiten bisher nicht berücksichtigt wird. In der vorliegenden Arbeit werden Ansätze skizziert, mit denen die QoS-basierte ServiceSelektion auch für Zustandsbehaftete Services durchgeführt werden kann.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        In hoch kompetitiven Märkten, in denen die agierenden Unternehmen ähnliche
Produkte und Services anbieten (wie bspw. in der Finanzindustrie), ist es
erforderlich, dass die Geschäftsprozesse effizient ausgeführt werden. Zudem müssen
Unternehmen in solchen Märkten in der Lage sein, ihre Geschäftsprozesse
dynamisch und flexibel an sich ändernde, marktgetriebene Rahmenbedingungen
anzupassen. Diese Flexibilität können Unternehmen durch die Umsetzung einer
Serviceorientierten Architektur (SOA) erreichen, in der lose gekoppelte Services –
mit einer mehr oder weniger grob granularen Funktionalität (vgl. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]) – für die
Realisation der Unternehmenseigenen Geschäftsprozesse eingesetzt werden. In
diesem Zusammenhang – um agile Geschäftsprozesse zu ermöglichen und sie zu
unterstützen – wird das SOA Paradigma häufig empfohlen [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>
        Um die Realisation der Geschäftsprozesse möglichst effizient zu gestalten,
sollten diejenigen Services eingesetzt werden, die sowohl die notwendigen
Funktionalitäten bereitstellen als auch den qualitativen Anforderungen der Unternehmen
genügen. Diese Services müssen dabei nicht notwendigerweise ausschließlich im
eigenen Unternehmen vorhanden sein. Sind (aus funktionaler Sicht)
entsprechende Services auf Service Marktplätzen verfügbar – wie in der Vision des
Internet of Services postuliert – können Unternehmen zwischen Services (die
die benötigte Funktionalität bereitstellen) basierend auf deren Qualität (engl.:
Quality of Service – QoS) wählen. Dieses Service-Selektions-Problem (SSP) wurde
in der Literatur bereits in vielen Arbeiten (bspw. in [
        <xref ref-type="bibr" rid="ref3 ref4 ref5">3–5</xref>
        ]) adressiert, jedoch
lediglich für Zustandslose Services gelöst. Bei Zustandsbehafteten Services sind
die zur Laufzeit aufgerufenen Operationen innerhalb der Services im Vorhinein
unbekannt, sodass zur Planungszeit (Zeitraum, in dem das SSP gelöst wird)
nicht mit Sicherheit gesagt werden kann, welche QoS-Attribute die einzelnen
Services zur Laufzeit haben werden. Dieses Problem wird in der vorliegenden
Arbeit adressiert.
      </p>
      <p>Im folgenden Abschnitt 2 wird die vorliegende Arbeit von verwandten Arbeiten
abgegrenzt. In Abschnitt 3 wird das SSP (für Zustandslose Services) vorgestellt,
für dessen Lösung feste (eindeutige) QoS-Werte erforderlich sind. Die besonderen
Eigenschaften für Zustandsbehaftete Services werden anschließend in Abschnitt 4
beschrieben. Darauf aufbauend skizziert Abschnitt 5 mögliche Ansätze für das
SSP mit Zustandsbehafteten Services. Abschnitt 6 dient der Zusammenfassung
des vorliegenden Beitrags sowie der Vorstellung von Ideen für zukünftige Arbeiten.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Verwandte Arbeiten</title>
      <p>
        Das SSP (für Zustandslose Services) wurde in der Literatur bereits von vielen
Autoren adressiert. In einigen Arbeiten (bspw. in [
        <xref ref-type="bibr" rid="ref3 ref6 ref7">3, 6, 7</xref>
        ]) werden heuristische
Lösungsansätze vorgeschlagen. Ansätze, die auf eine optimale Lösung des SSP
abzielen, werden in [
        <xref ref-type="bibr" rid="ref8 ref9">8,9</xref>
        ] beschrieben. Um das SSP für komplexe Workflowpatterns
zu lösen, wird bei diesen Arbeiten für jeden möglichen (sequenziellen)
Ausführungspfad eine Lösung mithilfe von Standardmethoden (wie Branch &amp; Bound)
aus dem Bereich des Operations Research [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] erstellt. Dies umfasst auch
Zyklische Strukturen, sodass solche Strukturen zunächst offen gelegt werden müssen.
Insofern ist Kenntnis und Berücksichtigung aller möglichen Ausführungspfade,
deren Anzahl mit jeder zusätzlichen Verzweigung exponentiell ansteigt, für die
Berechnung einer optimalen Lösung Voraussetzung.
      </p>
      <p>Der vorliegende Ansatz zielt ebenfalls auf die Berechnung einer (nahezu)
optimalen Lösung für das SSP ab. Die Kenntnis aller möglichen Ausführungspfade
wird dabei jedoch nicht benötigt, wodurch sich der vorliegende Ansatz von
verwandten Arbeiten in diesem Bereich abgrenzt. Des Weiteren können auch
rekursive Verschachtelungen von Workflowpatterns berücksichtigt werden, was
nach unserem Wissensstand in verwandten Arbeiten nicht adressiert wurde.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Service-Selektions-Problem</title>
      <p>Bei der QoS-basierten Service-Selektion geht es darum, für einen abstrakten
Workflow (bspw. in Business Process Modeling Notation – BPMN) konkrete
Services zu finden, die die einzelnen Workflow-Schritte (d. h., die abstrakten Services)
realisieren. Das Ergebnis der Service-Selektion stellt dabei einen Ausführungsplan
PS1</p>
      <p>PS2</p>
      <p>PS8
PS12</p>
      <p>PS9</p>
      <p>PS10
PS13
PS6</p>
      <p>PS11</p>
      <p>PS14
Abbildung 1: Beispiel für einen Workflow
PS7</p>
      <p>PS15
dar, in dem eine Zuordnung von konkreten Services zu den einzelnen abstrakten
Services vorgenommen wird.</p>
      <p>
        Um ein solches SSP spezifizieren und lösen zu können, müssen die
QoSAttribute der infrage kommenden Services entsprechend ihrer Anordnung im
Workflow aggregiert werden. In der vorliegenden Arbeit berücksichtigen wir
dabei die Workflowpatterns Sequenz, AND-Split/-Join, XOR-Split/-Join, die
in [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] beschrieben sind, sowie Simple Loop (vgl. [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]). Ein Beispiel für einen
solchen Workflow ist in Abbildung 1 gegeben. Die Workflowschritte sind in dieser
Abbildung mit PS abgekürzt.
      </p>
      <p>Die Menge der abstrakten Services bezeichnen wir mit I, i ∈ I = {1, ..., n}.
Jedem abstrakten Service wird exakt ein konkreter Service j ∈ Ji = {1, ..., mi}
zugeordnet. Dabei geben die Entscheidungsvariablen xij ∈ {0, 1} wider, ob
ein konkreter Service j einem abstrakten Service i zugeordnet ist. Als
nichtfunktionale bzw. QoS-Parameter verwenden wir Ausführungszeit e (benötigte
Zeit, um einen Service auszuführen), Kosten c (Kosten für die Invokation eines
Services), Zuverlässigkeit r (Wahrscheinlichkeit, dass der Service erfolgreich
ausgeführt wird), sowie Durchsatz d (Anzahl paralleler Service Invokationen). Mit
diesen Parametern lassen sich die Aggregationstypen Summation, Multiplikation
sowie Min/Max-Operator abdecken, sodass weitere QoS-Parameter, die zu diesen
Aggregationstypen gehören, leicht eingefügt werden können. Bezüglich möglicher
Verzweigungen definieren wir die Menge L der Pfade l als l ∈ L = {1, ..., l#}.
D. h., l stellt die entsprechende Pfad-Nummer innerhalb einer Verzweigung dar.
Die AND-Verzweigung nach P S1 erzeugt drei Pfade l, d. h. L = {1, 2, 3}. Die
Menge der abstrakten Services innerhalb einer Verzweigung L wird mit IWL ⊆ I
bezeichnet. IWl ⊆ IWL stellt die Menge der abstrakten Services eines Pfads l
dar. Das Ergebnis der Service-Selektion, d. h. die Menge der selektierten
Services, wird durch S dargestellt. Gibt es bei dem betrachteten Workflow mehrere
Ausführungsmöglichkeiten bzw. mehrere Ausführungspfade (wie bspw. bei dem
XOR-Split nach P S2 in Abbildung 1), ist zur Planungszeit nicht bekannt, welcher
der möglichen Pfade ausgeführt wird.</p>
      <p>In einer Average-Case Analyse werden Wahrscheinlichkeiten pl für mögliche
Pfade l angenommen, die angeben, mit welcher Wahrscheinlichkeit (bei einem
XOR-Split) ein bestimmter Pfad ausgeführt wird, und bei Berechnung einer</p>
      <p>Sequenz AND-Split/-Join XOR-Split/-Join Loop
e P P eijxij max( P P eijxij) P pl P P eijxij 1−1ρi eij
i∈IS j∈Ji l∈L i∈IWl j∈Ji l∈L i∈IWl j∈Ji
c P P cijxij P P P cijxij P pl P P cijxij 1−1ρi cij
i∈IS j∈Ji l∈L i∈IWl j∈Ji l∈L i∈IWl j∈Ji
r Q P rijxij Q Q P rijxij P pl Q P rijxij (11−−ρρii)rrijij
i∈IS j∈Ji l∈L i∈IWl j∈Ji l∈L i∈IWl j∈Ji
d min( P dijxij) ml∈iLn(i∈mIiWnl(jP∈Ji dijxij)) P pl min ( P dijxij) dij
i∈IS j∈Ji l∈L i∈IWl j∈Ji</p>
      <p>
        Tabelle 1: Average-Case Aggregationsfunktionen
Lösung für das SSP berücksichtigt. Hierfür verwenden wir die
Aggregationsfunktionen in Tabelle 1, die in unserer Arbeit in [
        <xref ref-type="bibr" rid="ref14 ref15">14, 15</xref>
        ] erläutert werden. Die
Berücksichtigung von Loops ist ebenfalls dort beschrieben. Die berechnete Lösung
(als Ergebnis der Optimierung) spiegelt dann den Mittelwert über alle Pfade
wider. Insofern werden gegebene untere bzw. obere Schranken (Restriktionen
für die QoS-Parameter) lediglich (rechnerisch) im Durchschnitt eingehalten. Die
Durchführung einer solchen Average-Case-Analyse wird in unserer Arbeit in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]
vorgestellt und daher in der vorliegenden Arbeit nicht weiter beschrieben.
      </p>
      <p>
        Bei einer Worst-Case-Analyse betrachtet man im Unterschied zu der
AverageCase-Analyse für jeden QoS-Parameter den schlechtest möglichen Pfad – bspw.
den Pfad mit der größten aggregierten Ausführungszeit oder mit der geringsten
Zuverlässigkeit. Dies können durchaus unterschiedliche Pfade für die verschiedenen
QoS-Parameter sein. Das Ergebnis einer solchen Service-Selektion für den
WorstCase wäre ein Ausführungsplan, der die QoS-Restiktionen für den gesamten
Workflow auf keinen Fall verletzt. Bei einer Best-Case-Analyse wird analog
der Worst-Case-Analyse für jeden QoS-Parameter der best mögliche Pfad bei
der Optimierung berücksichtigt. Das bedeutet, dass für die jeweils anderen
Pfade die Restriktionen nicht berücksichtigt und insofern (höchstwahrscheinlich)
verletzt werden. Das Ergebnis einer solchen Service-Selektion führt zu einem
Ausführungsplan, bei dem die Zielfunktion den best möglichen Wert im Vergleich
zur Worst-Case und Avg-Case-Analyse aufweist, jedoch werden die Restriktionen
möglicherweise in keinem der möglichen Ausführungspfade eingehalten. Bezüglich
der in Tabelle 1 angegebenen Average-Case-Aggregationsfunktionen würden sich
bei einer Worst-/Best-Case-Analyse lediglich die Funktionen für XOR-Split/-Join
ändern – wie in [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] beschrieben – und es würden untere (Best-Case) bzw. obere
(Worst-Case)-Schranken für die Anzahl an Iterationen bei Loops angenommen.
Diese (geänderten) Funktionen werden dann für die Optimierung des SSPs
herangezogen.
      </p>
      <p>
        Unabhängig davon, welche dieser drei möglichen Analysen schlussendlich
durchgeführt wird, würde bei der Optimierung des SSPs (wie in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]) davon
ausgegangen, dass für jeden QoS-Parameter eines Services genau ein Wert existiert.
Werden jedoch Zustandsbehaftete Services betrachtet, kann diese Annahme nicht
getroffen werden. Stattdessen stehen hier Wertebereiche für die einzelnen QoS
Werte zur Verfügung, was im folgenden Abschnitt erläutert wird.
      </p>
    </sec>
    <sec id="sec-4">
      <title>Zustandsbehaftete Services</title>
      <p>Ein Zustandsbehafteter Service ist ein offenes System mit eigenem Kontrollfluss
und eigenen Zuständen. Ein Zustand umfasst wie bei einem abgeschlossenen
System den aktuellen Wert aller Systemgrößen. Der Kontrollfluss ändert den Zustand
des Systems basierend auf dem aktuellen Zustand: Es werden Entscheidungen
basierend auf Systemgrößen oder nichtdeterministisch getroffen. Zudem werden
besagte Systemgrößen manipuliert. Der Unterschied zu einem abgeschlossenen
System besteht darin, dass ein Service mit seiner Umwelt kommuniziert. Diese
Umwelt kann wiederum aus mehreren Services bestehen. So kann beispielsweise
ein Service zur Buchung einer Reise an einen Service für die Hotelsuche und
einen Service zur Flugsuche gebunden sein. Die Ein- und Ausgabedaten eines
Zustandsbehafteten Services sind also Ein- und Ausgabeströme von Nachrichten
der Umwelt. Die Reaktion des Services auf eine bestimmte Nachricht seiner
Umwelt ist stets abhängig von seinem inneren Zustand: So wird beispielsweise eine
bestimmte Anfrage a erst genehmigt, wenn von der Umwelt vorher bereits
Nachricht b gesendet wurde. An seinem inneren Zustand kann der Service erkennen,
ob b bereits empfangen wurde oder nicht.</p>
      <p>Da zur Planungszeit das genaue Verhalten der Umwelt nicht bekannt ist,
also nicht vorausgesagt werden kann, welche Nachrichten genau an den Service
gesendet werden, können wir auch nicht genau sagen, welcher Pfad des
Kontrollflusses tatsächlich während der Ausführung gewählt wird. Daher ist auch zur
Planungszeit nicht klar, welche Operationen wie häufig und in welcher
Reihenfolge ausgeführt werden. Dies macht die Angabe von fixen QoS-Werten für einen
Zustandsbehafteten Service in der Regel unmöglich.</p>
      <p>
        Es ist jedoch möglich, Wertebereiche V für jeden einzelnen QoS-Parameter
anzugeben (bspw. Ve, Vc, Vr, Vd), die jeden möglichen Pfad des Kontrollflusses
abdecken. Die einfachste Variante dafür ist ein Intervall, das eine untere und eine
obere Grenze für jeden QoS-Parameter angibt. In einigen Fällen ist es schwierig
oder gar unmöglich, eine genaue obere oder untere Grenze für einen Parameter
anzugeben. In diesem Falle muss entweder approximiert oder das fehlende Wissen
über eine Schranke als offenes Intervall kodiert werden. Alternativ zu Intervallen
können wir uns bspw. Paare aus Erwartungswert und Standardabweichung
vorstellen. Das Finden solcher genauen oder approximierten Wertebereiche kann auf
unterschiedliche Art und Weise geschehen. Eine Variante ist es, das Modell des
Services zu analysieren [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Dabei wird jedes mögliche Verhalten der Umwelt in
Betracht gezogen; das Ergebnis ist ein Intervall. Ohne weiteres Wissen über das
bevorzugte Verhalten der Umgebung ist es nicht möglich, die Werte im Intervall
zu gewichten. Eine weitere Variante wäre Monitoring, wobei alle Ausführungen
des Services aufgezeichnet werden (vgl. [17]). Anhand dieser gespeicherten
Informationen können möglicherweise Rückschlüsse auf nachfolgende Ausführungen
getroffen werden. Die Kombination beider Verfahren würde die Gewichtung der
Werte innerhalb des Intervalls erlauben.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Service-Selektion bei Zustandsbehafteten Services</title>
      <p>Stehen keine eindeutigen QoS-Werte für die einzelnen Services zur Verfügung
sondern Wertebereiche, gestaltet sich der Vergleich zweier Services bezüglich ihrer
QoS schwieriger. Dies wird an folgendem Beispiel verdeutlicht: Kostet ein Service
S1 bspw. fest 2ct pro Invokation und benötigt er dabei fest 3s (Ausführungszeit),
so können diese Werte mit denjenigen von Service S2 verglichen werden, der bspw.
fest 3ct kostet bei einer festen Ausführungszeit von 2s. Hinsichtlich Kosten wäre
S1 besser als S2, hinsichtlich Ausführungszeit wäre S2 zu bevorzugen. Über die
individuelle Präferenz des Nutzers hinsichtlich der verschiedenen QoS-Parameter
kann dann entschieden werden, welcher Service ausgewählt werden soll. Sind
jedoch Wertebereiche anstatt fester Werte für jeden QoS-Parameter gegeben,
ist diese Entscheidung nicht mehr trivial. Zwei Services können ohne Weiteres
nicht miteinander verglichen werden. Insofern kann auch kein Ranking für die
Kandidaten von Services für eine abstrakte Aktivität erstellt werden. Für die
Service-Selektion müssen Services jedoch miteinander verglichen werden können.</p>
      <p>Im Folgenden werden daher Ansätze skizziert, um das SSP bei Vorliegen von
Wertebereichen für einzelne QoS-Parameter zu lösen. Für jeden Ansatz wird
eine Annahme bezüglich der Spezifikation des Wertebereichs getroffen. Für den
jeweils erstellten Ausführungsplan können die QoS für den gesamten Workflow
zwar nicht eindeutig bestimmt werden, sie haben allerdings je nach Verfahren
bestimmte Eigenschaften.
5.1</p>
      <sec id="sec-5-1">
        <title>Worst QoS – Worst Case</title>
        <p>Für dieses Verfahren wird angenommen, dass der Wertebereich in Form eines
geschlossenen Intervalls vorliegt. Für jeden Service wird für jeden QoS-Parameter
der jeweils schlechteste Wert – Worst QoS – für das Optimierungsproblem
herangezogen. Der schlechteste Wert ist für jeden QoS-Parameter entweder die
linke oder rechte Grenze des Intervalls: e := max(Ve), c := max(Vc), r :=
min(Vr), d := min(Vd). Um hier tatsächlich eine Worst-Case Abschätzung zu
erhalten, schlagen wir vor, eine Worst-Case-Analyse durchzuführen (vgl. Abschnitt
3). Ergebnis dieser Worst-Case-Analyse ist ein Ausführungsplan. Um nun dem
Umstand Rechnung zu tragen, dass keine fixen QoS Werte sondern lediglich QoS
Intervalle haben, werden in einem zweiten Schritt für die erhaltene Selektion
von Services QoS-Intervalle V We, V Wc, V Wr, V Wd für den gesamten Workflow
berechnet. Hierfür werden die unteren und oberen Schranken durch Aggregation
der jeweils schlechtesten bzw. besten Werte der jeweiligen QoS-Intervalle (der
selektierten Services) bestimmt. D. h., min(V We) = Aggregate(min(Vej )|∀j ∈ S)
und max(V We) = Aggregate(max(Vej )|∀j ∈ S), wobei sich Aggregate auf die
Verwendung der entsprechenden Aggregationsfunktion in Tabelle 1 bezieht. Die
Berechnung der entsprechenden Intervalle für die anderen QoS-Parameter erfolgt
analog. Somit wird ein Ausführungsplan erstellt, für den die gegebenen
QoSRestiktionen stets eingehalten werden und für den die aggregierten QoS-Werte
in den entsprechenden Intervallen [min(V W ), max(V W )] liegen.</p>
        <p>Zusammenfassend sei an dieser Stelle noch mal erwähnt, dass für die
Durchführung der Worst-Case-Analyse die untere/obere QoS Intervallgrenze der einzelnen
Services herangezogen wird, um diese Services für die Optimierung miteinander
vergleichen zu können, was (wie oben erwähnt) eine Voraussetzung zur
Durchführung der Optimierung darstellt. Für die Berechnung der zu erwartenden QoS für
den gesamten Workflow werden anschließend sowohl die oberen als auch unteren
QoS Intervallgrenzen der ausgewählten Services berücksichtigt, um auf diese
Weise das ganze QoS Intervall eines Services abdecken zu können.
5.2</p>
      </sec>
      <sec id="sec-5-2">
        <title>Average QoS – Average Case</title>
        <p>Ein zweiter möglicher Lösungsansatz funktioniert unter der Annahme, dass für
jeden QoS-Parameter der Wertebereich in Form von Mittelwert und
Standardabweichung vorliegt. Diese können bspw. durch Simulation oder Monitoring gefunden
werden (vgl. Abschnitt 4). Es bietet sich die Durchführung einer
Average-CaseAnalyse an (vgl. Abschnitt 3), für die die besagten Mittelwerte der einzelnen
QoS-Parameter herangezogen würden. Das Ergebnis wäre ein Ausführungsplan,
der die Restriktionen im Durchschnitt erfüllt. Mithilfe der Standardabweichungen
für die QoS-Werte der selektierten Services oder durch Simulation ließe sich
ebenfalls ein Intervall für die QoS-Werte des gesamten Workflows gemäß des
errechneten Ausführungsplans generieren.
5.3</p>
      </sec>
      <sec id="sec-5-3">
        <title>Best QoS – Best Case</title>
        <p>Analog zu Abschnitt 5.1 könnten für die Service-Selektion auch die jeweiligen
besten Werte aus den QoS-Intervallen (e := min(Ve), c := min(Vc), r := max(Vr),
d := max(Vd)) herangezogen werden. Mit diesen würde eine Best-Case-Analyse
durchgeführt. Basierend auf dem berechneten Ausführungsplans ließen sich analog
zu Abschnitt 5.1 Intervalle für die QoS-Werte auf Workflow-Ebene bestimmen.
Jedoch ist bei Durchführung einer Best-Case-Analyse sowie durch die Wahl der
jeweils besten Werte für die QoS-Parameter die Wahrscheinlichkeit eher hoch,
dass bei der Ausführung des auf diese Weise erstellten Ausführungsplans die
QoS-Restriktionen verletzt werden.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Zusammenfassung und Ausblick</title>
      <p>
        Das SSP wird in der Literatur in vielen wissenschaftlichen Arbeiten diskutiert.
Nach unserem Wissensstand wurden hier jedoch stets Zustandslose Services
berücksichtigt. In der vorliegenden Arbeit wurde das SSP mit Zustandsbehafteten
Services adressiert. Die Herausforderung besteht dabei darin, dass für die infrage
kommenden Services keine eindeutigen QoS-Werte existieren (vgl. Abschnitt 4).
In unserer Arbeit in [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] haben wir diesbezüglich ein Verfahren entwickelt, mit
dem sich Intervalle für die QoS-Werte approximieren lassen. Unter Verwendung
dieser Intervalle wurden in Abschnitt 5 mögliche Ansätze für die Lösung des SSP
mit Zustandsbehafteten Services skizziert. Unsere zukünftige Arbeit zielt auf die
Umsetzung und Evaluation dieser Ansätze sowie auf deren Kombination ab.
      </p>
    </sec>
    <sec id="sec-7">
      <title>Literatur</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Krafzig</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Banke</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Slama</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Enterprise</surname>
            <given-names>SOA</given-names>
          </string-name>
          :
          <string-name>
            <surname>Service-Oriented Architecture Best Practices. Prentice Hall</surname>
            <given-names>PTR</given-names>
          </string-name>
          , Upper Saddle River, NJ, USA (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Papazoglou</surname>
            ,
            <given-names>M.P.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Service-Oriented</surname>
            <given-names>Computing</given-names>
          </string-name>
          :
          <article-title>Concepts, Characteristics and Directions</article-title>
          .
          <source>In: Web Information Systems Engineering</source>
          . (
          <year>2003</year>
          )
          <fpage>3</fpage>
          -
          <lpage>12</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Anselmi</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ardagna</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cremonesi</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>A QoS-based Selection Approach of Autonomic Grid Services</article-title>
          . In: International Conference on Service-oriented
          <string-name>
            <surname>Computing</surname>
          </string-name>
          .
          <article-title>(</article-title>
          <year>2007</year>
          )
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Menascé</surname>
            ,
            <given-names>D.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Casalicchio</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dubey</surname>
          </string-name>
          , V.:
          <article-title>A Heuristic Approach to optimal Service Selection in Service-oriented Architectures</article-title>
          .
          <source>In: Workshop on Software and Performance</source>
          . (
          <year>2008</year>
          )
          <fpage>13</fpage>
          -
          <lpage>24</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Huang</surname>
            ,
            <given-names>A.F.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lan</surname>
            ,
            <given-names>C.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yang</surname>
            ,
            <given-names>S.J.H.:</given-names>
          </string-name>
          <article-title>An optimal QoS-based Web Service Selection Scheme</article-title>
          .
          <source>Information Sciences</source>
          <volume>179</volume>
          (
          <issue>19</issue>
          ) (
          <year>2009</year>
          )
          <fpage>3309</fpage>
          -
          <lpage>3322</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Jaeger</surname>
            ,
            <given-names>M.C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rojec-Goldmann</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>SENECA-Simulation of Algorithms for Selection of Web Services for Composition</article-title>
          . In: Technologies for
          <string-name>
            <surname>E-Services.</surname>
          </string-name>
          (
          <year>2005</year>
          )
          <fpage>84</fpage>
          -
          <lpage>97</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Mabrouk</surname>
            ,
            <given-names>N.B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Georgantas</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Issarny</surname>
          </string-name>
          , V.:
          <article-title>A semantic end-to-end QoS Model for dynamic Service oriented Environments</article-title>
          .
          <source>In: Proceedings of PESOS</source>
          . (
          <year>2009</year>
          )
          <fpage>34</fpage>
          -
          <lpage>41</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Ardagna</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pernici</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Adaptive Service Composition in Flexible Processes</article-title>
          .
          <source>IEEE Trans. Software Eng</source>
          .
          <volume>33</volume>
          (
          <issue>6</issue>
          ) (
          <year>2007</year>
          )
          <fpage>369</fpage>
          -
          <lpage>384</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Zeng</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benatallah</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ngu</surname>
            ,
            <given-names>A.H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kalagnanam</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chang</surname>
          </string-name>
          , H.:
          <article-title>QoS-Aware Middleware for Web Services Composition</article-title>
          .
          <source>Transactions on Software Engineering</source>
          <volume>30</volume>
          (
          <issue>5</issue>
          ) (
          <year>2004</year>
          )
          <fpage>311</fpage>
          -
          <lpage>327</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Domschke</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Drexl</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          : Einführung in Operations Research. Springer Verlag, Heidelberg (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Van Der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ter</surname>
            <given-names>Hofstede</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>A.H.M.</given-names>
            ,
            <surname>Kiepuszewski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Barros</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.P.</surname>
          </string-name>
          : Workflow Patterns.
          <source>Distributed Parallel Databases</source>
          <volume>14</volume>
          (
          <issue>1</issue>
          ) (
          <year>2003</year>
          )
          <fpage>5</fpage>
          -
          <lpage>51</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Cardoso</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sheth</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miller</surname>
            ,
            <given-names>J.A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Arnold</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kochut</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>QoS for Workflows and Web Service Processes</article-title>
          .
          <source>Journal of Web Semantics</source>
          <volume>1</volume>
          (
          <issue>3</issue>
          ) (
          <year>2004</year>
          )
          <fpage>281</fpage>
          -
          <lpage>308</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Schuller</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miede</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eckert</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lampe</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Papageorgiou</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Steinmetz</surname>
          </string-name>
          , R.:
          <article-title>Qosbased optimization of service compositions for complex workflows</article-title>
          .
          <source>In: International Conference on Service Oriented Computing</source>
          . (
          <year>2010</year>
          )
          <fpage>641</fpage>
          -
          <lpage>648</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Schuller</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eckert</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miede</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schulte</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Steinmetz</surname>
          </string-name>
          , R.:
          <article-title>QoS-Aware Service Composition for Complex Workflows</article-title>
          .
          <source>In: International Conference on Internet and Web Applications and Services</source>
          . (
          <year>2010</year>
          )
          <fpage>333</fpage>
          -
          <lpage>338</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Gierds</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sürmeli</surname>
          </string-name>
          , J.:
          <article-title>Estimating costs of a service</article-title>
          .
          <source>In: Central-European Workshop on Services and their Composition</source>
          .
          <article-title>(</article-title>
          <year>2010</year>
          )
          <fpage>121</fpage>
          -
          <lpage>128</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Repp</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schuller</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Siebenhaar</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Miede</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Niemann</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Steinmetz</surname>
          </string-name>
          , R.:
          <article-title>On distributed SLA Monitoring and Enforcement in Service-oriented Systems</article-title>
          .
          <source>International Journal On Advances in Systems and Measurements</source>
          <volume>2</volume>
          (
          <issue>1</issue>
          ) (
          <year>2009</year>
          )
          <fpage>33</fpage>
          -
          <lpage>43</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>