<!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>Zur automatischen Ermittlung von Testszenarien aus EPK-Schemata</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oliver Skroch</string-name>
          <email>oliver.skroch@wiwi.uni-augsburg.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Wirtschaftsinformatik und Systems Engineering Universität Augsburg Universitätsstr.</institution>
          <addr-line>16, D-86159 Augsburg</addr-line>
        </aff>
      </contrib-group>
      <fpage>18</fpage>
      <lpage>30</lpage>
      <abstract>
        <p>Für funktionale Systemtests großer, komponenten- und serviceorientierter betrieblicher Anwendungssoftware sind durchgängige Testszenarien sinnvoll, die für die wichtigsten, geschäftskritischen betrieblichen Abläufe des Anwenders vorzubereiten und durchzuführen sind. Zur Unterstützung der Ermittlung solcher „higher order“ Testfälle wird eine systematische Methode der Extraktion verzweigungsfreier Wege durch EPK-Schemata vorgeschlagen. Um die vorgestellte Methode praktikabel zu machen werden optionale Annahmen zur kombinatorischen Relaxation getroffen. Die Methode ist als Erweiterung der Open-Source Initiative „EPC-Tools“ implementiert.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>verzweigungsfreie Wege als Grundlage für die Ausarbeitung von Testszenarien durch
dieses Ablaufschema extrahiert werden können.</p>
      <p>Der weitere Beitrag ist folgendermaßen aufgebaut: in Kapitel 2 werden weitere Arbeiten
diskutiert, die mit dem hier vorgestellten Lösungsansatz verwandt sind oder für den
Hintergrund und die verwendeten Begriffe eine Rolle spielen; in Kapitel 3 wird die
Methode im Detail vorgestellt; Kapitel 4 stellt die dazu entwickelte
Werkzeugerweiterung vor; Kapitel 5 schließt den Beitrag mit einer Zusammenfassung
und einem Ausblick.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Hintergrund, Begriffe, und verwandte Arbeiten</title>
      <p>Für die Modellierung von Geschäftsprozessen gibt es heute viele kommerzielle
Werkzeuge („workflow management systems“), die verschiedenen methodischen
Ansätzen und Notationsgrammatiken folgen (z.B. [AH02; Mu02]). Dieser Beitrag geht
von der Ereignisgesteuerten Prozesskette (EPK) [KNS92] aus, weil sie eine besonders
intuitive und speziell im deutschsprachigen Raum weit verbreitete, semiformale Notation
für die Modellierung betriebliche Abläufe ist, die schon seit einiger Zeit ergiebig
erforscht und auch erfolgreich in der Praxis eingesetzt wird (z.B. [Sc02], [DJ05]).
Szenarien können als (Teil-)Modelle betrachtet werden und sind wichtige Bausteine der
Softwareentwicklung, sie helfen bei der Erfassung von funktionalen Anforderungen und
beeinflussen Design, Implementierung und funktionalen Test [Br00; Su03; CR05]. Bei
der funktionalen Prüfung von Software auf Anwenderseite (d.h. Black-Box Systemtest
[Be95]) sind szenario-orientierte Vorgehensweisen gut bekannt und werden z.B. bei der
Testfallermittlung auf Grundlage von UML Anwendungsfällen („use cases“) eingesetzt
[OA99; BL02; SZ04].</p>
      <p>Prüfprozesse in der Softwareentwicklung werden allgemein etwa in [My79; Ri97;
ISO01] diskutiert, für Test und Qualitätssicherung im komponentenorientierten
Paradigma etwa in [We98; GTW03; Me03; Vi+03]. Für die Entwicklung – und dabei
besonders für den funktionalen Systemtest – von flexiblen, komponenten- und
serviceorientierten Anwendungssystemen werden wichtige Vorteile durch die
SzenarioOrientierung diskutiert, cf. etwa [EDF96; SZ04].</p>
      <p>Mit vollständig formalen Spezifikationen und „kleinen“ betrachteten Domänen sind
szenario-orientierte Prüfmethoden gut bekannt, z.B. in der technischen Informatik als
Spuren („traces“) im Rahmen des „model checking“, vgl. etwa [CH03; Br+05] oder
vertiefend [Ku+05]. Diese Ansätze lassen sich aber nur eingeschränkt auf semiformal
und i.a. unvollständig beschriebene, funktional im Vergleich wesentlich größere Modelle
betrieblicher Abläufe übertragen. Solche Modelle haben, wie z.B. in [DJ05] gezeigt
wurde, eigene Besonderheiten, zumal es letztlich um „higher order“ Prüfschritte [My79,
S. 103ff] geht, die über rein syntaktische Kriterien hinaus reichen.</p>
      <p>Um trotzdem klar abgegrenzte Szenarien als Ausgangspunkt für die Definition weiterer
konkreter Prüfschritte in großen und semiformalen EPK-Modellen zu finden, erweist
sich die Idee der „Workflow Patterns“ [Aa+03] (Ablauf- oder Kontrollfluss-Muster) als
nützlich. Betrachtet man das Schema der betrieblichen Abläufe analog zum Kontrollfluss
eines deterministischen Programms, dann kann man den gerichteten Graph des
Ablaufschemas mittels weniger grundlegender Ablaufmuster aus [Aa+03] auf enthaltene
verzweigungsfreie Szenarien analysieren. Ein lineares Szenario hat (in Anlehnung an die
Spuren der linearen temporalen Logik) von jedem Knoten maximal eine ausgehende
Kante in einen Folgeknoten, und das komplexe betriebliche Ablaufschema wird über die
Ablaufmuster an den „Verzweigungsstellen“ in einzelne solche linearen Durchläufe
zerlegt.</p>
      <p>In [Sc00] wird ein Ansatz vorgeschlagen, der eine ähnliche Linearisierungsidee, die dort
an Konzepte aus der Netzplantechnik angelehnt wird, nicht erst für die Gewinnung von
Testszenarien sondern schon für die Konstruktion der Ablaufmodelle selbst verfolgt. In
[MNN05] wird eine (hier nicht erforderliche) Erweiterung der EPK zur Unterstützung
aller „Workflow Patterns“ aus [Aa+03] diskutiert.</p>
      <p>Für die automatische Ermittlung dieser Szenarien aus den als EPK modellierten
