Peter Massuthe
Operating Guidelines for Services
Dissertation,
Apr 2009
Christian Stahl
Service Substitution - A Behavioral Approach Based on Petri Nets
Dissertation,
Dec 2009
Service-Oriented Computing is an emerging computing paradigm that supports the modular design of (software) systems. Complex systems are designed by composing less complex systems, called services. Such a (complex) system is a distributed application often involving several cooperating enterprises. As a system usually changes over time, individual services will be substituted by other services. Substituting one service by another one should not affect the correctness of the overall system. Assuring correctness becomes particularly challenging, as the services rely on each other, and each of the involved enterprises only oversees a part of the overall system. In addition, services communicate asynchronously which makes the analysis even more difficult. For this reason, formal methods to support service substitution are indispensable. In this thesis, we study service substitution at the level of service models. Thereby we restrict ourselves to service behavior. As a formalism to model service behavior, we use Petri nets. The first contribution of this thesis is the definition of several substitutability criteria that are suitable in the context of Service-Oriented Computing. Substituting a service S by a service S' should preserve some behavioral properties of the overall system. For each set of behavioral properties and a given service S, there exists a set of behaviorally compatible services for S. A substitutability criterion defines which of these behaviorally compatible services of S have to be preserved by S'. We relate our substitutability criteria to preorders and equivalences known from process theory. The second contribution of this thesis is to present, for each substitutability criterion, a procedure to decide whether a service S' can substitute a service S. The decision requires the comparison of the in general infinite sets of behaviorally compatible services for the services S and S'. Hence, we extend existing work on an abstract representation of all behaviorally compatible services for a given service. For each notion of behavioral compatibility, we present an algorithmic solution to represent all behaviorally compatible services. Based on these representations, we can decide substitutability of a service S by a service S'. The third contribution of this thesis is a method to support the design of a service S' that can substitute a service $S$ according to a substitutability criterion. Our approach is to derive a service S' from the service S by stepwise transformation. To this end, we present several transformation rules. Finally, we formalize and we extend the equivalence notion for services specified in the language WS-BPEL. That way, we demonstrate the applicability of our work.
close
Karsten Wolf, Christian Stahl, Janine Ott, Robert Danitz
Verifying Livelock Freedom in an SOA Scenario
Stephen Edwards and Walter Vogler, editors
In Proceedings of the Ninth International Conference on Application of Concurrency to System Design (ACSD'09),
IEEE Computer Society,
Augsburg, Germany,
jul 2009
In a service-oriented architecture (SOA), a service broker assigns a previously published service (stored in a service registry) to a service requester. It is desirable for the composition of the requesting and the assigned service to interact properly. While proper interaction is often reduced to deadlock freedom of the composed system, we additionally consider livelock freedom as a desirable property for the interaction of services. In principle, deadlock- and livelock freedom can be verified by inspecting the state space of the composition of (public views of) the involved services.
The contribution of this paper is to propose a methodology to build that state space from pre-computed fragments which are computed upon publishing a service. That way, we shift computation time from the time critical request phase of service brokerage to the less critical publish phase. Interestingly, our setting enables state space reduction methods that are intrinsically different from traditional state space reductions.
close
Nannette Liske, Niels Lohmann, Christian Stahl, Karsten Wolf
Another Approach to Service Instance Migration
Luciano Baresi and Chi-Hung Chi and Jun Suzuki, editors
In Service-Oriented Computing - ICSOC 2009, 7th International Conference, Stockholm, Sweden, November 24-27, 2009. Proceedings,
Lecture Notes in Computer Science,
Springer-Verlag,
nov 2009
Services change over time, be it for internal improvements, be it for external requirements such as new legal regulations. For long running services, it may even be necessary to change a service while instances are actually running and interacting with other services. This problem is referred to as instance migration. We present a novel approach to the behavioral (service protocol) aspects of instance migration. We apply techniques for finitely characterizing the set of all correctly interacting partners to a given service. The approach assures that migration does not introduce behavioral problems with any running partner of the original service. Our technique scales up to services with thousands of states, including models of real WS-BPEL processes.
close
Albert Atserias, Johannes Klaus Fichte, Marc Thurley
Clause-Learning Algorithms with Many Restarts and Bounded-Width Resolution
In SAT,
2009
Wilfried Brauer, Wolfgang Reisig
Carl Adam Petri and ''Petri Nets''
Erol Gelenbe and Jean-Pierre Kahane (Hrsg.), editors
volume 3 of Advances in Computer Science and Engineering: Texts,
Fundamental Concepts in Computer Science 3,
Imperial College Press,
2009
Niels Lohmann, Eric Verbeek, Chun Ouyang, Christian Stahl
Comparing and Evaluating Petri Net Semantics for BPEL
volume 4 of
International Journal of Business Process Integration and Management (IJBPIM) 4 (1),
2009
We compare two Petri net semantics for the Web Services Business Process Execution Language (BPEL). The comparison reveals different modelling decisions. These decisions together with their consequences are discussed. We also give an overview of the different properties that can be verified on the resulting models. A case study helps to evaluate the corresponding compilers which transform a BPEL process into a Petri net model.
close
Christian Stahl, Karsten Wolf
Deciding Service Composition and Substitutability Using Extended Operating Guidelines
volume 68 of
Data Knowl. Eng. 68 (9),
2009
We study the correct interaction between services using the following notion for correctness: there is no deadlock in the interaction of the services, and a given set of activities is not dead, that is, each activity in this set is executed in at least one run. The second condition has not been studied before. An operating guideline of a service P is an operational characterization of all deadlock-free interacting partners of P. In this paper, we present an extension of the concept of an operating guideline to characterize all correctly interacting partners of a service P. This extension can be used for answering at least the following two questions. First, given a service R, does R interact correctly with P? Second, given a service P', can P be substituted by P', that is, is every correctly interacting partner of P a correctly interacting partner of P', too?
close
Kees van Hee, Eric Verbeek, Christian Stahl, Natalia Sidorova
A Framework for Linking and Pricing No-Cure-No-Pay Services
Kurt Jensen and Wil M. P. van der Aalst, editors
volume 2 of Lecture Notes in Computer Science, vol. 5460,
Transactions on Petri Nets and Other Models of Concurrency II, Special Issue on Concurrency in Process-Aware Information Systems 2,
Springer-Verlag,
mar 2009
In this paper, we present a framework that allows us to orchestrate web services such that the web services involved in this orchestration interact properly. To achieve this, we predefine service interfaces and certain routing constructs. Furthermore, we define a number of rules to incrementally compute the price of such a properly interacting orchestration (i.e. a web service) from the price of its web services. The fact that a web service gets only payed after its service is delivered (no-cure-no-pay) is reflected by considering a probability of success. To determine a safe price that includes the risk a web service takes, we consider the variance of costs.
close
Christian Stahl, Peter Massuthe, Jan Bretschneider
Deciding Substitutability of Services with Operating Guidelines
Kurt Jensen and Wil M. P. van der Aalst, editors
volume 2 of Lecture Notes in Computer Science, vol. 5460,
Transactions on Petri Nets and Other Models of Concurrency II, Special Issue on Concurrency in Process-Aware Information Systems 2 (5460),
Springer-Verlag,
mar 2009
Deciding whether a service S can be substituted by another service S' is an important problem in practice and one of the research challenges in service-oriented computing. In this paper, we define three substitutability notions for services. Accordance specifies that S' cooperates with at least the environments that S cooperates with. S and S' are equivalent if they cooperate with the same environments. To guarantee that S' cooperates with a fixed subset of environments that S cooperates with, the notion of restriction can be used. For each substitutability notion we present a decision algorithm. To this end we apply the concept of an operating guideline of a service as an abstract representation of all environments the service cooperates with.
close
Mike Herzog
Modellierung kommunizierender Systeme
Studienarbeit,
mar 2009
Robert Prüfer
Optimierung der Sweeplinemethode
Studienarbeit,
mar 2009
Jan Sürmeli
Strukturelle Analyse von Servicenetzen
Diplomarbeit,
feb 2009
Richard Müller
Strukturelle Reduktion von Verhaltensadaptern
Studienarbeit,
dec 2009
Wolfgang Reisig
The Universal Net Composition Operator
Forschungsbericht,
Humboldt-Universität zu Berlin,
jan 2009
Petri nets are frequently composed of given nets. Literature suggests a lot of different composition operators, for different purposes and different classes of Petri nets. Formal definitions are frequently surprisingly technical, not matching the intuitively very elegant composition of Petri nets in the framework of their graphical representation. This paper suggests the universal net composition operator. This operator allows to specify any specific composition variant by very simple means, leaving all technical details to the operator, where they are treated once and for all. General properties of composition, in particular associativity, are inherited by all instantiations of the operator. We show the practical advantage of the universal composition operator by means of a lot of examples from various areas of Petri nets.
close