Realizability of Choreographies Using Process Algebra Encodings
IEEE Transactions on Services Computing
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
... 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.