• Documents
  • Authors
  • Tables
  • Log in
  • Sign up
  • MetaCart
  • DMCA
  • Donate

CiteSeerX logo

Advanced Search Include Citations
Advanced Search Include Citations | Disambiguate

A calculus of mobile processes, I (1992)

by Robin Milner, et al.
Add To MetaCart

Tools

Sorted by:
Results 1 - 10 of 1,185
Next 10 →

A formal basis for architectural connection

by Robert Allen, David Garlan - ACM TRANSACTIONS ON SOJIWARE ENGINEERING AND METHODOLOGY , 1997
"... ..."
Abstract - Cited by 804 (33 self) - Add to MetaCart
Abstract not found
(Show Context)

Citation Context

...been made by others. Rapide allows the dynamic creation of components, much as traditional object-oriented system can dynamically create new instances of objects. Darwin [MDEK95] uses the Pi Calculus =-=[MPW92]-=- as its basis, a formalism specifically designed to handle mobile processes. Architectural dynamism has also been modelled using the Chemical Abstract Machine as the underlying formalism [IW95]. Style...

The Chemical Abstract Machine

by Gérard Berry, Gérard Boudol , 1998
"... ..."
Abstract - Cited by 543 (5 self) - Add to MetaCart
Abstract not found

Specifying Distributed Software Architectures

by Jeff Magee, Naranker Dulay, Susan Eisenbach, Jeff Kramer , 1995
"... There is a real need for clear and sound design specifications of distributed systems at the architectural level. This is the level of the design which deals with the high-level organisation of computational elements and the interactions between those elements. The paper presents the Darwin notation ..."
Abstract - Cited by 426 (24 self) - Add to MetaCart
There is a real need for clear and sound design specifications of distributed systems at the architectural level. This is the level of the design which deals with the high-level organisation of computational elements and the interactions between those elements. The paper presents the Darwin notation for specifying this high-level organisation. Darwin is in essence a declarative binding language which can be used to define hierarchic compositions of interconnected components. Distribution is dealt with orthogonally to system structuring. The language supports the specification of both static structures and dynamic structures which may evolve during execution. The central abstractions managed by Darwin are components and services. Services are the means by which components interact. In addition to its use in specifying the architecture of a distributed system, Darwin has an operational semantics for the elaboration of specifications such that they may be used at runtime to di...
(Show Context)

Citation Context

...clear and unambiguous model of Darwin's operational behaviour against which implementations can be validated. We have attempted to satisfy both these requirements by modelling Darwin in the -calculus =-=[13]-=-, Robin Milner's calculus of mobile processes. The reasons for choosing this formalism are discussed in the concluding sections of the paper. The paper initially describes the basic features of Darwin...

An Object Calculus for Asynchronous Communication