Ablaufschemata ist eine vollständig formale Syntax und Semantik für EPK notwendig,
wobei es wesentlich um die Formalisierung der logischen Konnektoren (der
„Verzweigungsstellen“ im Schema) geht. Dieser Beitrag baut dabei auf den Vorschlägen
[Aa99; NR02; GL06] auf, und zusätzlich auf [Ri99] für die Wohlgeformtheit von
SplitJoin-Paaren im Ablaufschema, sowie auf [Kin06] für die Minimierung der sog.
nichtlokalen EPK-Semantik.</p>
    </sec>
    <sec id="sec-3">
      <title>3 Beschreibung der Methode</title>
      <sec id="sec-3-1">
        <title>3.1 Formalisierung von Notation, Syntax und Semantik</title>
        <p>Zur graphischen Darstellung der EPK gibt es als Notationssymbole einen gerichteten
Kantentyp und fünf unterschiedliche Knotentypen (Abbildung 1). Kantentyp ist der
Kontrollfluss. Die fünf Knotentypen sind Ereignis, Funktion, und logischer Konnektor
vom konjunktiven Typ („a und b“, AND), disjunktiven Typ („entweder a oder b“, XOR),
und adjunktiven Typ („a oder auch b“, OR).</p>
        <p>Kontrollfluss</p>
        <p>Ereignis</p>
        <p>Funktion
Ein syntaktisch korrektes EPK-Schema A sei ein Tupel A = (E,F,C,T,S0 ) mit den
folgenden Eigenschaften:
– E ist eine nichtleere Menge von Ereignisknoten.
– F ist eine nichtleere Menge von Funktionsknoten.
– C ist eine Menge von logischen Konnektoren, bestehend aus paarweise disjunkten</p>
        <p>Teilmengen C AND ,C XOR ,COR .
– E, F, C sind paarweise disjunkt.
– Der Kontrollfluss T : (N × N) ist eine Übergangsfunktion mit N = E ∪ F ∪ C .
– S0 ist eine Menge von Startereignissen.</p>
        <p>Ein syntaktisch korrektes EPK-Schema sei mit den folgenden Eigenschaften auch
sematisch korrekt:
1) G = (N,T) ist ein gerichteter, zusammenhängender und endlicher Graph.
2) Zwischen zwei Knoten existiert maximal eine Kontrollflusskante.
3) Funktionsknoten haben genau eine eingehende und genau eine ausgehende</p>
        <p>Kontrollflusskante.
4) Ereignisknoten haben maximal eine eingehende und maximal eine ausgehende</p>
        <p>Kontrollflusskante.
5) Konnektoren haben entweder genau eine eingehende und mehrere ausgehende
Kontrollflusskanten (und heißen dann Split), oder mehrere eingehende und genau
eine ausgehende Kontrollflusskante (und heißen dann Join).
6) Ereignisknoten sind nur mit Funktionsknoten verbunden, möglicherweise über</p>
        <p>Konnektoren.
7) Funktionsknoten sind nur mit Ereignisknoten verbunden, möglicherweise über</p>
        <p>Konnektoren.
8) Es gibt keinen Kreis, der nur aus Konnektoren besteht.
9) Es gibt mindestens ein Startereignis (ohne eingehende Kontrollflusskante) und
mindestens ein Endereignis (ohne ausgehende Kontrollflusskante).
10) Nach Ereignisknoten folgt kein XOR-Split und kein OR-Split im Kontrollfluss
(vgl. [KNS92, S. 15]).
11) Jeder Knoten ist von einem Startereignis erreichbar.
12) Von jedem Knoten ist ein Endereignis erreichbar.</p>
        <p>Zusätzlich seien semantisch wohlstrukturierte Split-Join-Paare gefordert, so dass der
öffnende Split und der schließende Join eines Paares jeweils vom gleichen Typ sind (vgl.
vertiefend [Ri99, S. 2]).</p>
      </sec>
      <sec id="sec-3-2">
        <title>3.2 Behandlung der grundlegenden Ablaufmuster</title>
        <p>Die musterbasierte Analyse der EPK-Schemata zur Ermittlung verzweigungsfreier Wege
erfolgt anhand der drei fundamentalen Modellierungsprimitive Sequenz, Selektion und
Iteration, die auch den „Workflow Patterns“ aus [Aa+03] zugrunde liegen.</p>
        <sec id="sec-3-2-1">
          <title>Sequenz</title>
          <p>Die Sequenz ist die fundamentale Idee des Ablaufs von diskreten Einzelschritten nach
einander (Abbildung 2). Die gängige semantische Interpretation ist Implikation bzw.
Kausalität.</p>
          <p>E1</p>
          <p>F1</p>
          <p>E2</p>
          <p>F2</p>
          <p>E3
Abbildung 2: Lineare Sequenz
Lineare Sequenzen sind eben die verzweigungsfreie Wege, die das angestrebte Ergebnis
der Linearisierung darstellen. Die Linearisierung eines EPK-Schema erzeugt alle
möglichen solchen Wege vom Startereignis zum Endereignis. Ein EPK-Schema, das wie
in Abbildung 2 nur aus einem verzweigungsfreien Weg besteht, ist bereits linear.</p>
        </sec>
        <sec id="sec-3-2-2">
          <title>Selektion – Split-Konnektor</title>
          <p>Split-Konnektoren besitzen genau eine eingehende und mehr als eine ausgehende Kante
(vgl. 3.1, Nr. 9). Die Selektion mit Splits stellt die fundamentale Idee eines sich in der
Zukunft verzweigenden Ablaufs dar. Abbildung 3 zeigt die zwei Muster, wobei der Split
nach einem Ereignis (linke Seite der Abbildung 3) nur vom Typ AND, nicht aber vom
Typ OR und auch nicht vom Typ XOR sein kann (vgl. 3.1, Nr. 10).</p>
          <p>F1</p>
          <p>F2
E1</p>
          <p>F1</p>
          <p>C</p>
          <p>E1
