Abstract Processes in Orchestration Languages

Orchestrators are descriptions at implementation level and may contain sensitive information that should be kept private. Consequently, orchestration languages come equipped with a notion of abstract processes , which enable the interaction among parties while hiding private information. An interesting question is whether an abstract process accurately describes the behavior of a concrete process so to ensure that some particular property is preserved when composing services. In this paper we focus on compliance, i.e, the correct interaction of two orchestrators and we introduce two definitions of abstraction: one in terms of traces, called trace-based abstraction , and the other as a generalization of symbolic bisimulation, called simulation-based abstraction . We show that simulation-based abstraction is strictly more refined than trace-based abstraction and that simulation-based abstraction behaves well with respect to compliance.

[1]  Karsten Wolf,et al.  Operating guidelines - an automata-theoretic foundation for the service-oriented architecture , 2005, Fifth International Conference on Quality Software (QSIC'05).

[2]  Thomas A. Henzinger,et al.  Interface Theories for Component-Based Design , 2001, EMSOFT.

[3]  Cosimo Laneve,et al.  The Must Preorder Revisited , 2007, CONCUR.

[4]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[5]  C. A. R. Hoare,et al.  Stuck-Free Conformance , 2004, CAV.

[6]  Kohei Honda,et al.  Types for Dynamic Interaction , 1993 .

[7]  Kohei Honda,et al.  Types for Dyadic Interaction , 1993, CONCUR.

[8]  Cosimo Laneve,et al.  The Pairing of Contracts and Session Types , 2008, Concurrency, Graphs and Models.

[9]  Mario Bravetti,et al.  Towards a Unifying Theory for Choreography Conformance and Contract Compliance , 2007, SC@ETAPS.

[10]  S. Arun-Kumar,et al.  Conformance: A Precongruence close to Bisimilarity , 1995, STRICT.

[11]  Matthew Hennessy,et al.  Symbolic Bisimulations , 1995, Theor. Comput. Sci..

[12]  Kim G. Larsen,et al.  On Modal Refinement and Consistency , 2007, CONCUR.

[13]  Doina Bucur,et al.  Secure Data Flow in a Calculus for Context Awareness , 2008, Concurrency, Graphs and Models.

[14]  Rocco De Nicola,et al.  A Symbolic Semantics for the pi-Calculus , 1996, Inf. Comput..

[15]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[16]  Robert de Simone,et al.  CONCUR'98 Concurrency Theory , 1998, Lecture Notes in Computer Science.

[17]  Dave Thomas,et al.  ECOOP 2006 - Object-Oriented Programming , 2006 .

[18]  Simon J. Gay,et al.  Subtyping for session types in the pi calculus , 2005, Acta Informatica.

[19]  Thomas A. Henzinger,et al.  Alternating Refinement Relations , 1998, CONCUR.

[20]  Sophia Drossopoulou,et al.  Session Types for Object-Oriented Languages , 2006, ECOOP.