Modeling- and Analysis Techniques for Web Services and Business Processes [chapter]

Wolfgang Reisig
2005 Lecture Notes in Computer Science  
Open distributed systems include in particular Web services and business processes. There is a need of techniques to model such systems formally, and to derive decisive properties from such models. Three such techniques are presented in this paper, exemplified by help of realistic examples, and mutually related w.r.t. their respective expressive power and the availability of analysis techniques. Modeling -and Analysis Techniques The definition of a Web service must be communicated among its
more » ... gners, implementers, users, etc. This requires a language, i.e. a meta-model, capable to represent Web services intuitively and uniquely. A commonly accepted metamodel does not exist, however. Instead, notions and notations in the area of Web services emerged quickly and, occasionally, with little mutual recognition. Quoting the W3C consortium, and specifically the group involved in the Web service activity [W3C02], a web service is "a software application identified by a URI, whose interfaces and bindings are capable of being defined, described and discovered by XML artefacts. A Web service supports direct interactions with other software agents, using XML-based messages exchanged via Internet-based protocols." Hence, a meta-model for Web services must in particular be capable of describing interfaces and bridging of services, in addition to abstract objects as described in Section 1. Specification languages for Web services and business processes differ fundamentally from conventional programming languages: The semantical basis of a conventional programming language essentially consists of objects such as symbols, sequences of symbols, binary integer representations, and operations such as composing and comparing symbol sequences. The corresponding theoretical framework is the world of computable functions. This framework can however not be employed as the semantical basis of specification languages for Web services and business processes, because elementary objects can be any items, and elementary operations can be any operations. We consider two approaches to tackle this problem: The first one starts out with the observation that many questions can be stated and answered without detailed semantical aspects, focusing only onto the control structure of services. Typical examples of such questions include necessary conditions for proper termination, usability and equivalence. Low-level Petri nets turned out to be particularly useful for this purpose. This line of research has mainly been started by [vdA96], [vdA98], and continued by e.g. [KMR00], [Mar03], [Mar05b], [Mar05a], [RSS04], and [SS04] . The second solution to the above stated problem applies a kind of mathematics that has been designed to cope with any kind of items and operations on then: General Algebra and first order logic. This kind of mathematics, however, describes static structures, whereas we have to tackle dynamic behavior. This goal is achieved by two formalisms, high-level Petri nets and Gurevich's Abstract State Machines. Each of the three modeling techniques trades expressivity for analysis techniques: The more expressive the modeling technique, the less it offers specific analysis techniques. Various versions of automata and process algebras have been suggested to model web services and business processes. They do not decisively contribute to the aspects considered in this paper. Low-level Petri nets for business processes We start out with the quite elementary technique of business process nets (BP nets), a special class of elementary Petri nets. BP nets model the structure of
doi:10.1007/11494881_16 fatcat:c6xvrtnlp5esrbelurn5avvvgu