Results 11 -
15 of
15
Towards a Definition of Eiffel Using Centaur
"... This paper formally defines part of the dynamic semantics of the Eiffel language in an operational style using Natural Semantics. We present a technique to describe object-oriented features such as message passing, multiple inheritance, polymorphism, redefinition and dynamic binding. 1 Introduction ..."
Abstract
- Add to MetaCart
This paper formally defines part of the dynamic semantics of the Eiffel language in an operational style using Natural Semantics. We present a technique to describe object-oriented features such as message passing, multiple inheritance, polymorphism, redefinition and dynamic binding. 1 Introduction This paper formally defines some of the dynamic semantics of the Eiffel [8, 9] language. The semantic specifications are in an operational, or axiomatic style, using the Natural Semantics approach [7] as implemented by the Centaur system [1]. Besides the interest in a formal definition for Eiffel, this is the opportunity to define methods to axiomatically specify constructs which are found in object-oriented languages: feature calls (message passing), multiple inheritance, polymorphism, redefinition and dynamic binding. Using the Centaur system, we have produced a partial definition of the dynamic semantic aspects of Eiffel which provides us with an interpreter for Eiffel programs and permi...
Amadeus Project - Synchronisation Variables
"... It is commonly believed that access to the instance variables of an object by its synchronisation code is needed in order to implement many synchronisation policies. This introduces an obvious difficulty. The synchronisation code must not read an instance variable while that variable is being update ..."
Abstract
- Add to MetaCart
It is commonly believed that access to the instance variables of an object by its synchronisation code is needed in order to implement many synchronisation policies. This introduces an obvious difficulty. The synchronisation code must not read an instance variable while that variable is being updated by an operation, otherwise the synchronisation code might see the variable in an inconsistent state. In this paper, we study this problem in depth and solve it by defining a framework to guide the design of synchronisation mechanisms. In solving the problem, our framework illustrates that, contrary to popular belief, access to instance variables by synchronisation mechanisms is not required in order to implement synchronisation policies that apparently rely on the state of the object---such state can be maintained by the synchronisation code itself. Our framework offers additional benefits. Synchronisation mechanisms designed within the guidelines of the framework can possess considerable ...
Simulation within a Parallel Object-Oriented Language
"... Introduction We give an overview of the SLOOP system. A synthetic view of each system component and organization is then presented. 2 The SLOOP system Our group (INRIA--I3S/CNRS--Univ. of Nice) works on three main domains: 1. parallel and distributed discrete event simulations, 2. parallel obje ..."
Abstract
- Add to MetaCart
Introduction We give an overview of the SLOOP system. A synthetic view of each system component and organization is then presented. 2 The SLOOP system Our group (INRIA--I3S/CNRS--Univ. of Nice) works on three main domains: 1. parallel and distributed discrete event simulations, 2. parallel object-oriented languages, 3. interconnection networks. These three different research goals articulate one with another in the construction of the Sloop system: each level uses the primitives and possibilities of the layer just underneath; Figure 1 summarizes the system structure and topics. The bottom layer deals with: communication algorithms, mapping strategies (both static and dynamic) , and overlapping communication/computations. These primitives are used to define and program the middle layer, a parallel object-oriented language (C++//, an extension of C++), which in turn offers: reusability, flexibility, and exte
Concurrency, Synchronisation and Objects
, 1999
"... oncurrent programming, and even concurrent objects, is vast. Lea [Lea99] provides comprehensive, annotated lists of further readings throughout his book, covering the many different facets of concurrent programming, parallel programming, concurrent object systems and other related areas. Andrews [An ..."
Abstract
- Add to MetaCart
oncurrent programming, and even concurrent objects, is vast. Lea [Lea99] provides comprehensive, annotated lists of further readings throughout his book, covering the many different facets of concurrent programming, parallel programming, concurrent object systems and other related areas. Andrews [And91] is a good text on the general issues of systems level concurrent programming, as are [Ben82] and [Ben90], whilst operating systems texts such as [Tan92] and [Sil94] introduce the concepts from an OS perspective. Multi-threading texts are usually based around the usage of particular libraries or interfaces, such as those defined by Unix International (UI) and POSIX. Kleiman et al [Kle96] provides a good account of multi-threaded programming with UI threads in Sun's Solaris Extract from the Ph.D. Thesis: "Synchronisation Rings: Composable Synchronisation for Object-Oriented Systems" by David Holmes, Department of Computing, Macquarie University, Sydney h
Concurrency Annotations for Reusable Concurrent Software
, 1992
"... Concurrency annotations are inserted into otherwise sequential object-oriented code, inducing a concurrent semantics that is very close to the original sequential semantics. This facilitates integrated engineering of sequential and concurrent software, in particular reuse of code across the boundary ..."
Abstract
- Add to MetaCart
Concurrency annotations are inserted into otherwise sequential object-oriented code, inducing a concurrent semantics that is very close to the original sequential semantics. This facilitates integrated engineering of sequential and concurrent software, in particular reuse of code across the boundary between concurrency and sequentiality. Concurrency annotations also blend well with inheritance, giving an additional boost to reusability . The annotations approach to reusable concurrent software is presented using Eiffel as the sequential base for a concurrent language called CEiffel. Thus: Eiffel + annotations =CEiffel.