E2</p>
          <p>Abbildung 3: Selektion mit Split-Konnektor
Tabelle 1 zeigt die Ergebnisse der Linearisierung dieser Muster aus Abbildung 3,
abhängig vom Konnektortyp. Die Muster werden in alle möglichen Abläufe expandiert.
Typ
AND
XOR
OR</p>
          <p>Linearisierung nach Ereignis
(E1, F1, F2), (E1, F2, F1)
nicht definiert
nicht definiert</p>
          <p>Linearisierung nach Funktion
(F1, E1, E2), (F1, E2, E1)
(F1, E1), (F1, E2)
(F1, E1), (F1, E2), (F1, E1, E2), (F1, E2, E1)</p>
          <p>Tabelle 1: Linearisierung für Split-Konnektor
Gängige semantische Interpretationen für den AND-Split ist die Parallelbearbeitung, für
den XOR-Split die Entscheidung. Der OR-Split ist nur schwierig intuitiv zu
interpretieren. Er kann als Kombination aus AND- und XOR-Split behandelt werden, da
die logische Semantik eine Kombination von AND und XOR darstellt.</p>
        </sec>
        <sec id="sec-3-2-3">
          <title>Selektion – Join-Konnektor</title>
          <p>Join-Konnektoren besitzen mehr als eine eingehende und genau eine ausgehende Kante
(vgl. 3.1, Nr. 9). Die Selektion mit Joins stellt die fundamentale Idee sich vereinigender
Abläufe dar. Daraus folgt, dass durch das jeweilige Schema in der Vergangenheit vor
dem Konnektor mehr als ein Weg möglich ist. Abbildung 4 zeigt die zwei Muster.</p>
          <p>F1
F2</p>
          <p>C</p>
          <p>E1</p>
          <p>C</p>
          <p>F1
Abbildung 4: Selektion mit Join-Konnektor</p>
          <p>E1
E2
Tabelle 2 zeigt die Ergebnisse der Linearisierung dieser Muster aus Abbildung 4,
abhängig vom Konnektortyp. Die Muster werden in alle möglichen Abläufe expandiert.
Gängige semantische Interpretationen für den AND-Join ist die Synchronisierung, für
den XOR-Join der Auslöser („trigger“). Der OR-Join ist ähnlich wie sein Split-Pendant
nur schwierig intuitiv zu interpretieren, er kann aber ebenfalls als Kombination aus
AND- und XOR-Join behandelt werden, da seine logische Semantik eine Kombination
von AND und XOR darstellt.</p>
          <p>Typ
AND
XOR
OR</p>
          <p>Linearisierung vor Ereignis
(F1, F2, E1), (F2, F1, E1)
(F1, E1), (F2, E1)
(F1, E1), (F2, E1), (F1, F2, E1), (F2, F1, E1)</p>
          <p>Linearisierung vor Funktion
(E1, E2, F1), (E2, E1, F1)
(E1, F1), (E2, F1)
(E1, F1), (E1, F2), (E1, E2, F1), (E2, E1, F1)</p>
          <p>Tabelle 2: Linearisierung für Join-Konnektor
Es geht bei der Linearisierung der Join-Muster darum, den nach dem vereinigenden Join
nächsten Schritt zu finden. Zwar ist, unabhängig von Typ des Join, der Folgeschritt nach
dem Join immer eindeutig (vgl. 3.1, Nr. 5). Das Schema hat vor dem Join aber
Verzweigungen, diese sind bis zum Join schon in die möglichen verzweigungsfreien
Wege aufgespalten. Betrachtet man also einen einzelnen verzweigungsfreien Weg, dann
wird jeder Join auf diesem Weg verzweigungsfrei erreicht. Die Behandlung der
JoinMuster zur Linearisierung wäre soweit trivial. Es stellt sich aber die Frage, wie die
miteinander zu kombinierenden Split-Join-Sequenzen bestimmt werden, da sie nicht
unbedingt eindeutig sind.</p>
          <p>Bestimmt werden muss zu jedem Join der entsprechend passende Split, und damit der
genaue Nachbereich aller im Schema vorhandenen Splits. Die Forderung nach
semantisch wohlstrukturierten Split-Join-Paaren (vgl. 3.1) verlangt, dass im Schema
jedem Split ein Join vom gleichen Typ entspricht. Der Nachbereich beginnt mit dem
Split-Konnektor selbst und wird entweder auf einem entsprechenden Join-Konnektor
geschlossen oder endet mit einem Endereignis. Für einen Split ist der entsprechend
passende Join: der unter allen Kindknoten (d.h. allen von Split aus erreichbaren Knoten),
mittels Breitensuche (breadth first search), erste erreichbare Join vom gleichen Typ nach
mindestens einem Ereignis- oder Funktionsknoten.</p>
          <p>Die Linearisierung benötigt hier zur praktischen Handhabbarkeit zusätzlich noch
sinnvolle Annahmen zur Einschränkung der zu prüfenden Kombinationen. Es kann für
die Bildung von funktionalen Testszenarien von einer ausdrücklichen Betrachtung der
unterschiedlichen Ausführungsreihenfolgen abgesehen werden, da angenommen werden
kann, dass diese auch nicht modelliert sind. Zusätzlich können, in Anlehnung an die
gängige Vorgehensweise des Testens an Randbereichen („boundary value“), bei OR mit
⎛ n ⎞ ⎛ n ⎞
n &gt; 2 Alternativen nur die „Randfälle“ ⎜⎜ ⎟⎟ und ⎜⎜ ⎟⎟ betrachtet werden.
⎝ 1 ⎠ ⎝ n ⎠</p>
          <p>F1
Die Iteration ist die fundamentale Idee eines sich gleichartig wiederholenden Ablaufs
(Abbildung 5). Die gängige semantische Interpretation ist die Scheife.</p>
          <p>Iterationen verwenden nur XOR-Konnektoren: die Joins der Iteration müssen
offensichtlich disjunktiv sein, und für die entsprechenden Splits ist semantisch der
gleiche Typ gefordert (vgl. 3.1).</p>
          <p>E1</p>
          <p>F2
