Results 1 - 10
of
25
Higher-Order Concurrent Programs with Finite Communication Topology (Extended Abstract)
, 1994
"... Concurrent ML (CML) is an extension of the functional language Standard ML (SML) with primitives for the dynamic creation of processes and channels and for the communication of values over channels. Because of the powerful abstraction mechanisms the communication topology of a given program may be v ..."
Abstract
-
Cited by 58 (11 self)
- Add to MetaCart
Concurrent ML (CML) is an extension of the functional language Standard ML (SML) with primitives for the dynamic creation of processes and channels and for the communication of values over channels. Because of the powerful abstraction mechanisms the communication topology of a given program may be very complex and therefore an efficient implementation may be facilitated by knowledge of the topology. This paper presents an analysis for determining when a bounded number of processes and channels will be generated. The analysis proceeds in two stages. First we extend a polymorphic type system for SML to deduce not only the type of CML programs but also their communication behaviour expressed as terms in a new process algebra. Next we develop an analysis that given the communication behaviour predicts the number of processes and channels required...
Typing correspondence assertions for communication protocols
- Theoretical Computer Science
, 2001
"... Abstract Woo and Lam propose correspondence assertions for specifying authenticity properties of security protocols. The only prior work on checking correspondence assertions depends on model-checking and is limited to finite-state systems. We propose a dependent type and effect system for checking ..."
Abstract
-
Cited by 51 (9 self)
- Add to MetaCart
Abstract Woo and Lam propose correspondence assertions for specifying authenticity properties of security protocols. The only prior work on checking correspondence assertions depends on model-checking and is limited to finite-state systems. We propose a dependent type and effect system for checking correspondence assertions. Since it is based on type-checking, our method is not limited to finite-state systems. This paper presents our system in the simple and general setting of the ss-calculus. We show how to type-check correctness properties of example communication protocols based on secure channels. In a related paper, we extend our system to the more complex and specific setting of checking cryptographic protocols based on encrypted messages sent over insecure channels. 1 Introduction Correspondence Assertions To a first approximation, a correspondence assertion about a communication protocol is an intention that follows the pattern: If one principal ever reaches a certain point in a protocol, then some other principal has previously reached some other matching point in the protocol.
A Calculus for Concurrent Objects
- Proceedings of the 7th International Conference on Concurrency Theory (CONCUR '96), LNCS 1119
, 1996
"... . This paper presents an imperative and concurrent extension of the functional object-oriented calculus described in [FHM94]. It belongs to the family of so-called prototype-based object-oriented languages, in which objects are created from existing ones via the inheritance primitives of object exte ..."
Abstract
-
Cited by 40 (2 self)
- Add to MetaCart
. This paper presents an imperative and concurrent extension of the functional object-oriented calculus described in [FHM94]. It belongs to the family of so-called prototype-based object-oriented languages, in which objects are created from existing ones via the inheritance primitives of object extension and method override. Concurrency is introduced through the identification of objects and processes. To our knowledge, the resulting calculus is the first concurrent object calculus to be studied. We define an operational semantics for the calculus via a transition relation between configurations, which represent snapshots of the run-time system. Our static analysis includes a type inference system, which statically detects message-not-understood errors, and an effect system, which guarantees that synchronization code, specified via guards, is side-effect free. We present a subject reduction theorem, modified to account for imperative and concurrent features, and type and effect soundne...
Types for Active Objects Based on Trace Semantics
- Proceedings FMOODS '96
, 1996
"... Static typing and subtyping are useful for the support of incremental refinement and reuse in object-oriented languages. Although demanded, there is currently no appropriate type model for concurrent object-oriented languages that supports dynamic behavior modifications. We propose a type model base ..."
Abstract
-
Cited by 26 (7 self)
- Add to MetaCart
Static typing and subtyping are useful for the support of incremental refinement and reuse in object-oriented languages. Although demanded, there is currently no appropriate type model for concurrent object-oriented languages that supports dynamic behavior modifications. We propose a type model based on a process calculus with trace semantics and demonstrate its use in a simple language. This model is an extension of conventional models for types and subtyping and ensures that all messages are processed even if object behavior is modified dynamically. Keywords type model, subtyping, concurrency, process algebra 1 INTRODUCTION The object-oriented paradigm is now probably the most important paradigm for the development of software. Object-oriented programming languages are based on objects communicating with other objects by exchanging messages (Wegner, 1990). An object is a self-contained entity characterized by its identity, state and behavior. The objects are classified according to...
Testing-Based Abstractions for Value-Passing Systems
- In CONCUR'94, number 836 in Lecture Notes in Computer Science
, 1994
"... ions for Value-Passing Systems ? Rance Cleaveland ?? and James Riely ??? 1 Dept. of Computer Science, N.C. State University, Raleigh, NC 27695-8206, USA 2 Dept. of Computer Science, University of N.C., Chapel Hill, NC 27599-3175, USA email: rance@csc.ncsu.edu, riely@cs.unc.edu Abstract. ..."
Abstract
-
Cited by 24 (2 self)
- Add to MetaCart
ions for Value-Passing Systems ? Rance Cleaveland ?? and James Riely ??? 1 Dept. of Computer Science, N.C. State University, Raleigh, NC 27695-8206, USA 2 Dept. of Computer Science, University of N.C., Chapel Hill, NC 27599-3175, USA email: rance@csc.ncsu.edu, riely@cs.unc.edu Abstract. This paper presents a framework for the abstract interpretation of processes that pass values. We define a process description language that is parameterized with respect to the set of values that processes may exchange and show that an abstraction over values induces an abstract semantics for processes. Our main results state that if the abstract value interpretation safely/optimally approximates the ground interpretation, then the resulting abstracted processes safely/optimally approximate those derived from the ground semantics (in a precisely defined sense). As the processes derived from an abstract semantics in general have far fewer states than those derived from a concrete sem...
Reasoning about Higher-Order Processes
, 1994
"... We address the specification and verification problem for process calculi such as Chocs, CML and Facile where processes or functions are transmissible values. Our work takes place in the context of a static treatment of restriction and of a bisimulation-based semantics. As a paradigmatic and simple ..."
Abstract
-
Cited by 17 (8 self)
- Add to MetaCart
We address the specification and verification problem for process calculi such as Chocs, CML and Facile where processes or functions are transmissible values. Our work takes place in the context of a static treatment of restriction and of a bisimulation-based semantics. As a paradigmatic and simple case we concentrate on (Plain) Chocs. We show that Chocs bisimulation can be characterized by an extension of Hennessy-Milner logic including a constructive implication, or function space constructor. This result is a non-trivial extension of the classical characterization result for labelled transition systems. In the second part of the paper we address the problem of developing a proof system for the verification of process specifications. Building on previous work for CCS we present an infinitary sound and complete proof system for the fragment of the calculus not handling restriction. Keywords: Higher-order process calculi; Bisimulation; Modal logics; Program specification; Program verif...
Strategic Directions in Concurrency Research
- ACM COMPUTING SURVEYS
, 1996
"... Concurrency is concerned with the fundamental aspects of systems of multiple, simultaneously active computing agents that interact with one another. This notion is ..."
Abstract
-
Cited by 14 (0 self)
- Add to MetaCart
Concurrency is concerned with the fundamental aspects of systems of multiple, simultaneously active computing agents that interact with one another. This notion is
Abstract Interpretation of Small-Step Semantics
- Proceedings of the 5th LOMAPS Workshop on Analysis and Verification of Multiple-Agent Languages. LNCS 1192
, 1996
"... ..."
Authentication via Localized Names
- IN PROCEEDINGS OF CSFW'99
, 1999
"... We address the problem of message authentication using the pi-calculus, which has been given an operational semantics in [2] that provides each sequential process of a system with its own local space of names. We exploit here that semantics and its localized names to guarantee by construction that a ..."
Abstract
-
Cited by 11 (9 self)
- Add to MetaCart
We address the problem of message authentication using the pi-calculus, which has been given an operational semantics in [2] that provides each sequential process of a system with its own local space of names. We exploit here that semantics and its localized names to guarantee by construction that a message has been generated by a given entity. Therefore, our proposal can be seen as a reference for the analysis of "real" protocols. As an example, we study the way authentication is ensured by encrypting messages in the spi-calculus [1].
Static and Dynamic Processor Allocation for Higher-Order Concurrent Languages
- In Proceedings of TAPSOFT 95 (FASE). LNCS 915
, 1995
"... Starting from the process algebra for Concurrent ML we develop two program analyses that facilitate the intelligent placement of processes on processors. Both analyses are obtained by augmenting an inference system for counting the number of channels created, the number of input and output operation ..."
Abstract
-
Cited by 9 (1 self)
- Add to MetaCart
Starting from the process algebra for Concurrent ML we develop two program analyses that facilitate the intelligent placement of processes on processors. Both analyses are obtained by augmenting an inference system for counting the number of channels created, the number of input and output operations performed, and the number of processes spawned by the execution of a Concurrent ML program. One analysis provides information useful for making a static decision about processor allocation; to this end it accumulates the communication cost for all processes with the same label. The other analysis provides information useful for making a dynamic decision about processor allocation; to this end it determines the maximum communication cost among processes with the same label. We prove the soundness of the inference system and the two analyses and demonstrate how to implement them; the latter amounts to transforming the syntax-directed inference problems to instances of syntax-free equation ...

