13 research outputs found

    An Algebraic Theory for Web Service Contracts

    Get PDF
    International audienceWe study a natural notion of compliance between clients and services in terms of their bpel (abstract) descriptions. The induced preorder shows interesting connections with the must preorder and has normal form representatives that are parallel-free finite-state activities, called contracts. The preorder also admits the notion of least service contract that is compliant with a client contract, called dual contract, and exhibits good precongruence properties when choreographies of Web services are considered. Our framework serves as a foundation of Web service technologies for connecting abstract and concrete service definitions and for service discovery

    A Calculus for Orchestration of Web Services

    Get PDF
    Service-oriented computing, an emerging paradigm for distributed computing based on the use of services, is calling for the development of tools and techniques to build safe and trustworthy systems, and to analyse their behaviour. Therefore, many researchers have proposed to use process calculi, a cornerstone of current foundational research on specification and analysis of concurrent, reactive, and distributed systems. In this paper, we follow this approach and introduce CWS, a process calculus expressly designed for specifying and combining service-oriented applications, while modelling their dynamic behaviour. We show that CWS can model all the phases of the life cycle of service-oriented applications, such as publication, discovery, negotiation, orchestration, deployment, reconfiguration and execution. We illustrate the specification style that CWS supports by means of a large case study from the automotive domain and a number of more specific examples drawn from it

    Using formal methods to develop WS-BPEL applications

    Get PDF
    In recent years, WS-BPEL has become a de facto standard language for orchestration of Web Services. However, there are still some well-known difficulties that make programming in WS-BPEL a tricky task. In this paper, we firstly point out major loose points of the WS-BPEL specification by means of many examples, some of which are also exploited to test and compare the behaviour of three of the most known freely available WS-BPEL engines. We show that, as a matter of fact, these engines implement different semantics, which undermines portability of WS-BPEL programs over different platforms. Then we introduce Blite, a prototypical orchestration language equipped with a formal operational semantics, which is closely inspired by, but simpler than, WS-BPEL. Indeed, Blite is designed around some of WS-BPEL distinctive features like partner links, process termination, message correlation, long-running business transactions and compensation handlers. Finally, we present BliteC, a software tool supporting a rapid and easy development of WS-BPEL applications via translation of service orchestrations written in Blite into executable WS-BPEL programs. We illustrate our approach by means of a running example borrowed from the official specification of WS-BPEL

    On Projecting Processes into Session Types

    Get PDF

    Orchestrating Tuple-based Languages

    Get PDF
    The World Wide Web can be thought of as a global computing architecture supporting the deployment of distributed networked applications. Currently, such applications can be programmed by resorting mainly to two distinct paradigms: one devised for orchestrating distributed services, and the other designed for coordinating distributed (possibly mobile) agents. In this paper, the issue of designing a pro- gramming language aiming at reconciling orchestration and coordination is investigated. Taking as starting point the orchestration calculus Orc and the tuple-based coordination language Klaim, a new formalism is introduced combining concepts and primitives of the original calculi. To demonstrate feasibility and effectiveness of the proposed approach, a prototype implementation of the new formalism is described and it is then used to tackle a case study dealing with a simplified but realistic electronic marketplace, where a number of on-line stores allow client applications to access information about their goods and to place orders

    Analyse formelle d'orchestrations de services Web

    Get PDF
    RESUME Les Services Web sont des technologies émergentes et prometteuses pour le développement, le déploiement et l'intégration des applications Internet. Plusieurs Services Web sont composés pour fournir des fonctionnalités plus riches donnant naissance à ce qu'il est convenu d'appeler une orchestration de services. Ces nouvelles technologies nécessitent l'élaboration d'outils et de techniques permettant la conception de systèmes plus sûrs et plus fiables. Les outils commerciaux existants de conception de compositions de services ne fournissent pas de fonctionnalités pour la vérication formelle. Par conséquent, plusieurs recherches basées sur des formalismes variés ont été menées donnant lieu a la réalisation de nombreux outils dédiés à la vérication de Services Web. Mais, très souvent, ces outils sont limites dans leur portée. Ceci nous a amenés à privilégier l'utilisation des algèbres de processus qui sont généralement admis comme étant un formalisme plus adapté à la spécification et à l'analyse des systèmes concurrents distribués ee réactifs. Cette thèse présente une approche originale pour la modélisation de langages de compositions de Services Web et du langage WS-BPEL en particulier. Ce langage est l'un des standards les plus populaires pour les orchestrations de Services Web. Nous proposons ainsi un formalisme que nous appelons le BP-calcul et qui est conçu autour des caractéristiques les plus importantes de WS-BPEL. Le BP-calcul vise à ^êre une représentation formelle de ce standard. Il est basé sur un formalisme bien établi, le -calcul. En utilisant des exemples significatifs, nous montrons que le BP-calcul est adapté à la conception d'applications complexes basées sur les services qui peuvent contenir tout autant des gestionnaires d'erreurs ou d'événements que des mécanismes de corrélation d'instances. Nous fournissons toutes les méthodes et les outils qui permettent de construire et d'analyser des BP-processus. Nous fournissons ainsi une syntaxe et une sémantique comportementale, une congruence permettant de vérifier la compatibilité entre services ainsi qu'une logique temporelle permettant de vérifier les comportements souhaitables d'un système à l'aide de model-checkers existants. Nous présentons également différentes transformations entre ces trois langages. Une première transformation permet de traduire les processus WS-BPEL en BP-processus, puis ensuite en -calcul, ce qui permet leur vérication formelle. Une autre transformation traduit des BP-processus formellement vérifiés en processus WS-BPEL, agissant ainsi comme un générateur de code WS-BPEL. Nous démontrons de nombreux théorèmes qui attestent du bien fondé de ces transformations. Une étude de cas conséquente dans le domaine financier illustre la pertinence et la faisabilité de de notre approche. Enfin, nous présentons l'architecture du prototype d'un environnement dédié à la vérification des processus WS-BPEL existants et la création de nouveaux processus WS-BPEL à partir de spécifications formelles conçues en BP-calcul.----------ABSTRACT Web Services are emerging technologies and promising for the development, deployment and integration of Internet applications. To provide a richer functionality, Web Services may be composed resulting in a larger service called orchestration. These emerging technologies require the development of tools and techniques that allow to build safe and reliable systems. Existing commercial tools for the design of composed services do not provide means to proceed to formal verication. Therefore, many researches based on various formalisms have been conducted that have given rise to several tools. But, very often, these tools are limited in their scope. However, it is actually admitted that process algebra are appropriate for the specication and analysis of concurrent, reactive, and distributed systems. This thesis presents an original approach to model languages for Web Services compositions and WS-BPEL in particular, that is one of the most popular standard for Web Services orchestrations. We propose a language, called BP-calculus, that is designed around most important WS-BPEL specic features and that aims to be a formal presentation of this standard. The BP-calculus is based on a well-established formalism, the -calculus. By using signicative examples, we show that the BP-calculus is well-suited to the design of complex applications based on Service Oriented Architectures (SOA) including fault or event handlers and instances correlation. We provide all the methods and tools that permit to build and analyze BP-processes : a syntax and a behavioral semantics, a congruence to check compatibility of services and a temporal logic to check desirable behavior of a system by using existing model-checkers. We also present several mappings between these languages : a mapping that allows to translate WS-BPEL processes into BP-processes and then into -calculus, in order to proceed to their formal verication and a mapping from formally veried BP-processes into WS-BPEL processes acting as a generator of WS-BPEL code. A large case study from nancial domain illustrates the relevance and the feasability of our approach. Finally, we present the architecture of a prototype for a general framework dedicated to the verication of existing WS-BPEL processes and the generation of new WSBPEL specications from formal ones
    corecore