Abbildung 5: Iteration
E2
Tabelle 3 zeigt die Ergebnisse der Linearisierung des Iterationsmusters aus Abbildung 5.
Die Iteration wird in alle möglichen Abläufe expandiert.
Die Linearisierung der Iteration ist also einfach, benötigt aber zur praktischen
Handhabbarkeit zusätzlich sinnvolle Annahmen zur Einschränkung der Anzahl der zu
prüfenden Durchläufe. In Anlehnung z.B. an [Ri97] erfolgt die funktionale Prüfung mit
keinem („oben geprüfte Schleife“), einem, oder n &gt; 1 Durchläufen, wobei n = 2 gesetzt
werden kann.</p>
        </sec>
      </sec>
      <sec id="sec-3-3">
        <title>3.3 Komplexität und Relaxationsannahmen</title>
        <p>Zur Bestimmung aller verzweigungsfreien Wege wird eine Erweiterung des BFS
Standardalgorithmus („Breadth First Search“, Breitensuche) aus der Graphentheorie
verwendet. Dabei ist BFS für die Auffindung aller Wege erweitert (Standard-BFS findet
kürzeste Wege), und für die Behandlung der EPK-Konnektoren sowie der Iterationen
angepasst.</p>
        <p>Für die Zeitkomplexität des Algorithmus gilt Ο(N + T) , da alle möglichen Wege
betrachtet werden, wofür jede Kante und jeder Knoten besucht wird und jeder Schritt
eine konstante Zeit benötigt (mit Standard-BFS ist das der ungünstigste Fall, hier gilt es
immer). Für die Platzkomplexität gilt ebenfalls Ο(N + T) , da alle bisher besuchten
Knoten gespeichert werden bis die nächsttiefere Ebene des Graphen erreicht ist.
Die Methode ist damit für größere Probleme nur geeignet, wenn in den betrachteten
EPK-Schemata die Anzahl der Knoten N (Ereignisse, Funktionen und Konnektoren) plus
die Anzahl der Kanten T (Kontrollflüsse) mit zunehmender Tiefe des Schemas nicht
exponentiell wächst. Allgemein graphentheoretisch ist natürlich von exponentiellem
Wachstum auszugehen. Wie aber aus den „No Free Lunch“ Theoremen [WM95; WM97]
gefolgert werden kann, ist ein algorithmisches Such- oder Optimierungsverfahren
möglichst gut an die untersuchte Problemklasse anzupassen, indem sinnvolle Annahmen
zur Problemstellung getroffen werden.</p>
        <p>Betrachtet man EPK-Schemata echter betrieblicher Abläufe in der Praxis, sind Splits
(einschließlich Iterationen) oft nicht tief verschachtelt, sondern werden häufig ohne viele
weitere Verschachtelungen durch entsprechende Joins geschlossen bzw. treffen auf
Endereignisse. Stellt man die rein praktische Überlegung an, dass die hier betrachteten
betriebliche Abläufe letztlich von Menschen verstanden, geplant, (zumindest teilweise)
umgesetzt, verwaltet und verantwortet werden müssen, so ist diese Eigenart
nachvollziehbar, und es ist daher auch anzunehmen, dass reale betriebliche Abläufe nicht
beliebig komplex werden. Aus dieser Überlegung kann man auf eine nicht exponentielle
Zunahme von N+T bei grossen betrieblichen EPK-Schemata ausgehen. Weiterhin kann
auch durch die mehrfach vorgeschlagene hierarchische Modellierung betrieblicher
Abläufe (z.B. [KM94; Sc00]), bzw. durch die nachträgliche hierarchische Interpretation
der Abläufe (z.B. mittels „blocking“ [ST07]), dem Problem der tief verschachtelten
Modellteile und damit des exponentiell wachsenden Prüfaufwands begegnet werden.
Unter diesen Annahmen für reale EPK-Schemata wäre die Standard-BFS als Grundlage
der vorgeschlagenen Methode praktikabel.</p>
        <p>Zusätzlich muss die Komplexität der vorgeschlagenen Methode noch hinsichtlich ihrer
BFS Erweiterungen, der Behandlung von Iterationen und (nicht-disjunktiven)
Konnektoren, eingeschränkt werden – soweit das ihrem letztlichen Ziel, der Erzeugung
von Testszenarien für funktionale Systemtests auf Anwenderseite, nicht schädlich ist.
Die folgende Analyse hinsichtlich der szenario-orientierten Prüfungsmöglichkeiten in
EPK-Schemata führt zu solchen begründeten Relaxationsannahmen.</p>
        <p>Sei n &gt; 1 die Anzahl der ausgehenden Kontrollflusskanten eines Split, dann vermehrt
(nur) ein Split die Anzahl der möglichen verzweigungsfreien Abläufe auf einem Weg im
Schema. Bei einem Join wird zunächst der entsprechende Split bestimmt (wobei u.a.
gefordert ist, dass Split und Join vom selben Konnektortyp sind), dann werden alle
linearen Szenarien für das Split-Join-Paar gebildet. Deren Anzahl hängt vom
Konnektortyp ab, wie Tabellen 4 und 5 zeigen.</p>
        <p>Split-Join-Typ
Die linke Spalte in Tabelle 4 nennt den Typ des Split-Join-Paares, die linke Seite der
rechten Spalte die Anzahl der Abläufe bei vollständiger linearer Expansion, und die
rechte Seite der rechten Spalte die Anzahl der Abläufe bei relaxierter linearer Expansion.
Für AND bedeutet die Relaxation die Nichtberücksichtigung der unterschiedlichen
Ausführungsreihenfolgen (Permutationen). Für XOR erscheint eine Relaxation für die
spätere Bildung von Testszenarien nicht sinnvoll.</p>
        <p>Für OR wird zunächst festgestellt, dass es gleichbedeutend mittels XOR gefolgt von
