| R. J. R. Back and R. Kurki-Suonio. Distributed co-operation with action systems. ACM Transactions on Programming Languages and Systems, 10:513{ 554, October 1988. |
....proposal 7 calculus is usually based on a weakest precondition semantics. Its correctness is ensured by the following result. Let T (S) be the transition system defining the operational semantics of an atomic statement S: and so on [17] In most concurrent languages (e.g. Action Systems [22], Unity [42] the operational semantics is a (possibly infinite) set of computations. All the computations start from the same initial state s 0 . Hence, we can think of the set of computations as the set of branches of a tree T rooted in s 0 . Let s be a node of the tree, and s 1 ; s n ....
....usually based on a weakest precondition semantics. Its correctness is ensured by the following result [17] Let T (S) be the transition system defining the operational semantics of an atomic statement S: 87 and so on. In most concurrent languages (e.g. Guarded Commands [51] Action Systems [22], Unity [42] the operational semantics is a (possibly infinite) set of computations. All the computations start from the same initial state s 0 . Hence, we can think of the set of computations as the set of branches of a tree T rooted in s 0 . Let s be a node of the tree, and s 1 ; s n ....
R.J.R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554, 1988.
....largely sequential segments of code, thus limiting the level of parallelism possible. An executing program accesses data entities (variables) by their names; the computation proceeds by transforming the state of these entities. A few recent programming notations, such as UNITY [5] Action Systems [2], and event predicates [12] have banished sequentiality from the languages, but have retained the state transition and named variable concepts. While preserving many of the results of program verification research, these languages make concurrency the normal case, sequentiality the special case. ....
R. J. R. Back and R. Kurki-Suonio. Distributed cooperation with Action Systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554, October 1988.
....this experience has shown that adding locations to programs in an ad hoc way does not provide structural solutions to the main problem, which is the interference between computation, coordination and distribution. Topological Actions Systems (TAS) These are an extension of Action Systems [4][18] that address fine grained mobility explicitly. Variables and actions (guarded commands) are regarded as resources, respectively data and code resources, and adopted as units of mobility. The space of mobility is assumed to be discrete (a set of positions) and its properties are modelled ....
R.Back and R.Kurki-Suonio, "Distributed Co-operation with Action Systems", in ACM Transactions on Programming Languages and Systems, 10(4), 513-554, 1988.
....re nement calculus was originally designed for sequential programs total correctness was sucient. The re nement calculus has however been lifted to work on both parallel [Bac89, Bac90, Ser90, BS91, Bac93] and reactive (or distributed) Bac90, vW92b, BvW94, BS96] systems, by using action systems [BKS83, BKS84, BKS88] to model parallel and distributed systems as sequential programs. Although preserving total correctness is also sucient for parallel systems, stepwise re nement of reactive or distributed systems also requires preservation of temporal properties. Consequently, in [Bac90, vW92b, BvW94, BS96] the ....
R.J.R. Back and R. Kurki-Suonio. Distributed co-operation with action systems. ACM Transactions on Programming languages and Systems, 10(4):513-554, 1988.
....[11] replaces the sequential process by a nondeterministic infinite state machine; 2 each output command has a single source and all recipients of that command are always ready to accept itthus the only blocking is by input commands waiting for a matching output command. The Action Systems model [2] sees a process as a locus associated with a set of variables; an action involving a single process defines a computation, while one involving multiple processes represents a communication. Although actions can not execute if disabled, there is no blocking in the sense of waiting for some other ....
Back, R. J. R., and Kurki-Suonio, R., Distributed Cooperation with Action Systems, CM Transactions on Programming Languages and Systems 10(4), pp. 513-554 (1988). 19
....facilitate verification of temporal properties of specifications resulting from applying the step. It is then su#cient to establish that the assumptions hold for a particular base specification to reuse the verification of the step. 2. 2 Joint Actions We give specifications using the joint action [3, 4] style. A joint action specification consists of a set of classes, a set of joint actions, and an initial condition. The state of the system is determined by state variables that reside in objects. An action has a set of roles in which objects may participate, and the action can be executed for ....
R. J. R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554, October 1988.
....in such a way that the aspects are woven together. The language has a formal semantics given in the typed higher order logic of the PVS [11] theorem prover, which is allows for fully mechanized reasoning about Ocsid specifications [9] 2 Joint Actions and Superposition In the joint action [2, 3] style of specification, distributed systems are specified using atomic guarded parallel assignments involving multiple objects. The formal basis is linear time temporal logic, and behavior is specified in terms of state variables that reside in objects. The structure of objects is dictated by ....
R. J. R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554, October 1988.
....proper abstractions, and enable incremental development. 2) Specifications must be validated by developers and users before continuing with implementation. 3) Critical properties of the specification need to be formally verified. DisCo 1 [9] is a specification method based on joint actions [3, 4]. Its main advantages are objectorientation, design methodology based on stepwise refinement by superposition, support for real time specification, and executability. Based on past results and experiences [15, 12, 21] it can be argued that DisCo performs well with respect to factors (1) and (2) ....
R. J. R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554, October 1988.
....with the way the computations performed by the individual components are programmed. The term superposition refers to a mechanism, also called superimposition by some authors, that has been developed and applied in Parallel Program Design for extending systems while preserving their properties [8,11,17,23]. Our belief is that this basic mechanism is lacking in objectoriented development approaches and fills the gap that we have identified in OO development for supporting the externalisation of interactions and their evolution. In the remainder of this paper, we will provide a comprehensive ....
....in [21] The aim of contracts as developed therein is to model collaboration and behavioural relationships between objects that are jointly required to accomplish some task. The emphasis, however, is in software construction, not so much in evolution. A notion of contract can also be found in [8] that emerged in the context of the action systems approach. Like in our case, it promotes the separation between the specification of what actors can do in a system and how they need to be coordinated so that the computations required of the system are indeed part of the 16 global ....
[Article contains additional citation context not shown here]
R.Back and R.Kurki-Suonio, "Distributed Cooperation with Action Systems", ACM TOPLAS 10(4), 1988, 513-554.
....the way the computations performed by the individual components are programmed. The term superposition refers to a mechanism, also called superimposition by some authors, that has been developed and applied in Parallel Program Design for extending systems while preserving their properties [7,10,16,22]. Our belief is that this basic mechanism is lacking in object oriented development approaches and fills the gap that we have identified in OO development for supporting the externalisation of interactions and their evolution. These are the two sides of the coin that we call Coordination ....
.... ability for objects to be treated as black box components and, hence, for contracts to be dynamically added or removed from a system without having to recompile the partners, is achieved through the mechanism of superposition (or superimposition) developed in the area of Parallel Program Design [7,10,16,22]. An effective use of the proposed coordination mechanisms further requires language and tool support for the actual run time superposition of contracts, either in reaction to customer demands or for the enforcement of business policies. Such policies have to be understood as invariants that ....
R.Back and R.Kurki-Suonio, "Distributed Cooperation with Action Systems", ACM TOPLAS 10(4), 1988, 513-554.
....design in particular has a long tradition of addressing problems of concurrency and synchronization. The design of systems based on interacting FSMs, synchronous and asynchronous, is common. Alternative approaches, such as the formalisms of Petri nets [18] Actor Computations [19] Action Systems [20], Temporal Logic of Actions [21] appear less suitable at present. The instantiation of each encapsulated task with primitives such as ControlJoin, DataMux, and ControlFork bears similarities, in principle at least, to Hoare Logic and its extension with auxiliary variables [22] However, the ....
R. J. R. Back and Kuri-Suonio . Distributed Co-operation with action systems. Transactions on Program Languages and Systems, 1988.
....2 the DisCo method is introduced. The method is applied in Section 3 where the case study is presented. Conclusions are reported in Section 4 together with the description of a future work. 2 Introduction to DisCo DisCo is based on the joint action theory developed by Back and Kurki Suonio [1,2], in which objects communicate in atomic actions. The joint action paradigm has been found suitable for specifying and reasoning about reactive and concurrent systems. Instead of processes we are interested in actions that may have one or more participants. Notations for processes are not needed, ....
Back, R.J.R., Kurki-Suonio, R., Distributed Cooperation with Action Systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554, Oct. 1988.
....is modeled as a set of communicating sequential processes. Because of the mutual exclusion problems and timing problems that arise, this approach often leads to complex systems, whose properties are hard to understand and reason about. The joint action approach developed by Back and Kurki Suonio [2, 3, 4, 5] concentrates on actions instead of processes. Each action is an atomic change of system state, expressed as a set of assignments and the conditions under which the action can be executed. Action systems provide a convenient way of specifying reactive and parallel systems, and reasoning about ....
R. J. R. Back and R Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554, October 1988.
....proper abstractions, and enable incremental development. 2) Specifications must be validated by developers and users before continuing with implementation. 3) Critical properties of the specification need to be formally verified. DisCo 1 [9] is a specification method based on joint actions [3, 4]. Its main advantages are objectorientation, design methodology based on stepwise refinement by superposition, support for real time specification, and executability. Based on past results and experiences [15, 12, 21] it can be argued that DisCo performs well with respect to factors (1) and (2) ....
R. J. R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554, October 1988.
....a number of rules for semantics integrity checking. In fact, the two model we use are equivalent to those of [13] except they have operational semantics. Throughout this paper, we assume that a component consists of a set of objects and their relationships. The second is the action system[1] that was proposed as a method for specifying distributed systems. Even though the message passing style dominates in object oriented modeling, we prefer the action system style because it leads to a simple and clear view of behaviors as well as makes it easy to design the overall behavior among ....
....in which object orientation and the notion of action are integrated. In particular, Catalysis provides the informal but rigorous notion of modularity and refinement on them. However, specifications in Catalysis are not executable and lack the notion of concurrency. The theory of the action system[1] is originally based on the finite state model while we have established the new model of the action system on Petri nets. This change of the underlying model of the action system brings the capability for handling dynamic configuration among objects and their relationships to our specification ....
[Article contains additional citation context not shown here]
R. J. R. Back and R. Kurki-Suonio, "Distributed Cooperation with Action Systems," ACM ToPLAS, Vol. 10, No. 4, pp. 513-554, October 1988.
....T (S) be the transition system defining the operational semantics of an atomic statement S: hs; s 0 i 2 T (S) iff 8q [s 0 jj= q sjj= wp(S; q) 1) Then, the sequential combination S 1 ; S 2 corresponds to wp(S 1 ; wp(S 2 ; q) and so on. In most concurrent languages (e.g. Action Systems [6], Unity [13] the operational semantics is a (possibly infinite) set of computations. All the computations start from the same initial state s 0 . Hence, we can think of the set of computations as the set of branches of a tree T rooted in s 0 . Let s be a node of the tree, and s 1 ; s n ....
R.J.R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554, Oct. 1988.
.... Verification calculus is based on the following result: s 0 2 T (C) s) iff 8q [s 0 jj= q sjj= wp(C; q) 1) that relates the transition system of an atomic statement C to its axiomatic semantics, based on weakest preconditions [1] In most concurrent languages (e.g. Action Systems [2], Unity [4] the operational semantics is a (possibly infinite) set of computations. A transition from a state s is defined by one of the (deterministic) statements that can be executed in s. In other words, there is non determinism in statement selection, while after the commitment to a ....
R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554, 1988.
....: channels can be represented by special shared variables (see e.g. 27] The second new feature is shared transition : a transition shared by n processes models an action synchronously executed by these processes. This mechanism exists in several languages, including csp [18] and Action Systems [4]. The language fcs can also be viewed as an extension of the language unity introduced in [6] This approach is developed in [14] where the operational, relational and axiomatic semantics of fcs are formally introduced. Only the notions needed in the sequel will be illustrated here, by rewriting ....
R.J.R. Back and R. Kurki-Suonio, Distributed Cooperation with Action Systems, ACM Trans. Programming Languages Syst. 10 (1988) 513-554.
.... program design language In order to illustrate the application of CT to SA practice, we use a paral lel program design language, COMMUNITY, that we introduced in [8] This is a language for parallel program design in the style of IP (Interacting Processes) 10] UNITY [4] and Action Systems [3]. A complete account of the categorical formalisation of this language is given in [9] A COMMUNITY program P has the following structure: P #### S #### R ### V #### I ## [ gG g: B(g) aD(g) a: F(g,a) where . S represents the data types that the program uses; if we intend ....
R.Back and R.Kurki-Suonio, "Distributed Coopera tion with Action Systems", ACM TOPLAS 10(4), 1988, 513-554.
....this requirement corresponds to the conservativeness of the extension of the concrete data type specification. Another direction for future work is to assess the impact that these principles may have in approaches to parallel system design such as UNITY [Chandy and Misra 88] and Action Systems [Back and Kurki Suonio 88] which do not rely on an explicit control of the granularity of the actions involved. A more detailed comparison with other recent approaches, such as [Jones 92] which explore the use of object based techniques, should also allow us to assess the impact of the object oriented paradigm in ....
R.Back and R.Kurki-Suonio, "Distributed Cooperation with Action Systems", ACM TOPLAS 10, 1988, 513-554 SOMETIMES "TOMORROW" IS "SOMETIME" 19
.... how CT can be used for formalising programming languages and their structuring principles, we use a paral lel program design language, which we call COMMUNITY , and that is in the style of IP (Interacting Processes) Francez and Forman 90] UNITY [Chandy and Misra 88] and Action Systems [Back and Kurki Suonio 88] A complete account of the categorical formalisation of this language is given in [Fiadeiro and Maibaum 95] based on earlier work [Fiadeiro and Reichwein 92] In this setting, programs are built over signatures. Signatures are abstractions of the syntax of (application) programs. They are ....
R.Back and R.Kurki-Suonio, "Distributed Cooperation with Action Systems", ACM TOPLAS 10(4), 1988, 513-554.
....further showed how parallel program design in the language COMMUNITY (similar to UNITY (Chandy and Misra, 1988) and IP Interacting Processes (Francez and Forman, 1996) can be formalised using the same categorical techniques. The underlying computational model is also similar to Action Systems (Back ad Kurki Suonio, 1988), but we should point out that the Action Systems approach, at least in relation to transformational development, is oriented to decomposition of systems into components. As explained in the introduction, our focus is on composition, which may explain some differences wrt Action Systems. From a ....
Back, R. and Kurki-Suonio, R. (1988) Distributed Cooperation with Action Systems. ACM Transactions on Programming Languages and Systems 10(4), 513-554.
....emergence of properties and formalise compositionality in a categorical framework, we shall use a subset of the language COMMUNITY introduced in [Fiadeiro and Maibaum 95] for supporting parallel program design. This language is similar to UNITY [Chandy and Misra 88] 9 Action Systems [Back and Kurki Suonio 88] and IP [Francez and Forman 90] The simplification consists in working with Boolean attributes and omitting external attributes. On the other hand, fairness requirements have been added to the language. A COMMUNITY program P in this simplified version has the following structure: P ### V ....
R.Back and R.Kurki-Suonio, "Distributed Cooperation with Action Systems", ACM TOPLAS 10(4), 1988, 513-554.
.... (S) be the transition system defining the operational semantics of an atomic statement S: hs; s 0 i 2 T (S) iff 8q [s 0 jj= q sjj= wp(S; q) 1) Then, the sequential combination S 1 ; S 2 corresponds to wp(S 1 ; wp(S 2 ; q) and so on [8] In most concurrent languages (e.g. Action Systems [10], Unity [21] the operational semantics is a (possibly infinite) set of computations. All the computations start from the same initial state s 0 . Hence, we can think of the set of computations as the set of branches of a tree T rooted in s 0 . Let s be a node of the tree, and s 1 ; s n ....
R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554, 1988.
.... presented by Duke and Harrison [8] based on that of Sufrin and He [29] Smith s integration of Object Z and CSP [26] the multiparadigm approach of Zave and Jackson [35, 36] Weber s integration of Z and Statecharts [32] Evans s approach to specifying reactive systems in Z [11] Action Systems [1, 30] and the deprecated temporal logic capabilities of Object Z [10] We have derived testing information from the MATIS specification of Duke and Harrison. The contribution of Duke and Harrison s paper was a suggestion that human factors concerns can be incorporated into rigorous development by ....
R. J. R. Back and R. Kurki-Suonio. Distributed cooperation with Action Systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554, 1988.
....distributed computing on computational grids [5] The key to the acceptance and success of the IP model is e#cient implementation of its firstorder multiparty interaction. The zero order multiparty interactions have long been proposed by many researchers as in shared actions [6] joint actions [7], interactions in Raddle [8] and interaction types [9] The participants of a zero order interaction are fixed and known at compile time. A process can be ready to participate in several interactions expressed in guard selection or iteration commands, but is allowed to participate in only one of ....
R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513--544, 1988.
.... provided by most distributed systems, namely broadcast (as in most local area networks, which are ethernet based) and asynchronous point to point FIFO message passing (as in most wide area networks) First, we translate a synthesized program into a form which uses the multiparty interaction [Back and Kurki Suonio 1984; 1988; 1989; Charlesworth 1987; Forman 1987; Francez and Forman 1996; Francez et al. 1986; Ramesh and Mehndiratta 1987] as the sole interprocess communication and synchronization primitive. A multiparty interaction is an atomic synchronous event involving a fixed set of processes (the participants) ....
....same semantics, i.e. they generate isomorphic I structures. The K process mutual exclusion solution is a special case, which contains pair controllers for every pair P I i , P I j of processes. The second step of our implementation method uses one of the many distributed algorithms available [Back and Kurki Suonio 1988; Back et al. 1985; Bagrodia 1989; Chandy and Misra 1987; 1988] for implementing multiparty interactions in terms of asynchronous message passing or ethernet broadcast. This then gives us our final implementation in terms of widely available, low atomicity primitives. The number of ....
Back, R. J. R. and Kurki-Suonio, R. 1988. Distributed cooperation with action systems. ACM Trans. Program. Lang. Syst. 10, 4 (Oct.), 513--554.
.... In this article, we give a mapping from a speci cation language, DisCo (for Distributed Co operation) KuJ89,JKu91,J92] into the input for a process algebraic veri cation toolset, ARA [Va 93] DisCo is a speci cation method based on the joint action theory by Back and Kurki Suonio [BaKu88]. The main advantages of DisCo are simplicity of the communication paradigm, syntactic familiarity from the viewpoint of a software engineer, object oriented philosophy, design methodology based on stepwise re ment by superposition, and semi executability that makes possible the simulation and ....
....(Step 6) De nition 7. A guard is separable, if each atomic predicate (a subexpression not containing logical connectives) depends only on the state of one participant. A su cient condition for the existence of a separable form is that all the associated variables have nite value ranges [BaKu88]. Expressions like A:i = B:i (where A and B are participant objects and i is a variable of both of them) must be transformed into a form like A:i = 0 B:i = 0 A:i = 1 B:i = 1. It is assumed that i is an integer in the range 0: 1. More formally, each non separable predicate f(x 1 ; x 2 ; ....
Back, R.J.R., Kurki-Suonio, R.: Distributed cooperation with action systems. ACM Trans. Programming Languages and Systems 10, 1988, 513554.
....that are in continuous interaction with their environments. The method incorporates a specification language [6] a methodology for developing specifications using the language [17] and tool support for the methodology [20, 8] DisCo is based on the joint action theory by Back and Kurki Suonio [1, 2], which enables the specification of collective behaviors at a high level of abstraction in the beginning of the development. DisCo supports the refinement of the level of abstraction of interactions, whereas conventional methods restrain the designer to establish the interfaces between the ....
R. J. R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554, Oct. 1988.
....further showed how parallel program design in the language COMMUNITY (similar to UNITY (Chandy and Misra, 1988) and IP Interacting Processes (Francez and Forman, 1996) can be formalised using the same categorical techniques. The underlying computational model is also similar to Action Systems (Back ad Kurki Suonio, 1988), but we should point out that the Action Systems approach, at least in relation to transformational development, is oriented to decomposition of systems into components. As explained in the introduction, our focus is on composition, which may explain some differences wrt Action Systems. From a ....
Back, R. and Kurki-Suonio, R. (1988) Distributed Cooperation with Action Systems. ACM Transactions on Programming Languages and Systems 10(4), 513-554.
....the participating processes continue their local computation. Although a relatively new concept, the multiparty interaction has found its way into a number of distributed programming languages, e.g. CSPS [RD84] PPSAs [RM85] Raddle [For86] Script [FHT86] Compact [Cha87] Action Systems [BKS88] SR [AOC 88, CO89] IP [FF95, FF90] Multiparty A preliminary version of this paper appeared in the Proceedings of the Nineteenth Annual ACM Symposium on Principles of Programming Languages (January 1992) This research was supported in part by the National Science Foundation under Grants ....
....when the interaction is established, all three processes are synchronized, yielding the desired effect that the ith philosopher can eat only when it possesses its two neighboring forks. Many recently proposed languages for multiparty interaction use gate like constructs, e.g. Action Systems [BKS88] PPSAs [RM85] Raddle [For86] and IP [FF95, FF90] Of these languages, Action Systems and PPSAs require interactions (which are called actions in these languages) to be globally declared, much in the same way as illustrated above. In Raddle and IP, however, the body of an interaction is split ....
R.J.R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554, October 1988.
....may update a global variable or unify a logical variable. In this case the effect of the action is immediately present in an unbounded part of the system, even in those processes which do not take part in the action. Formal semantics and proof methods using this paradigm can be found in, e.g. [CM88, BKS88, MP91] and normally use a separate global state encompassing all processes. For a localist, on the other hand, an action may be to call a subroutine with actual parameters replacing formal parameters, or to send a message from one agent to another. The action is local to the interacting parties, and ....
R. J. R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513-- 554, Oct. 1988.
....Taipei, Taiwan, under Grants NSC 84 2213 E 002 005, NSC 85 2213 E 002 059, NSC 86 2213 E 002 053, and NSC 88 2213 E 002 009. 1 1 Introduction The concept of interactions has been widely used in distributed programming languages (e.g. CSP [Hoa78] Ada [U. S83] Script [FHT86] Action Systems [BKS88], IP [FF96] and DisCo [JKSSS90, JKS91] and algebraic models of concurrency (e.g. CCS [Mil89] SCCS [Mil83] LOTOS [BB87] calculus [MPW92] to model synchronization and nondeterminism among processes. An interaction is a set of actions (usually communications) to be executed jointly by a set ....
R. J. R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554, October 1988.
....may update a global variable or unify a logical variable. In this case the effect of the action is immediately present in an unbounded part of the system, even in those processes which do not take part in the action. Formal semantics and proof methods using this paradigm can be found in, e.g. [CM88, BKS88, MP91] and normally use a separate global state encompassing all processes. For a localist, on the other hand, an action may be to call a subroutine with actual parameters replacing formal parameters, or to send a message from one agent to another. The action is local to the interacting parties, and ....
R. J. R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513-- 554, Oct. 1988.
.... Wing [22] Different models for classes and objects have been proposed [1] We extend the model of classes as self referential structures with a delayed taking of the fixpoint of [27, 14] The action system model for parallel, distributed, and reactive systems was proposed by Back and Kurki Suonio [6, 7]. The same basic approach has later been used in other models for distributed computing, notably UNITY [12] and TLA [19] Back and Sere [8] have added procedures to action systems. They, as well as Sere and Wald en [26] and Bonsangue et al. [11] have also studied input output refinement of action ....
Ralph Back and Reino Kurki-Suonio. Distributed co-operation with action systems. ACM Transactions on Programming Languages and Systems 10:513--554, 1988.
....the contents of the database, they need to synchronize their interactions, e.g. several processes may not update the same database item at the same time. Multiway synchronization was introduced in Hoare s CSP [12] and has thereafter been used as a programming construct in several other languages [1, 7, 9, 14, 19]. The purpose of a multiway synchronization protocol is to implement multiway synchronizations in an environment providing only binary, asynchronous communication where messages arrive after a finite but unpredictable delay. This paper presents such a protocol, focusing on the high level design ....
....for multiway synchronization of processes. The algorithm is designed for large scale environments with many processes, where it is not suitable to implement process synchronization in a centralized manner. Many different algorithms have been proposed for implementing multiway synchronization [1, 2, 4, 6, 8, 13, 18]; the protocol presented here is an improved version, in terms of the number of messages needed to establish synchronization, of our previously published algorithm [16] We have outlined a way of demonstrating the correctness of the protocol, based on the csequivalence relation between transition ....
R. J. R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM 12 Transactions on Programming Languages and Systems, 10(4):513--554, 1988.
....languages. Here the control is serial, meaning that instructions are executed one after the other. Each instruction, however, operates on a collection of data elements in parallel (fig. 1 (b) This approach includes Flynn s SIMD model [15] data parallel programming [7, 22] and action systems [3]. The parallel instructions that are available depend on the model. Some might operate on each element in the collection independently, while others include some interaction, e.g. performing a permutation or calculating a parallel prefix. The chief virtue of this approach is that the control is ....
....different activities among the same set of processes, e.g. termination detection superimposed on a distributed computation. Back and Kurki Suonio take the concept of multiparty interactions to the extreme. In their action systems, the whole program is expressed in terms of possible interactions [3]. The model of execution is that interactions are performed continuously in sequence until none are enabled any more. This is implemented in the DisCo language [26] which also includes object oriented features. The data parallel vector model of Blelloch is similar, except for not using ....
R. J. R. Back and R. Kurki-Suonio, "Distributed cooperation with action systems". ACM Trans. Prog. Lang. & Syst. 10(4), pp. 513--554, Oct 1988.
....a simulation of a conveyor belt, there are many simultaneously moving parts involved in the model, and it is of great help to be able to implement these in a program as autonomously executing processes. To do this in Oberon, we have used the approach of writing parallel programs as action systems [3] and implement them using the ActionOberon system [1] Since this is the rst published version of the animation system, there are probably still bugs in the implementation. We are grateful for error reports, comments on the system and suggestions for further improvment. Please direct all ....
R. Back and R. Kurki-Suonio. Distributed co-operation with action systems. ACM Transactions on Programming Languages and Systems, 10:513554, October 1988.
....and since all participants must be ready in order to establish an interaction, mutual exclusion and synchronization of the problem requirements are guaranteed. Many distributed programming languages have already offered linguistic support for multiparty interaction (e.g. Action Systems [BKS88a] LOTOS [BB87] SR [AOC 88, CO89] DisCo [JKS91] and IP [FF95] See [JS96] for a taxonomy of these programming languages along with a comprehensive complexity analysis of the multiparty interaction scheduling problem (discussed below) Although multiparty interactions are executed ....
R.J.R. Back and R. Kurki-Suonio. Distributed cooperation with action systems. ACM TOPLAS, 10(4):513--554, October 1988.
....for carrying out proofs of invariant properties using the PVS theorem prover. The system provides mechanical translation of a DisCo specification to the PVS logic, and also automates some of the trivial parts of proofs. 1 Introduction The DisCo specification language [3] is based on joint actions [1] and Temporal Logic of Actions (TLA) 4] which give it a sound formal basis. It is thus possible to use formal reasoning to verify properties of specifications written in the language. In practise, however, verifying even a simple property for a moderately sized specification can take several ....
R. J. R. Back and R Kurki-Suonio. Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554, October 1988.
....real world concepts in terms of other concepts. 1. 3 DisCo project The motivation of DisCo project at Software Systems Laboratory, Tampere University of Technology is to describe and specify reactive and distributed systems in terms of the joint action approach developed by Back and Kurki Suonio [BaKu83, BaKu84, BaKu88a, BaKu88b]. The DisCo language [Jrv97] is an experimental object oriented specification language developed in this project. The name DisCo is an abbreviation of Distributed Coop eration. The main contributions of the language are support for incremental modification of specifications, a high level of ....
....points later in the work. 3.1 DisCo DisCo (Distributed Cooperation) is a formal action and object oriented specification lan guage [Jrv97] for distributed reactive systems developed in Tampere University of Technology. It is based on joint action theory developed by Back and Kurki Suonio [BaKu83, BaKu84, BaKu88a, BaKu88b]. The idea is to replace the conventional process oriented view of programming and reasoning with an action oriented view, where an action is an atomic change of system state, expressed as a set of assignments. The specification deals with closed systems and the language is thus capable to specify ....
Back, R.J.R., Kurki-Suonio, R., Distributed cooperation with action systems. ACM Trans. Programming Languages and Systems Vol. 10, No. 4 (Oct) 1988, pp.513-554.
.... Fork[i] Fork[i 1] Philosopher[i] hungry # (Fork[i 1] token # Fork[i 1] reserved) # Eat; Philosopher[i] hungry : false; if Fork[i] token then Fork[i] token, Fork[i 1] token : false, true; Fork[i] reserved : false; A proof for starvation freedom of this algorithm is presented in [BaKu88]. 1.3 Previous and related work Di#erent implementations of multi process handshaking have been proposed in [BaKu84b] BaHaKu85] BaKu88] Ekl] Bag87] and [Ram] The implementations in [Ekl] Bag87] and [Ram] all assume a fully connected point to point communication network, wheras ....
....then Fork[i] token, Fork[i 1] token : false, true; Fork[i] reserved : false; A proof for starvation freedom of this algorithm is presented in [BaKu88] 1. 3 Previous and related work Di#erent implementations of multi process handshaking have been proposed in [BaKu84b] BaHaKu85] [BaKu88], Ekl] Bag87] and [Ram] The implementations in [Ekl] Bag87] and [Ram] all assume a fully connected point to point communication network, wheras [BaKu84b] BaHaKu85] assume a broadcasting network. The problems involved in implementing this mechanism are similar to the problem of implementing ....
[Article contains additional citation context not shown here]
Back, R.J.R. and Kurki-Suonio, R., Distributed cooperation with action systems, ACM Trans. on Programming Languages and Systems, 10:4 (Oct. 1988), pp. 513--554.
....objects, concurrency, synchronization, type bound actions TUCS Research Group Programming Methodology Research Group 1 Introduction Action Oberon extends Oberon 2 [21] with actions for modeling parallel and distributed computations. The extension is based on the theory of action systems [5] and was proposed by Back and Sere [7] and implemented by Hedman [13] An action system is a parallel or distributed program where parallel activity is described in terms of guarded actions. Enabled actions are executed atomically in a nondeterministic order to model parallelism. Atomicity of ....
....and the Refinement Calculus. The translation from ActionOberon without type bound actions to action systems is given by Back and Sere [7] the translation from action systems to the Refinement Calculus and the mathematical treatment of action systems is due to Back, Kurki Suonio and von Wright [5, 3, 9, 8]. Figure 10 shows these three levels for a sample program. A plain 9 MODULE M init; init; do while G1G2 do ACTION A1 G1 S1 [G1] S1 u [G2] S2 WHEN G1; G2 S2 od BEGIN S1 od END A1; Sugared Refinement Calculus ACTION A2 WHEN G2; init; BEGIN S2 (X ffl ( G1] S1 u [G2] S2) X uskip) END ....
R. Back and R. Kurki-Suonio. Distributed co-operation with action systems. ACM Transactions on Programming Languages and Systems 10:513--554, 1988.
....on joint actions. This paper introduces the basic principles of the joint action approach, together with the main capabilities of DisCo for supporting modularity and the derivation of distributed programs. 1. Introduction to Specification and Design by Joint Actions The notion of joint actions [7] provides a novel approach to the specification and design of distributed systems. The key idea is that the traditional process oriented viewpoint is replaced by an action oriented one. Instead of describing the behavior of the individual processes the design focuses on the joint effects that the ....
....insight that is best provided by a human designer. Evidence from case studies [23] indicates a need for also non standard transformations with specialized correctness proofs. The notion of action systems was introduced in [3] The associated design and proof methods were investigated further in [4, 21, 7, 2]. Its use as a basis for a practical design method was proposed in [5] and realistic case studies for its evaluation have been reported in [23, 22] These reports also contain the first steps towards developing the ideas into a specification and design language. Another action oriented approach ....
[Article contains additional citation context not shown here]
R.J.R. Back and R. Kurki-Suonio, Distributed cooperation with action systems. ACM Trans. Programming Languages and Systems 10, 4 (Oct. 1988), 513-554.
No context found.
R. J. R. Back and R. Kurki-Suonio. Distributed co-operation with action systems. ACM Transactions on Programming Languages and Systems, 10:513{ 554, October 1988.
No context found.
R.J.R. BACK and R. KURKI-SUONIO, \Distributed Cooperation with Action Systems", ACM Toplas, 10, pp. 513-554, 1988
No context found.
R.Back and R.Kurki-Suonio, "Distributed Cooperation with Action Systems", ACM TOPLAS 10(4), 1988, 513-554.
No context found.
Back, R. J. R. and Kurki-Suonio, R. (1988a). Distributed cooperation with action systems. ACM Transactions on Programming Languages and Systems, 10(4):513--554.
No context found.
R.Back and R.Kurki-Suonio, "Distributed Cooperation with Action Systems", ACM TOPLAS 10(4), 1988, 513-554.
No context found.
Back 88 RJR Back, R Kurki-Suonio, Distributed co-operation with action systems, pages 513-554 in ACM Transactions on Programming Languages and Systems, volume 10, 1988.
First 50 documents Next 50
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC