| D. Berry, R. Milner, and D. Turner. A Semantics for ML Concurrency Primitives. In 19th Annual Symposium on Principles of Programming Languages, 1992. |
.... better capture the essence of unfolding and folding: unfolding corresponds to a transition being made in the right direction, folding corresponds to a transition being made Recently, for instance the attempts to integrate functional programming and concurrency (see e.g. LG88] Nie89] BMT92] have renewed the interest in operational semantics for functional languages. 178 in the wrong direction. By using a denotational approach, this cannot be expressed directly (cf. the claims p. 12 and p. 123) Not only total correctness, but also the existence of speedup bounds and the ....
Dave Berry, Robin Milner, and David N. Turner. A semantics for ML concurrency primitives. In ACM Symposium on Principles of Programming Languages, pages 119--129, 1992.
....a continuation passing style of programming together with channels passed as parameters to the behaviors. LCS managed to keep the original CCS com binator set and concept of port, and more closely integrates behaviors with other features of the language. CML [17] and the language described in [5] are based on different grounds than LCS; they provide a strictly functional interface for concurrency and communication. One of the difficulties with that approach is delaying communications while keeping an applicative order evaluation. In both these languages, communications are controlled by ....
D. Berry, R. Milner, D. N. Turner, "A semantics for ML concurrency primitives", ACM Symposium on Principles of Programming Languages, 1992.
....synchronization signals are all generally recorded in the labels on transitions. For detailed explanations of the conventional SOS framework, the reader is referred to [1, 8, 10, 21, 23 25, 28] The lack of modularity in conventional SOS may be observed in many papers in the literature (e.g. [2]) see also the discussion in Sect. 5. 2 Modular SOS Modular SOS (MSOS) 15, 14] is a particularly simple and uniform style of SOS. The essential idea is to use the labels on transitions to represent general information processing steps; the configurations merely keep track of the flow of ....
....Here, we describe the same language # cv using MSOS, thus illustrating the applicability of our framework. To facilitate comparison with Reppy s semantics, we adhere closely to his choice of notation (despite some mild idiosyncrasies) A previous version of this paper adopted the notation of [2], and described a slightly di#erent language. 4 We also follow him by using some of the abstract syntax trees as computed values, by employing syntactic substitution rather than explicit environments (although we also illustrate the use of environments, see Appendix B) and by ignoring the types ....
[Article contains additional citation context not shown here]
D. Berry, R. Milner, and D. N. Turner. A semantics for ML concurrency primitives. In Proc. 17th Annual ACM Symposium on Principles of Programming Languages, pages 119--129. ACM, 1992.
....simple sequential language. Section 4 considers processes and synchronous communication. Section 5 extends the action semantic description of the sequential language to deal with the chosen concurrency primitives. Both the sequential and the concurrent languages are similar to those presented in [BMT92]. In that work, various changes to the original description of the sequential language were needed to introduce the concurrent constructs and their operational semantics. This is not the case in our description using action semantics: when the first class synchronous operations are introduced, ....
....Notice that the rec construct is an expression, rather than a declaration. Also, the sort Identifier encompasses variables, constants, and constructors we do not rely on some preceding static analysis to distinguish the classes of the different occurrences of identifiers, in contrast to [BMT92] (and to [MTH90] where the dependency between static and dynamic semantics caused some problems) needs: Abstract Syntax, Semantic Entities. The action semantics of a programming language is given by means of semantic functions. These functions map abstract syntactic phrases of the language ....
[Article contains additional citation context not shown here]
Dave Berry, Robin Milner, and David N. Turner. A semantics for ML concurrency primitives. In Proc. 17th Annual ACM Symposium on Principles of Programming Languages, pages 119--129. ACM, 1992.
....in this study. First, although it is fairly straightforward to write down operational semantics rules for side effects, the essential problem is to develop a useful operational equivalence. Witness the great current interest in ML plus concurrency primitives: there are many operational semantics [2, 13] but few if any developed notions of operational equivalence. Holmstrom [13] pioneered a stratified approach to mixing applicative and imperative features in which a CCS style labelled transition system for the side effects was defined in terms of a big step natural semantics for the applicative ....
Dave Berry, Robin Milner, and David N. Turner. A semantics for ML concurrency primitives. In 19th POPL, pages 119--129, 1992.
.... Plain LAL has no explicit parallel composition operator for processes and is in this respect similar not only to out and eval operators of Linda, but also to the fork calculus of [Hav94] and to notions underlying the semantics of applicative languages with concurrency, such as Concurrent ML ([BMT92]) The pattern matching of Linda used to retrieve tuples is modelled by Plain LAL processes having names. A Plain LAL agent (or system) S; T ; 2 Agent is the parallel composition of a set of named processes, each of the form (ff; P ) where ff; fi; fl : 2 Name range over names and P; Q; ....
D. Berry, R. Milner, and D.N. Turner. A semantics for ml concurrency primitives. Conference Record of the 19th Annual ACM Symposium on Principles of Programming Languages, January 1992.
....for CCS [26] #.p p (17) 18) l (19) Also programming languages with constructs for concurrency, for instance Concurrent ML [41, 40] can be described using small step SOS. Unfortunately, the SOS description proposed for ML with concurrency primitives in [2] is not inductive in the syntax of the language, and the need to reformulate inference rules previously given for the purely functional part of the language is again a sign of the poor inherent modularity of the SOS framework. Also the more conventional SOS descriptions given in [12, 16] have ....
D. Berry, R. Milner, and D. N. Turner. A semantics for ML concurrency primitives. In Proc. 17th Annual ACM Symposium on Principles of Programming Languages, pages 119--129. ACM, 1992.
....may be required. This is in marked contrast to conventional SOS, where modularity tends to be quite poor: when extending a pure functional language with concurrency primitives and or references, for instance, the original specification of the transition rules has to be completely reformulated [4]. In denotational semantics, the problem of obtaining good modularity has received much attention, and has to a large extent been solved by introducing so called monad transformers. Modular SOS provides an analogous solution for operational semantics. The basic idea of Modular SOS is to ....
....Input, output, and synchronization signals are all generally recorded in the labels on transitions. Detailed explanations of the conventional SOS framework are available in the literature [2, 12, 13, 29 32, 35] The lack of modularity in conventional SOS is evident in many papers, for instance [4]. 3 Modular SOS Modular SOS (MSOS) is a particularly simple and uniform style of SOS. The essential idea is to use the labels on transitions to represent general information A more complicated definition is needed when negations of assertions of transitions are allowed in premises [9] 3 ....
[Article contains additional citation context not shown here]
D. Berry, R. Milner, and D. N. Turner. A semantics for ML concurrency primitives. In Proc. 17th Annual ACM Symposium on Principles of Programming Languages, pages 119--129. ACM, 1992.
....r L d (fn r x # e) r L d (v 1 op v 2 ) L d (v 1 ) # L d (v 2 ) Evaluation rules The evaluation rules are defined by using transitions between system states written as CI , P #CI # , P # . A system state is represented by a channel identifier set CI and a process pool P in the style of [6]. The channel identifier set contains the region annotated channel identifiers created so far in the computation and the process pool is a set of site names and expression pairs. A pair written as [s : e] indicates that expression e is to be executed at site s. We use the notation P [s : e] to ....
D. Berry, R. Milner, and D. N. Turner. A semantics for ML concurrency primitives. In Proceedings of ACM Conference on Principles of Programming Languages (POPL), pages 119--129. ACM Press, 1992.
....types while the types of functional values are inferred using a minor modification of the standard rule for functional abstractions. The remaining constructs are also handled using standard inference rules, Gunter, 1992) We now turn our attention to the operational semantics. In (Reppy, 1992; Berry et al. 1992) a reduction semantics is given to l cv and since CML cv is a subset of l cv , this induces a reduction semantics for CML cv ; this is discussed in full in Section 6. The judgements in 6 W. Ferreira, M. Hennessy and A. S. A. Jeffrey this reduction semantics are of the form: C t Gamma ....
.... Phi Phi a 0 Delta a v # Delta p v # Delta p 0 # Phi Phi Phi Phi a 0 Delta p v # When giving an operational semantics to a language with side effects there are two standard approaches to retaining the information necessary to interpret them. The first, used for example in (Berry et al. 1992; Reppy, 1992) is to define a notion of state or configuration; these contain the program being evaluated together with auxiliary state information, and the A Theory of Weak Bisimulation for Core CML 7 judgements of the operational semantics apply to these configurations. The second, more ....
[Article contains additional citation context not shown here]
Berry, D., Milner, R., & Turner, David N. (1992). A semantics for ML concurrency primitives. Proc.
....with bisimulation. Keywords: concurrency, higher order functions, bisimulation, local names 1 Introduction Reppy s [23] Concurrent ML is an extension of Standard ML [25] with concurrency primitives based on Milner s CCS [16] and p calculus [17, 18] Reppy [23] and Berry, Milner and Turner [2] provided CML with a reduction semantics, based on the SML language definition [25] This semantics allows proofs of many important properties such as subject reduction, but does not directly support a notion of program equivalence, which is important for rewrites such as compiler optimizations. ....
D. Berry, R. Milner, and D.N. Turner. A semantics for ML concurrency primitives. In Proc. POPL, 1992.
....consideration to synchronous communication in a simple client server style model. We believe that a mechanism of concurrency is mostly orthogonal to a mechanism of transparent communication, and that our method can be combined with an appropriate mechanism of concurrency control such as [Rep91, BMT92] to design a concurrent distributed programming language. For the second issue, although we claim that the operational semantics of the core language presented in this paper can be implemented in most distributed environments, an actual implementation requires careful considerations of recovery ....
D. Berry, R. Milner, and D. Turner. A semantics for ML concurrency primitives. In Proceedings of ACM Symposium on Principles of Programming Languages, pages 119{ 129, 1992.
....per se. We also found that operational bisimulations were not an effective tool for establishing expression equivalence, since it was difficult to find suitable bisimulations. This led us to develop the alternative methods presented in this paper. Recently there have been two efforts (Reppy, 1991; Berry et al. 1992) to combine the work on ML with the work on process algebras to obtain a concurrent version of ML. The underlying concurrency model here is the same at that of Facile. In CML (Reppy, 1991) the channel interference problem can be avoided with the use of ML data abstraction mechanisms. A structured ....
....semantics and type inference system for a small kernel language contained in CML is described in (Reppy, 1991) and a type safety theorem is proved. In addition an implementation of CML is described. Basic properties of the operational semantics of similar kernel language are presented in (Berry et al. 1992). At this point, litte has been done towards developing an equational theory concurrent extensions of ML. 2 Actor Language Constructs Our actor language is an extension of a simple functional language which provides primitives for coordinating components which carry out local computation. An ....
Berry, D., Milner, R., and Turner, D. (1992). A semantics for ML concurrency primitives.
....is then potentially greater than of detecting local channels. We then deliberately omit channels from our treatment and adopt references as our mutable objects of study. We give a small step operational semantics for the language in a style similar to the semantics of concurrent ML given in [2], 9] and [11] We use evaluation contexts in order to reduce the number of rules in the operational semantics [3] Evaluation contexts are terms with a hole in them, given by the grammar: E[ j E[ M j V E[ j (E[ M) j (V; E[ j if E[ then M else M 0 j let x = E[ in M ....
David Berry, Robin Milner, and David N.Turner. A semantics for ML concurrency primitives. In Conference Record of 19st ACM Symposium on Principles of Programming Languages, pages 84-97, January 1992.
....two or more committees might share a professor. When that professor becomes available, she can only choose one of the meetings, while the others continue to wait. Coordinating this is non trivial, and various solutions have appeared [9, 17, 22, 23] Several proposals for concurrency primitives [5, 11, 19, 20, 24] further extend the CSP model in a direction briefly mentioned in Hoare s original paper. These introduce communication entities known as channels. A process no longer explicitly names other processes in its send and receive operations but instead names a channel. Synchronous transfer of data from ....
D. Berry, R. Milner, and D. N. Turner. A semantics for ML concurrency primitives. In ACM Symposium on Principles of Programming Languages, 1992.
....environment as a process. Most tools for CCS are for reasoning about processes, not for simulation. There will presumably be more interest in programming in CCS with the emergence of several combinations of CCS style concurrency with ML, including PFL [Hol83] Facile [GMP89] LCS [BS94] and CML [Rep91, BMT92]. Late and early semantics. Readers familiar with the late semantics convenient for value passing languages (see for example [HL95] should note that as a consequence of input determinism, late and early bisimulations coincide in CBS. 11.3 Design decisions Negative premises. In CBS losses ....
Dave Berry, Robin Milner, and David Turner. A semantics for ML concurrency primitives. In Symposium on Principles of Programming Languages. ACM, 1992.
....basic communication mechanism, the encoding of high level features is strongly reminiscent of Pict. Our choice of high level language features leads to a programming style similar to that found in functional languages with channel based concurrency such as PFL [Hol83] Amber [Car86] CML [Rep91, BMT92] Facile [GMP89] Poly ML [Mat91] and Concurrent Haskell [JGF96] The most significant difference lies in the type system: the impredicative polymorphism of Pict permits the encoding of polymorphic functions using polymorphic communication. This pun is not possible in languages whose type ....
Dave Berry, Robin Milner, and David N. Turner. A semantics for ML concurrency primitives. In ACM Principles of Programming Languages, January 1992.
No context found.
D. Berry, R. Milner, and D. Turner. A Semantics for ML Concurrency Primitives. In 19th Annual Symposium on Principles of Programming Languages, 1992.
No context found.
Berry, D., R. Milner, and D. N. Turner (1992). A semantics for ML concurrency primitives. In Proceedings POPL'92, pp. 119-129.
No context found.
D. Berry, R. Milner, and D. N. Turner. A semantics for ML concurrency primitives. In The 19th Symposium on Principles of Programming Languages (POPL'92), pages 119-129, 1992.
No context found.
D. Berry, R. Milner, and D. N. Turner. A semantics for ML concurrency primitives. In Proc. 17th Annual ACM Symposium on Principles of Programming Languages, pages 119--129. ACM, 1992.
No context found.
D. Berry, R. Milner, and D. N. Turner. A semantics for ML concurrency primitives. In Conference Record of POPL '92. ACM Press, 1992.
No context found.
R. Milner D. Berry and D. Turner. A Semantics for ML Concurrency Primitives. In Proceedings of the 19th ACM Symposium on Principles of Programmings Languages, 1992.
No context found.
Dave Berry, Robin Milner, and David N. Turner. A semantics for ML concurrency primitives. In ACM Principles of Programming Languages, January 1992.
No context found.
Dave Berry, Robin Milner, and David N. Turner. A semantics for ML concurrency primitives. In Proceedings of the ACM-SIGPLAN Symposium on Principles of Programming Languages POPL'92.ACM, 1992.
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