AND modelliert werden kann. Damit ergibt sich eine Abhängigkeit der OR Relaxation
von der Behandlung des AND. Die Anzahl der Szenarien ist in Tabelle 5 dargestellt.
Bei vollständig expandiertem AND ergeben sich mit ebenso vollständig expandiertem
OR alle Variationen der hypergeometrischen Verteilung; mit relaxiertem OR werden in
⎛ n ⎞ ⎛ n ⎞
der vorgeschlagenen Methode nur die beiden „Randfälle“ ⎜⎜ ⎟⎟ und ⎜⎜ ⎟⎟ behandelt. Bei
⎝ 1 ⎠ ⎝ n ⎠
ergeben sich mit vollständig expandiertem OR
relaxiertem AND
⎛ n ⎞ ⎛ n ⎞ ⎛ n ⎞
⎝⎜⎜ 1 ⎟⎠⎟ + ⎜⎜⎝ 2 ⎟⎟⎠ + K + ⎝⎜⎜ n ⎠⎟⎟ = 2 n −1 Szenarien, und mit ebenfalls relaxiertem OR entsprechend
⎛ n ⎞ ⎛ n ⎞
der vorgeschlagenen Methode nur ⎜⎜⎝ 1 ⎟⎠⎟ + ⎝⎜⎜ n ⎠⎟⎟ = n +1 Szenarien.</p>
        <p>Split-Join OR
AND vollständig</p>
        <p>Anzahl der Abläufe im Split-Join-Paar
OR vollständig OR relaxiert</p>
        <p>n ⎛ n ⎞
#L(n, OR) = ∑ k!⎜⎜ ⎟</p>
        <p>⎟
k =1 ⎝ k ⎠
AND relaxiert
#L(n, OR) = 2n-1
#LR(n, OR) = n! + 1
#LR(n, OR) = n + 1</p>
        <p>Tabelle 5: Anzahl der Szenarien in Split-Join-Paaren OR
Für Iterationen wird davon ausgegangen, dass die funktionale Prüfung mit keinem,
einem oder n &gt; 1 Durchläufen erfolgt, wobei n = 2 gesetzt werden kann (in Anlehnung
z.B. an [Ri97]). Die Iteration wird also bei „oben geprüfter Schleife“ nicht berücksichtigt
und expandiert ansonsten in zwei verzweigungsfreie Szenarien.</p>
        <p>Bei gleichzeitiger Relaxation von AND und OR und bei der Relaxation von Iterationen
scheint also, unter den getroffenen Annahmen zur Ermittlung von Testszenarien, die
Komplexität der vorgeschlagenen Methode für reale EPK-Schemata praktikabel.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Erweiterung der „EPC Tools“</title>
      <p>Die hier vorgeschlagene Methode ist als Erweiterung der Open-Source Initiative „EPC
Tools“ [CK05] auf der Eclipse Java IDE implementiert. Der Algorithmus liest in seiner
ersten Phase eine EPK ein und konvertiert sie in eine Datenstruktur für Graphen; es wird
dabei das EPK Austauschformat EPML [MN06] („EPC Markup Language“) unterstützt.
In seiner zweiten Phase durchläuft der Algorithmus diese Datenstruktur und expandiert
alle Verzweigungen und Iterationen entsprechend der beschriebenen Methode in
einzelne verzweigungsfreie Wege.
Die Implementierung ist in der Lage, zwischen gewähltem Start- und Endknoten
korrekte EPKs zu linearisieren. Die implementierten Relaxations-Parameter für die
Behandlung von Schleifen, AND und OR Konnektoren erlauben es, das Verhalten des
Algorithmus einzustellen. Die folgenden drei Parameter sind implementiert:
Iterativer Relaxations-Parameter: über diesen Parameter kann die Anzahl der zu
testenden Iterationen in den Zyklen des EPK-Schemas eingestellt werden. Sinnvolle
Werte sind 0 (nur bei „oben geprüften Schleifen“), 1 und 2.</p>
      <p>Konjunktiver Relaxations-Parameter: ist dieser Parameter gesetzt, so werden
Split-JoinPaare vom Typ AND zu einem einzigen Szenario, mit einer beliebigen Ablaufreihenfolge
(Permutation) der parallel zu bearbeitenden Abläufe, expandiert; andernfalls werden n!
Szenarien expandiert, jeweils ein Szenario für jede mögliche Reihenfolge.
Adjunktiver Relaxations-Parameter: ist dieser Parameter gesetzt, so werden für n &gt; 2 nur
wie beschrieben die beiden „Randsituationen“ expandiert, andernfalls werden alle 2n-1
möglichen Kombinationen expandiert. Dabei hängt die Behandlung der konjunktiven
Teilkombinationen jeweils vom konjunktiven Relaxations-Parameter ab, es wird also je
nachdem entweder nur ein Szenario mit beliebiger Reihenfolge gebildet, oder faktoriell
alle kombinatorisch möglichen Szenarien.</p>
      <p>Abbildung 6: Erweiterung der Open-Source Initiative „EPC-Tools“ [CK05]
Die Implementierung ist weder instrumentiert noch auf Laufzeit oder Speicherbedarf
optimiert. Unter Verwendung der Relaxations-Parameter wurden mit dieser
Implementierung – neben kleineren funktionsprüfenden Beispielen – verschiedene
EPKSchemata aus betrieblichen Referenzmodellen auf einem Standard-PC ohne
wahrnehmbare Laufzeit linearisiert.</p>
      <p>Da Start- und Endknoten eines Linearisierungslaufs im Schema frei gewählt werden
können, können auch verzweigungsfreie Szenarien unterschiedlicher Auflösung in
unterschiedlichen Teilen des Schemas durch entsprechende Anpassung der
ParameterEinstellungen für den jeweiligen Lauf erzeugt werden. Beispielsweise kann ein kleiner
Teilprozess, in dem die Ausführungsreihenfolge der parallel modellierten Schritte als
kritisch für den späteren Test angesehen wird, mit einem Linearisierungslauf unter
eingeschalteter AND Kombinatorik analysiert werden.</p>
    </sec>
    <sec id="sec-5">
      <title>5 Zusammenfassung und Ausblick</title>
      <p>In diesem Beitrag wurde eine Methode vorgeschlagen, mit der unter bestimmten
