Abstract. In a previous work we have presented a formal framework devoted to show the relevance of choreography and orchestration in the design of service oriented applications. Even if useful to start a formal investigation of the relationship between choreography and orchestration, the proposed framework was not suitable to specify real case studies. In fact, it simply permitted to specify all possible computations abstracting away from the conditions driving the choice of the actual behaviour. In this paper we tackle this problem by introducing the notion of state variables. The addition of state requires a substantial modification of the entire framework because the same state variable, at the level of choreography, can be actually stored in distributed orchestrators that will need to synchronize in order to maintain consistent views. In order to faithfully investigate this problem we also need to modify the formal model at the orchestration level, moving from synchronous to asynchronous communication as the latter is the communication modality of the ordinary communication infrastructures.
We introduce a process algebra containing the coordination primitives of Linda (asynchronous communication via a shared data space, read operation, non-blocking test operators on the shared space). We compare two possible semantics for the output operation: the former, that we call ordered, de nes the output as an operation that returns when the message has reached the shared data space; the latter, that we call unordered, returns just after sending the message to the tuple space. The process algebra under the ordered semantics is Turing powerful, as we are able to program any Random Access Machine. The main result of the paper is that the process algebra under the unordered semantics is not Turing powerful. This result is achieved by resorting to a net semantics in terms of contextual nets (P/T nets with inhibitor and read arcs), and showing that there exists a deadlock-preserving simulation of such nets by nite P/T nets, a formalism where termination is decidable.
In this paper we investigate the expressive power of three alternative approaches to the definition of infinite behaviours in process calculi, namely, recursive definitions, replication and iteration. We prove several results discriminating between the calculi obtained from a core CCS by adding the three mechanisms mentioned above. These results are derived by considering the decidability of four basic properties: termination (that is, all computations are finite); convergence (that is, the existence of a finite computation); barb (that is, the ability to perform an action on a given channel) and weak bisimulation. Our results, which are summarised in Table 1, show that the three calculi form a strict expressiveness hierarchy in that: all the properties mentioned are undecidable in CCS with recursion; only termination and barb are decidable in CCS with replication; all the properties are decidable in CCS with iteration. As a corollary, we also obtain a strict expressiveness hierarchy with respect to weak bisimulation, since there exist weak bisimulation preserving encodings of iteration in replication and of replication in recursion, whereas there are no weak bisimulation preserving encodings in the other directions.
scite is a Brooklyn-based organization that helps researchers better discover and understand research articles through Smart Citations–citations that display the context of the citation and describe whether the article provides supporting or contrasting evidence. scite is used by students and researchers from around the world and is funded in part by the National Science Foundation and the National Institute on Drug Abuse of the National Institutes of Health.