by Kohei Honda, Mario Tokoro - Proceedings of the European Conference on Object-Oriented Programming (ECOOP , 1991
"... This paper presents a formal system based on the notion of objects and asynchronous communication. Built on Milner's work on ß-calculus, the communication primitive of the formal system is purely asynchronous, which makes it unique among various concurrency formalisms. Computationally this resu ..."
Abstract - Cited by 392 (35 self) - Add to MetaCart
This paper presents a formal system based on the notion of objects and asynchronous communication. Built on Milner's work on ß-calculus, the communication primitive of the formal system is purely asynchronous, which makes it unique among various concurrency formalisms. Computationally this results in a consistent reduction of Milner's calculus, while retaining the same expressive power. Seen semantically asynchronous communication induces a surprisingly different framework where bisimulation is strictly more general than its synchronous counterpart. This paper shows basic construction of the formal system along with several illustrative examples. 1 Introduction The formal system introduced in this paper is intended to accomplish two purposes. First, it provides a simple and rigorous formalism which encapsulates essential features of concurrent object-orientation [26, 25]. Being successful as a programming methodology for dynamic concurrent computing, its theoretical contents are far f...
(Show Context)

Citation Context

... [6, 12, 17]. The formalism is based on a series of studies on a port passing process calculus now called ��-calculus, initiated by Nielsen and Engberg [18], reformulated by Milner and his colleag=-=ues [15]-=-, and developed in a crucial way by Milner [17]. Especially [17] has been essential in our construction due to its separation of structural rules from transition rules, and in its distinction between ...

A Formal Approach to Software Architecture

by Robert J. Allen , 1997
"... As software systems become more complex, the overall system structure---or software architecture---becomes a central design problem. A system's architecture provides a model of the system that suppresses implementation detail, allowing the architect to concentrate on the analyses and decisions ..."
Abstract - Cited by 367 (19 self) - Add to MetaCart
As software systems become more complex, the overall system structure---or software architecture---becomes a central design problem. A system's architecture provides a model of the system that suppresses implementation detail, allowing the architect to concentrate on the analyses and decisions that are most crucial to structuring the system to satisfy its requirements. Unfortunately, current representations of software architecture are informal and ad hoc. While architectural concepts are often embodied in infrastructure to support specific architectural styles and in the initial conceptualization of a system configuration, the lack of an explicit, independently-characterized architecture or architectural style significantly limits the benefits of software architectural design in current practice. In this dissertation, I show that an Architecture Description Language based on a formal, abstract model of system behavior can provide a practical means of describing and analyzing softwar...

Ownership Types for Flexible Alias Protection

by David G. Clarke, John M. Potter, James Noble - In Object-Oriented Programming, Systems, Languages, and Applications (OOPSLA , 1998
"... Object-oriented programming languages allow inter-object aliasing. Although necessary to construct linked data structures and networks of interacting objects, aliasing is problematic in that an aggregate object's state can change via an alias to one of its components, without the aggregate bein ..."
Abstract - Cited by 365 (41 self) - Add to MetaCart
Object-oriented programming languages allow inter-object aliasing. Although necessary to construct linked data structures and networks of interacting objects, aliasing is problematic in that an aggregate object's state can change via an alias to one of its components, without the aggregate being aware of any aliasing. Ownership types form a static type system that indicates object ownership. This provides a flexible mechanism to limit the visibility of object references and restrict access paths to objects, thus controlling a system's dynamic topology. The type system is shown to be sound, and the specific aliasing properties that a system's object graph satisfies are formulated and proven invariant for well-typed programs. Keywords Alias protection, sharing, containment, ownership, representation exposure, programming language design 1
(Show Context)

Citation Context

...s. Our type system can prevent such external references, thus providing a stronger form of protection than name protection. In the -calculus resources are protected by restricting the scope of a name =-=[33]-=-. Other process calculi model capabilitiess[10], which control access to resources. Such notions seem applicable to alias protection. But these calculi are operational models which do not provide stat...

Language primitives and type discipline for structured communication-based programming

by Nobuko Yoshida, Vasco T. Vasconcelos - In ESOP’98, volume 1381 of LNCS , 1998
"... Session primitives and types provide a flexible programming style for structured interaction, and are used to statically check the safe and consistent composition of protocols in communication-centric distributed software. Unfortunately authors working on session types have recently realised that so ..."
Abstract - Cited by 309 (64 self) - Add to MetaCart
Session primitives and types provide a flexible programming style for structured interaction, and are used to statically check the safe and consistent composition of protocols in communication-centric distributed software. Unfortunately authors working on session types have recently realised that some of the previously published systems fail to satisfy the basic theorems of Subject Reduction and Type Safety. This report discusses the issues involved in higher-order session communication, presents a formulation of the recursive types as well as proofs of the Subject Reduction and Type Safety Theorems of the original session typing system by Honda-Vasconcelos-Kubo in ESOP’98. It also proposes a variant which allows a more liberal higher-order session communication, based on an idea of Gay and Hole.

Pict: A programming language based on the pi-calculus

by Benjamin C. Pierce, David N. Turner - PROOF, LANGUAGE AND INTERACTION: ESSAYS IN HONOUR OF ROBIN MILNER , 1997
"... The π-calculus offers an attractive basis for concurrent programming. It is small, elegant, and well studied, and supports (via simple encodings) a wide range of high-level constructs including data structures, higher-order functional programming, concurrent control structures, and objects. Moreover ..."
Abstract - Cited by 279 (9 self) - Add to MetaCart
The π-calculus offers an attractive basis for concurrent programming. It is small, elegant, and well studied, and supports (via simple encodings) a wide range of high-level constructs including data structures, higher-order functional programming, concurrent control structures, and objects. Moreover, familiar type systems for the -calculus have direct counterparts in the π-calculus, yielding strong, static typing for a high-level language using the π-calculus as its core. This paper describes Pict, a strongly-typed concurrent programming language constructed in terms of an explicitly-typed-calculus core language.
(Show Context)

Citation Context

...d pattern matching. 2.1 The Pi-Calculus To aid comparison, we begin with a brief review of the pure -calculus of Milner, Parrow, and Walker. More details can be found in the original -calculus papers =-=[MPW92]-=- and in Milner's tutorial [Mil91]. The computational world modeled by the -calculus contains just two kinds of entities: processes and channels. Processes, sometimes called agents, are the active comp...

Semantic foundations of concurrent constraint programming

by Vijay A. Saraswat, et al. , 1990
"... Concurrent constraint programming [Sar89,SR90] is a sim-ple and powerful model of concurrent computation based on the notions of store-as-constraint and process as information transducer. The store-as-valuation conception of von Neu-mann computing is replaced by the notion that the store is a constr ..."
Abstract - Cited by 276 (27 self) - Add to MetaCart
Concurrent constraint programming [Sar89,SR90] is a sim-ple and powerful model of concurrent computation based on the notions of store-as-constraint and process as information transducer. The store-as-valuation conception of von Neu-mann computing is replaced by the notion that the store is a constraint (a finite representation of a possibly infinite set of valuations) which provides partial information about the possible values that variables can take. Instead of “reading” and “writing ” the values of variables, processes may now ask (check if a constraint is entailed by the store) and tell (augment the store with a new constraint). This is a very general paradigm which subsumes (among others) nonde-terminate data-flow and the (concurrent) (constraint) logic programming languages. This paper develops the basic ideas involved in giving a coherent semantic account of these languages. Our first con-tribution is to give a simple and general formulation of the notion that a constraint system is a system of partial infor-mation (a la the information systems of Scott). Parameter passing and hiding is handled by borrowing ideas from the cylindric algebras of Henkin, Monk and Tarski to introduce diagonal elements and “cylindrification ” operations (which mimic the projection of information induced by existential quantifiers). The se;ond contribution is to introduce the notion of determinate concurrent constraint programming languages. The combinators treated are ask, tell, parallel composition, hiding and recursion. We present a simple model for this language based on the specification-oriented methodology of [OH86]. The crucial insight is to focus on observing the resting points of a process—those stores in which the pro-cess quiesces without producing more information. It turns out that for the determinate language, the set of resting points of a process completely characterizes its behavior on all inputs, since each process can be identified with a closure operator over the underlying constraint system. Very nat-ural definitions of parallel composition, communication and hiding are given. For example, the parallel composition of two agents can be characterized by just the intersection of the sets of constraints associated with them. We also give a complete axiomatization of equality in this model, present
(Show Context)

Citation Context

...ve been radical new ideas about concurrency. Two of particular note are the so called Chemical Abstract Machine [BB90], due to Boudol and Berry, and mobile processes, due to Milner and his co-workers =-=[MPW89]-=-. In both of these approaches the key new ingredient is that processes can alter their interactions and are, in efffect, mobile. In our approach the interactions between processes is dynamic too in th...

Typing and Subtyping for Mobile Processes

by Benjamin Pierce , Davide Sangiorgi - MATHEMATICAL STRUCTURES IN COMPUTER SCIENCE , 1996
"... The pi-calculus is a process algebra that supports process mobility by focusing on the communication of channels. Milner's ..."
Abstract - Cited by 276 (18 self) - Add to MetaCart
The pi-calculus is a process algebra that supports process mobility by focusing on the communication of channels. Milner's
Powered by: Apache Solr
  • About CiteSeerX
  • Submit and Index Documents
  • Privacy Policy
  • Help
  • Data
  • Source
  • Contact Us

Developed at and hosted by The College of Information Sciences and Technology

© 2007-2019 The Pennsylvania State University