Annahmen zur praktischen Handhabbarkeit alle verzweigungsfreien Wege durch ein
korrektes EPK-Schema betrieblicher Abläufe extrahiert werden können. Zur Methode
wurde ein entsprechendes Werkzeug als Eclipse-Plugin Erweiterung der Open-Source
Initiative „EPC-Tools“ implementiert.</p>
      <p>Diese verzweigungsfreien Wege können nach bestimmten Kriterien priorisiert werden
um so die wichtigsten, geschäftskritischen Abläufe zu identifizieren. Diese können dann
– mit unabhängigen Orakeln versehen – als Grundlage für lineare Positivtest-Szenarien
(„sunshine paths“) zum funktionalen Black-Box Systemtest im komponenten- und
serviceorientierten Entwicklungsparadigma verwendet werden.</p>
      <p>Vorteile ergeben sich erstens durch die Möglichkeit, alle zu testenden Abläufe zu kennen
und sie damit bewusst priorisieren zu können, sowie zweitens durch die Möglichkeit,
Testorakel aufzustellen, die vom Entwicklungsprozess auf Herstellerseite unabhängig
sind. Dadurch wird die Definition aussagefähiger Testmetriken auch bei „higher order“
Tests auf Domänenebene möglich.</p>
      <p>Literaturverzeichnis
