Abstract
In the paradigm of service-oriented computing, companies organize their core
competencies as services and may request other functionalities from services of
other companies. Services provide high flexibility, platform independent loose
coupling, and distributed execution. They may thus help to reduce the complexity
of dynamically binding and integrating heterogenous processes within and
across organizations. The vision of service-oriented architectures is to provide a
framework for publishing new services, for on demand searching for and discovery
of existing services, and for dynamically binding services to achieve common
business goals. That way, each individual organization gains more flexibility to
dynamically react on new challenges.
As services may be created or modified, or collaborations may be restructured at
any point in time, a new challenge arises in this setting—the challenge for deciding
the compatibility of the composed services before their actual binding. Recent
literature distinguishes four different aspects of service compatibility: syntactical,
behavioral, semantical, and non-functional compatibility. In this thesis, we focus
on behavioral compatibility and abstract from the other aspects. Potential behavioral
incompatibilities between services include deadlocks (two services wait
for a message of each other), livelocks (two services keep exchanging messages
without progressing), and pending messages that have been sent but cannot be
received anymore.
For stateful services that interact via asynchronous message passing, deciding
behavioral compatibility is far from trivial. Local changes to one service may
introduce errors in some or even all other services of an interaction. The verification
of behavioral compatibility suffers from state explosion problems and is
restricted by privacy issues. That is, the parties of an interaction are essentially
autonomous and may be competitors in other business fields. Consequently, they
do not want to reveal the internals of their processes to the other participants in
order to hide trade secrets.
To systematically approach this challenge, we introduce a formal framework based
on Petri nets and automata for service modeling and formalize behavioral compatibility
as deadlock freedom of the composition of the services. The main contribution
of this thesis is to introduce the concept of the operating guideline of a
service. Operating guidelines provide a formal characterization of the set of all behaviorally
compatible services R for a given service S. Usually, this set is infinite.
However, the operating guideline OGS of a service S serves as a finite representation
of this infinite set. Furthermore, the operating guideline of S reveals only
internals that are inevitably necessary to decide behavioral compatibility with S.
We provide a construction method of operating guidelines for finite-state services
with bounded communication.
Operating guidelines can be used in many applications in the context of serviceoriented
computing. The most fundamental application is to support the discovery
of behaviorally compatible services. To this end, we develop a matching procedure
that efficiently decides whether a given service R is characterized by the operating
guideline OGS of a service S. If R matches, then both services R and S are
behaviorally compatible and can be bound together to interact with each other.
If R does not match with OGS, then the services are behaviorally incompatible
and may run into severe behavioral errors and not reach their common business
goal.
Operating guidelines can furthermore be applied in the novel research areas of
service substitutability and the generation of adapter services, for instance. To
this end, we develop methods to compare the sets of services characterized by the
operating guidelines OGS and OGS0 . If OGS0 characterizes more services than
OGS, then the service S can be substituted by the service S0 without loosing any
behaviorally compatible interaction partner R. Furthermore, we show how to synthesize
a service R from the operating guideline OGS such that R is behaviorally
compatible to S by construction.
All results presented in this thesis are implemented in our service analysis tool
Fiona. Fiona may compute operating guidelines for services modeled as Petri
nets. It may match a service with an operating guideline, compare operating
guidelines for equivalence or an inclusion relation, and synthesize service adapters
for behaviorally incompatible services. Together with the tool BPEL2oWFN—
which translates web services specified in BPEL into Petri net models of the
services—we can immediately apply our results to services that stem from practice
Original language | English |
---|---|
Qualification | Doctor of Philosophy |
Awarding Institution |
|
Supervisors/Advisors |
|
Award date | 21 Apr 2009 |
Place of Publication | Eindhoven |
Publisher | |
Print ISBNs | 978-90-386-1702-2 |
DOIs | |
Publication status | Published - 2009 |