Realizability of Choreographies Using Process Algebra Encodings [chapter]

Gwen Salaün, Tevfik Bultan
2009 Lecture Notes in Computer Science  
Service-oriented computing has emerged as a new software development paradigm that enables implementation of Web accessible software systems that are composed of distributed services which interact with each other via exchanging messages. Modeling and analysis of interactions among services is a crucial problem in this domain. Interactions among a set of services that participate in a service composition can be described from a global point of view as a choreography. Choreographies can be
more » ... ied using specification languages such as Web Services Choreography Description Language (WS-CDL) and visualized using graphical formalisms such as collaboration diagrams. In this article, we present an encoding of collaboration diagrams into the LOTOS process algebra for choreography analysis. This encoding allows us to (i) check the temporal properties of choreographies using a LOTOS verification tool set called the Construction and Analysis of Distributed Processes (CADP) toolbox, (ii) check the realizability of choreographies for both synchronous communication and bounded asynchronous communication, and (iii) automate the peer generation process. Realizability indicates whether peers can be generated from a given choreography specification in such a way that the interactions of the generated peers exactly match the choreography specification. If a collaboration diagram is unrealizable, our approach extends the peer generation process by adding extra communication that guarantees that the peers behave according to the choreography specification. in 1998. His current research interests are: service oriented computing, concurrency, model checking, static analysis, and software engineering. Nima Roohi received his MSc degree from Computer Science department of Sharif University of Technology, Iran, in 2008. He is interested in formal research areas, such as formal specification and verification, program development from formal specification, choreography and orchestration of Web services, concurrent programming.
doi:10.1007/978-3-642-00255-7_12 fatcat:vlnvbwacxnbnde5xkciyz464pq