[Aa99]
[Aa+03]
[AH02]
[Be95]
[BL02]
[Bo81]
[Br00]
[Br+05]</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <source>Chains. Information and Software Technology</source>
          <volume>41</volume>
          (
          <year>1999</year>
          )
          <fpage>639</fpage>
          -
          <lpage>650</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          <string-name>
            <given-names>Workflow</given-names>
            <surname>Patterns</surname>
          </string-name>
          .
          <source>Distributed and Parallel Databases</source>
          <volume>14</volume>
          (
          <year>2003</year>
          )
          <fpage>5</fpage>
          -
          <lpage>51</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          <source>and Systems</source>
          . The MIT Press, Cambridge, Ma, USA (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          <string-name>
            <surname>Systems</surname>
          </string-name>
          . John Wiley &amp; Sons, New York, NY, USA (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          <source>Software and Systems Modeling</source>
          <volume>1</volume>
          (
          <year>2002</year>
          )
          <fpage>10</fpage>
          -
          <lpage>42</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          <string-name>
            <surname>NJ</surname>
          </string-name>
          , USA (
          <year>1981</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          <string-name>
            <surname>(GCSE2000): Revised Papers</surname>
          </string-name>
          .
          <year>2000</year>
          /10/09-12,
          <string-name>
            <surname>Erfurt</surname>
          </string-name>
          (
          <year>2000</year>
          )
          <fpage>129</fpage>
          -
          <lpage>146</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          <source>Testing of Reactive Systems: Advanced Lectures</source>
          . Springer, Berlin (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [CH03]
          <string-name>
            <surname>Choi</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heimdahl</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Model Checking Software Requirement Specifications using Domain Reduction Abstraction</article-title>
          .
          <source>In: 18th IEEE International Conference on Automated Software Engineering (ASE</source>
          <year>2003</year>
          ).
          <year>2003</year>
          /10/06-
          <fpage>10</fpage>
          , Montreal, Canada (
          <year>2003</year>
          )
          <fpage>314</fpage>
          -
          <lpage>317</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [CK05]
          <string-name>
            <surname>Cuntz</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kindler</surname>
          </string-name>
          , E.:
          <article-title>On the semantics of EPCs: Efficient calculation and simulation</article-title>
          . In: van der Aalst, W.,
          <string-name>
            <surname>Benatallah</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Casati</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Curbera</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          (
          <year>Hrsg</year>
          .):
          <article-title>Business Process Management</article-title>
          .
          <source>LNCS 3649</source>
          , Springer, Berlin (
          <year>2005</year>
          )
          <fpage>398</fpage>
          -
          <lpage>493</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [CR05]
          <string-name>
            <surname>Carroll</surname>
            ,
            <given-names>J. M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosson</surname>
            ,
            <given-names>M. B.</given-names>
          </string-name>
          :
          <article-title>Cases as Minimalist Information</article-title>
          .
          <source>In: 38th Hawaii International Conference on System Sciences (HICSS2005) Track</source>
          <volume>1</volume>
          .
          <year>2005</year>
          /01/03-06,
          <string-name>
            <surname>Big</surname>
            <given-names>Island</given-names>
          </string-name>
          , Hi, USA (
          <year>2005</year>
          )
          <fpage>40b</fpage>
          -
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          <string-name>
            <surname>[DJ05] van Dongen</surname>
            ,
            <given-names>B. F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jansen-Vullers</surname>
            ,
            <given-names>M. H.</given-names>
          </string-name>
          :
          <article-title>Verifcation of SAP Reference Models</article-title>
          . In: van der Aalst,
          <string-name>
            <given-names>W. M. P.</given-names>
            ,
            <surname>Benatallah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Casati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Curbera</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          (
          <year>Hrsg</year>
          .):
          <article-title>Business Process Management</article-title>
          .
          <source>LNCS 3649</source>
          , Springer, Berlin (
          <year>2005</year>
          )
          <fpage>464</fpage>
          -
          <lpage>469</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [EDF96]
          <string-name>
            <surname>Ecklund</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Delcambre</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Freiling</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Change cases: use cases that identify future requirements</article-title>
          .
          <source>In: 11th ACM SIGPLAN Conference on Object Oriented Programming Systems Languages and Applications (OOPSLA96)</source>
          .
          <year>1996</year>
          /10/06-
          <fpage>10</fpage>
          , San Jose, Ca, USA (
          <year>1996</year>
          )
          <fpage>342</fpage>
          -
          <lpage>358</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [GL06]
          <string-name>
            <surname>Gruhn</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Laue</surname>
          </string-name>
          , R.:
          <article-title>Validierung syntaktischer und anderer EPK-Eigenschaften mit PROLOG</article-title>
          . In: 5. Workshop Geschäftsprozessmanagement mit Ereignisgesteuerten Prozessketten (
          <year>EPK2006</year>
          ).
          <year>2006</year>
          /11/30-2006/12/01, Wien, Österreich (
          <year>2006</year>
          )
          <fpage>69</fpage>
          -
          <lpage>84</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [GTW03]
          <string-name>
            <surname>Gao</surname>
            ,
            <given-names>J. Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tsao</surname>
            ,
            <given-names>H.-S. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Testing and quality assurance for component-based software</article-title>
          .
          <source>Artech House</source>
          , Boston, Ma, USA (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [ISO01]
          <article-title>International Organization for Standardization: International Standard ISO/IEC 9126- 1: Software engineering - Product quality - Part 1: Quality model</article-title>
          . ISO/IEC, Genf, Schweiz (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [Kin06]
          <string-name>
            <surname>Kindler</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          :
          <article-title>On the semantics of EPCs: A framework for resolving the vicious circle</article-title>
          .
          <source>Data &amp; Knowledge Engineering</source>
          <volume>56</volume>
          (
          <year>2006</year>
          )
          <fpage>23</fpage>
          -
          <lpage>40</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [KM94] Keller, G.,
          <string-name>
            <surname>Meinhardt</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          : SAP R/3 Analyzer:
          <article-title>Optimierung von Geschäftsprozessen auf Basis des R/3-Referenzmodells</article-title>
          .
          <source>SAP AG</source>
          ,
          <string-name>
            <surname>Walldorf</surname>
          </string-name>
          (
          <year>1994</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [KNS92] Keller, G.,
          <string-name>
            <surname>Nüttgens</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Scheer</surname>
          </string-name>
          , A.-W.:
          <article-title>Sematische Prozeßmodellierung auf der Grundlage "Ereignisgesteuerter Prozeßketten (EPK)"</article-title>
          . In: Scheer,
          <string-name>
            <surname>A.-W.</surname>
          </string-name>
          (Hrsg.):
          <article-title>Veröffentlichungen des Instituts für Wirtschaftsinformatik, Heft 89</article-title>
          . Universität des Saarlandes,
          <source>Saarbrücken</source>
          (
          <year>1992</year>
          )
          <fpage>2</fpage>
          -
          <lpage>30</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [Ku+05]
          <string-name>
            <surname>Kugler</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Harel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pnueli</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lu</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bontemps</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Temporal Logic for ScenarioBased Specifications</article-title>
          .
          <source>In: Tools and Algorithms for the Construction and Analysis of Systems (TACAS05)</source>
          .
          <year>2005</year>
          /04/04-08, Edinburgh, UK (
          <year>2005</year>
          )
          <fpage>445</fpage>
          -
          <lpage>460</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [Me03] Meyer,
          <string-name>
            <surname>B.</surname>
          </string-name>
          :
          <article-title>The Grand Challenge of Trusted Components</article-title>
          .
          <source>In: 25th International Conference on Software Engineering (ICSE2003)</source>
          .
          <year>2003</year>
          /05/03-10, Portland, Or, USA (
          <year>2003</year>
          )
          <fpage>660</fpage>
          -
          <lpage>667</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [MN06]
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nüttgens</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>EPC markup language (EPML): an XML-based interchange format for event-driven process chains (EPC)</article-title>
          .
          <source>Information Systems and eBusiness Management</source>
          <volume>4</volume>
          (
          <year>2006</year>
          )
          <fpage>245</fpage>
          -
          <lpage>263</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          [MNN05]
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Neumann</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nüttgens</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Yet Another Event-Driven Process Chain</article-title>
          . In: van der Aalst,
          <string-name>
            <given-names>W. M. P.</given-names>
            ,
            <surname>Benatallah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Casati</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Curbera</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          (
          <year>Hrsg</year>
          .):
          <article-title>Business Process Management</article-title>
          .
          <source>LNCS 3649</source>
          , Springer, Berlin (
          <year>2005</year>
          )
          <fpage>428</fpage>
          -
          <lpage>433</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          [Mu02] zur Muehlen, M.:
          <article-title>Workflow-based Process Controlling: Foundation, Design and Application of Workflow-driven Process Information Systems</article-title>
          . Logos, Berlin (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          [My79]
          <string-name>
            <surname>Myers</surname>
            ,
            <given-names>G. J.:</given-names>
          </string-name>
          <article-title>The Art of Software Testing</article-title>
          . John Wiley &amp; Sons, New York, NY, USA (
          <year>1979</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          [NR02]
          <string-name>
            <surname>Nüttgens</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rump</surname>
            ,
            <given-names>F. J.:</given-names>
          </string-name>
          <article-title>Syntax und Semantik Ereignisgesteuerter Prozessketten (EPK)</article-title>
          .
          <source>In: Prozessorientierte Methoden und Werkzeuge für die Entwicklung von Informationssystemen (Promise2002)</source>
          .
          <year>2002</year>
          /10/09-11,
          <string-name>
            <surname>Potsdam</surname>
          </string-name>
          (
          <year>2002</year>
          )
          <fpage>64</fpage>
          -
          <lpage>77</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          [OA99]
          <string-name>
            <surname>Offutt</surname>
            ,
            <given-names>A. J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Abdurazik</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Generating Tests from UML Specifications</article-title>
          .
          <source>In: The Unified Modeling Language: Beyond the Standard: Second International Conference (UML99)</source>
          .
          <year>1999</year>
          /10/28-30, Fort Collins, Co, USA (
          <year>1999</year>
          )
          <fpage>416</fpage>
          -
          <lpage>429</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          [Ri97]
          <string-name>
            <surname>Riedemann</surname>
            ,
            <given-names>E. H.</given-names>
          </string-name>
          :
          <article-title>Testmethoden für sequentielle und nebenläufige Software-Systeme</article-title>
          . Teubner,
          <string-name>
            <surname>Stuttgart</surname>
          </string-name>
          (
          <year>1997</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          [Ri99]
          <string-name>
            <surname>Rittgen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Modified EPCs and Their Formal Semantics</article-title>
          . In: Frank,
          <string-name>
            <given-names>U.</given-names>
            ,
            <surname>Hampe</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
          (
          <year>Hrsg</year>
          .):
          <article-title>Arbeitsberichte des Instituts für Wirtschaftsinformatik</article-title>
          , Nr. 19.
          <string-name>
            <surname>Universität</surname>
          </string-name>
          Koblenz-Landau,
          <source>Koblenz</source>
          (
          <year>1999</year>
          )
          <fpage>1</fpage>
          -
          <lpage>11</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          [Sc00]
          <string-name>
            <surname>Schimm</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Generic Linear Business Process Modeling</article-title>
          . In: Liddle,
          <string-name>
            <given-names>S. W.</given-names>
            ,
            <surname>Mayr</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H. C.</given-names>
            ,
            <surname>Thalheim</surname>
          </string-name>
          ,
          <string-name>
            <surname>B.</surname>
          </string-name>
          (Hrsg.):
          <article-title>Conceptual Modeling for E-Business and the Web</article-title>
          .
          <source>LNCS 1921</source>
          , Springer, Berlin (
          <year>2000</year>
          )
          <fpage>31</fpage>
          -
          <lpage>39</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          [Sc02]
          <string-name>
            <surname>Scheer</surname>
            ,
            <given-names>A</given-names>
          </string-name>
          .-W.: ARIS - vom
          <source>Geschäftsprozess zum Anwendungssystem</source>
          . Springer, Berlin (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          [SGM02]
          <string-name>
            <surname>Szyperski</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gruntz</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Murer</surname>
            ,
            <given-names>S.: Component</given-names>
          </string-name>
          <string-name>
            <surname>Software: Beyond Object-Oriented Programming</surname>
          </string-name>
          .
          <source>2nd Edition</source>
          , Addison-Wesley, London, UK (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          [Sk07]
          <string-name>
            <surname>Skroch</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>Validation of Component-based Software with a Customer Centric Domain Level Approach</article-title>
          .
          <source>In: 14th Annual IEEE Conference and Workshop on the Engineering of Computer Based Systems (ECBS07)</source>
          ,
          <source>Doctoral Symposium</source>
          .
          <year>2007</year>
          /03/26-29, Tucson, Az, USA (
          <year>2007</year>
          )
          <fpage>459</fpage>
          -
          <lpage>466</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref34">
        <mixed-citation>
          [ST07]
          <string-name>
            <surname>Skroch</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Turowski</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Reducing Domain Level Scenarios to Test Componentbased Software</article-title>
          .
          <source>Journal of Software</source>
          <volume>2</volume>
          (
          <year>2007</year>
          )
          <fpage>64</fpage>
          -
          <lpage>73</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref35">
        <mixed-citation>
          [Su03]
          <string-name>
            <surname>Sutcliffe</surname>
            ,
            <given-names>A. G.</given-names>
          </string-name>
          :
          <article-title>Scenario-Based Requirements Engineering</article-title>
          .
          <source>In: 11th IEEE International Conference on Requirements Engineering (RE2003)</source>
          .
          <year>2003</year>
          /09/08-12, Monterey, Ca, USA (
          <year>2003</year>
          )
          <fpage>320</fpage>
          -
          <lpage>329</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref36">
        <mixed-citation>
          [SZ04]
          <string-name>
            <surname>Strembeck</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zdun</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          :
          <article-title>Scenario-based Component Testing Using Embedded Metadata</article-title>
          .
          <source>In: First International Workshop on Software Quality (SOQUA2004) and Workshop Testing Component-Based Systems (TECOS2004)</source>
          .
          <year>2004</year>
          /09/27-30,
          <string-name>
            <surname>Erfurt</surname>
          </string-name>
          (
          <year>2004</year>
          )
          <fpage>31</fpage>
          -
          <lpage>45</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref37">
        <mixed-citation>
          [Tu03]
          <string-name>
            <surname>Turowski</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Fachkomponenten: Komponentenbasierte betriebliche Anwendungssysteme</article-title>
          . Shaker,
          <string-name>
            <surname>Aachen</surname>
          </string-name>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref38">
        <mixed-citation>
          [Vi+03]
          <string-name>
            <surname>Vincenzi</surname>
            ,
            <given-names>A. M. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maldonado</surname>
            ,
            <given-names>J. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Delamaro</surname>
            ,
            <given-names>M. E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Spoto</surname>
            ,
            <given-names>E. S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wong</surname>
            ,
            <given-names>W. E.</given-names>
          </string-name>
          :
          <article-title>Component-Based Software: An Overview of Testing</article-title>
          . In: Cechich,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Piattini</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Vallecillo</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          (Hrsg.):
          <source>Component-Based Software Quality: Methods and Techniques. LNCS 2693</source>
          , Springer, Berlin (
          <year>2003</year>
          )
          <fpage>99</fpage>
          -
          <lpage>127</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref39">
        <mixed-citation>
          [We98]
          <string-name>
            <surname>Weyuker</surname>
            ,
            <given-names>E. J.: Testing</given-names>
          </string-name>
          <string-name>
            <surname>Component-Based Software</surname>
          </string-name>
          :
          <article-title>A Cautionary Tale</article-title>
          .
          <source>IEEE Software</source>
          <volume>15</volume>
          (
          <year>1998</year>
          )
          <fpage>54</fpage>
          -
          <lpage>59</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref40">
        <mixed-citation>
          [WM95]
          <string-name>
            <surname>Wolpert</surname>
            ,
            <given-names>D. H..</given-names>
          </string-name>
          <string-name>
            <surname>Macready</surname>
          </string-name>
          , W. G.:
          <article-title>No Free Lunch Theorems for Search</article-title>
          . Working Papers of the Santa Fe Institute #
          <fpage>95</fpage>
          -
          <lpage>02</lpage>
          -010, The Santa Fe Institute, Santa Fe,
          <string-name>
            <surname>NM</surname>
          </string-name>
          , USA (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref41">
        <mixed-citation>
          [WM97]
          <string-name>
            <surname>Wolpert</surname>
            ,
            <given-names>D. H..</given-names>
          </string-name>
          <string-name>
            <surname>Macready</surname>
          </string-name>
          , W. G.:
          <article-title>No Free Lunch Theorems for Optimization</article-title>
          .
          <source>IEEE Transactions on Evolutionary Computation</source>
          <volume>1</volume>
          (
          <year>1997</year>
          )
          <fpage>67</fpage>
          -
          <lpage>82</lpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>