Academia.edu no longer supports Internet Explorer.
To browse Academia.edu and the wider internet faster and more securely, please take a few seconds to upgrade your browser.
2004
…
20 pages
1 file
In this work we describe a simple calculus (called interaction calculus or Calculus) for the representation of concurrent systems. In this a system is collection of expressions (processes) that share a working space; their computational behaviour is determined by the interaction of processes. The calculus is an attempt to describe concurrent systems by means of a “non functional” calculus which is, in some sense, strictly related with the lambdacalculus: computations are carried out by substitutions, but in our calculus they are originated by a symmetric interaction between two expressions, instead of the functional application of an operator to its operand. In this way we lose some good features of lambda calculus (the confluence property for instance), but we gain the capability of representing concurrency and mobility; all the same, we will discover that functions can be nicely encoded in the calculus.
SOFSEM'96: Theory and Practice of Informatics, 1996
1995
We explore the (dynamic) semantics of a simply typedcalculus enriched with parallel composition, dynamic channel generation, and input-output communication primitives. The calculus, called the kcalculus, can be regarded as the kernel of concurrent-functional languages such as LCS, CML and Facile, and it can be taken as a basis for the definition of abstract machines, the transformation of programs, and the development of modal speci cation languages. The main technical contribution of this paper is the proof of adequacy of a compact translation of the k -calculus into the -calculus.
1998
The-calculus is a formal model of concurrent computation based on the notion of naming. It has an important role to play in the search for more abstract theories of concurrent and communicating systems. In this paper we augment the-calculus with a constraint store and add the notion of constraint agent to the standard-calculus concept of agent. We call this extension the +-calculus. We also extend the notion of barbed bisimulation to de ne behavioral equivalence for the +-calculus and use it to characterize some equivalent behaviors derived from constraint agents. The paper discusses examples of the extended calculus showing the transparent i n teraction of constraints and communicating processes.
We explore the (dynamic) semantics of a simply typed λ-calculus enriched with parallel composition, dynamic channel generation, and input-output communication primitives. The calculus, called the λ∥-calculus, can be regarded as the kernel of concurrent-functional languages such as LCS, CML and Facile, and it can be taken as a basis for the definition of abstract machines, the transformation of programs, and the development of modal specification languages. The main technical contribution of this paper is the proof of adequacy of a compact translation of the λ ∥-calculus into the π-calculus.
1996
This paper presents an imperative and concurrent extension of the functional object-oriented calculus described in . 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 soundness theorems.
Lecture Notes in Computer Science, 1997
We present a new type system for TyCO, a name-passing calculus of concurrent objects. The system captures dynamic aspects of the behaviour of objects, namely non-uniform service availability. The notion of processes without errors is loosened, demanding only weak fairness in the treatment of messages.
1996
Abstract. We propose Interaction Categories as a new paradigm for tinsemantics of functional and concurrent computation. Interaction categories have specifications as objects, processes as morphisms, and interaction as composition. We introduce two key examples of interaction categories for concurrent computation and indicate how a general axiomatisation can be developed.
Lecture Notes in Computer Science, 1989
FACILE is a language which symmetrically integrates concurrent and functional programming. It is a typed and statically scoped language. The language supports both function and process abstractions.
In this paper we present an operational semantics for concurrent interactive process es in the purely functional programming language Clean. An interactive process is in essence a state transition system which apart from its logical state can also access the state of the file system, do highlevel Graphical User I/O, and do inter-process communication via synchronous and asynchronous message passing and data sharing. Inter-process communication is type-safe and polymorphic. The semantics of the system is based on earlier work on the Interleaved Event I/O system. In this paper we identify limitations of the interleaved model in the context of concurrent processes and propose a new process semantics that does allow a concurrent implementation. The method basically intro duces a Remote Procedure Call communication scheme and demonstrates how to apply this scheme to obtain a concurrent process semantics. The resulting system is the Concur rent Event I/O system . The operational semantics is given in Clean itself. As a result the concurrency system is completely func tional because the construction is done within the pure functional framework.
Algebraic Foundations of Systems Specification, 1999
This article presents an extension of the formalism of algebraic specifications to the specification of concurrent systems. The key concept is that of process specifications, which have two hierarchical layers: processes and data. Processes apply to data via an application operator, eventually yielding a set of data as a result. Syntax and semantics of process specifications are presented, with emphasis on methodological issues (how to write hierarchically consistent and complete specifications). A suitable notion of observational congruence is introduced and characterized. A notion of implementation is denned, and a general method for proving correction is considered, based on the notion of serializability proof. A primitive for putting specifications together, in parellel, is analyzed. Finally, richer primitives for building basic specifications are discussed. Our proposal is illustrated via several examples inciuding the one of the systematic, stepwise development of a complex specification. * Partially supported by the Esprit 432 METEOR project.
Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
Electronic Notes in Theoretical Computer Science
Information and Control
Computer Networks and ISDN Systems, 1993
FME'94: Industrial Benefit of Formal Methods, 1994
Theoretical Computer Science, 2010
ACM Transactions on Programming Languages and Systems, 1998
Oject Orientation with Parallelism and Persistence
Theoretical Computer Science, 1998
Lecture Notes in Computer Science, 2017
Software: Practice and Experience, 1992
20th Annual IEEE Symposium on Logic in Computer Science (LICS' 05), 2005
Theoretical Computer Science, 1985
Theoretical Aspects of …, 2005
International Journal of Computer Applications, 2013