Results 1  10
of
47
An Object Calculus for Asynchronous Communication
 Proceedings of the European Conference on ObjectOriented 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 362 (29 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 objectorientation [26, 25]. Being successful as a programming methodology for dynamic concurrent computing, its theoretical contents are far f...
On Asynchronous Communication Semantics
, 1992
"... This paper presents some results concerning equational theories for an elementary calculus based on a fragment of Milner's ßcalculus. The system is interesting because it realises asynchronous message passing not by extending but reducing the original fragment, while preserving the computation ..."
Abstract

Cited by 66 (3 self)
 Add to MetaCart
This paper presents some results concerning equational theories for an elementary calculus based on a fragment of Milner's ßcalculus. The system is interesting because it realises asynchronous message passing not by extending but reducing the original fragment, while preserving the computational power. The bisimulation based on a novel asynchronous transition system is introduced and studied. Presented results include congruence of the bisimilarity for the calculus, its relationship with two other asynchronous theories based on traces and failures, strict inclusion of its synchronous counterpart in the asynchronous theory, and the method called the I completion that transforms two asynchronously bisimilar terms into synchronously bisimilar ones. 1 Introduction This paper presents some results concerning equational theories for an elementary calculus based on a fragment of Milner's ßcalculus [22]. The calculus, which first appeared in its present form in [12], expresses asynchronous...
Categorical Semantics Of Parallel Program Design
, 1997
"... We formalise, using Category Theory, modularisation techniques for parallel and distributed systems based on the notion of superposition, showing that parallel program design obeys the "universal laws" formulated by J.Goguen for General Systems Theory, as well as other algebraic propertie ..."
Abstract

Cited by 30 (10 self)
 Add to MetaCart
We formalise, using Category Theory, modularisation techniques for parallel and distributed systems based on the notion of superposition, showing that parallel program design obeys the "universal laws" formulated by J.Goguen for General Systems Theory, as well as other algebraic properties of modularity formulated for Specification Theory. The resulting categorical formalisation unifies the different notions of superposition that have been proposed in the literature and clarifies their algebraic properties with respect to modularisation. It also suggests ways of extending or revising existing languages in order to provide higher levels of reusability, modularity and incrementality in system design. 1 Introduction The role of Category Theory in supporting the definition of 'scientific laws' of system modularisation and composition has been recognised since the early 70s when J.Goguen proposed the use of categorical techniques in General Systems Theory for unifying a variety of notion...
Proof of Correctness of Object Representations
"... This paper presents an algebraic account of implementation that is applicable to the object paradigm. The key to its applicability is the notion of state: objects have local states that are observable only through their outputs. That is, objects may be viewed as abstract machines with hidden local s ..."
Abstract

Cited by 28 (14 self)
 Add to MetaCart
This paper presents an algebraic account of implementation that is applicable to the object paradigm. The key to its applicability is the notion of state: objects have local states that are observable only through their outputs. That is, objects may be viewed as abstract machines with hidden local state (as in [9]). Consequently, a correct implementation need only have the required visible behaviour. We use hidden order sorted algebra to formalise the object paradigm [4, 5, 8]. Advantages of an algebraic approach include a high level of intellectual rigour, a large body of supporting mathematics, and simple, efficient proofs using only equational logic. A wide variety of extensions to equational logic have been developed to treat various programming features, while preserving its essential simplicity. For example, order sorted equational logic uses a notion of subsort to treat computations that may raise exceptions or fail to terminate. Hidden sorted logic extends standard equational logic to capture an important distinction between immutable data types, such as booleans and integers, and mutable objects, such as program variables and database entities. The terms abstract data types and abstract object classes refer to these two kinds of entity. The former represent `visible' data values; the latter represent data stored in a hidden state. In hidden sorted equational logic, an equation of hidden sort need not be satisfied in the usual sense, but only up to observability, in that only its visible consequences need hold. Thus, hidden sorted logic allows greater freedom in implementations. The simplicity of the underlying logic is important, because we want a tractable
Proving Correctness Of Refinement And Implementation
, 1996
"... The notions of state and observable behaviour are fundamental to many areas of computer science. Hidden sorted algebra, an extension of many sorted algebra, captures these notions through hidden sorts and the behavioural satisfaction of equations. This makes it a powerful formalisation of abstract m ..."
Abstract

Cited by 28 (4 self)
 Add to MetaCart
The notions of state and observable behaviour are fundamental to many areas of computer science. Hidden sorted algebra, an extension of many sorted algebra, captures these notions through hidden sorts and the behavioural satisfaction of equations. This makes it a powerful formalisation of abstract machines, and many results suggest that it is also suitable for the semantics of the object paradigm. Another extension of many sorted algebra, namely order sorted algebra, has proved useful in system specification and prototyping because of the way it handles subtypes and errors. The combination of these two algebraic approaches, hidden order sorted algebra, has also been proposed as a foundation for object paradigm, and has much promise as a foundation for Software Engineering. This paper extends recent work on hidden order sorted algebra by investigating the refinement and implementation of hidden order sorted specifications. We present definitions of refinement and implementation for suc...
HYPERPROGRAMMING: A Formal Approach to Software Environments
 In Proceedings, Symposium on Formal Approaches to Software Environment Technology. Joint System Development Corporation
, 1990
"... : Hyperprogramming is an emerging semanticsbased technique for the integration of diverse features of programming environments, in particular, rapid prototyping and formal methods. This approach generalizes the notion of module to that of module cluster , which is an association around a central f ..."
Abstract

Cited by 22 (13 self)
 Add to MetaCart
: Hyperprogramming is an emerging semanticsbased technique for the integration of diverse features of programming environments, in particular, rapid prototyping and formal methods. This approach generalizes the notion of module to that of module cluster , which is an association around a central formal specification of various items of programming information, such as interface, source code, compiled code, rapid prototypes, formal proofs, test cases, performance estimates, documentation, history and accounting information. This allows all information items to be composed at the same time, by evaluating a master text called a module expression, which tells how to compose and transform module clusters. Hyperprogramming thus integrates design, specification, prototyping, coding, configuration, proof, testing, documentation and accounting into a single framework significantly generalizing both Ada generics and Unix 1 make. Hyperprogramming can also support a variety of different progra...
Concepts of ObjectOrientation
 In Proc. of the 2nd Workshop of &quot;Informationssysteme und Kunstliche Intelligenz: Modellierung
, 1992
"... An object is a unit of structure and behavior; it has an identity which persists through change; objects communicate with each other; they are classified by object types, collected into object classes, related by inheritance, and composed to form complex objects. In the first part of the paper, this ..."
Abstract

Cited by 13 (10 self)
 Add to MetaCart
An object is a unit of structure and behavior; it has an identity which persists through change; objects communicate with each other; they are classified by object types, collected into object classes, related by inheritance, and composed to form complex objects. In the first part of the paper, this rich world of concepts and constructions is explained in an informal but systematic way, independent of any language or system. In the second part, features of an object specification language are outline which incorporate most of these concepts and constructions. 1 Introduction There are many languages, systems, methods and approaches in computing which call themselves "objectoriented", among them objectoriented programming languages like SmallTalk [GR83], C++ [St86] and Eiffel [Me88], objectoriented database systems like GemStone [BOS91], O 2 [De91], IRIS [Fi87] and ORION [Ki88], and objectoriented system development methods like GOOD [SS86], MOOD [Ke88] and HOOD [Hei88]. Highl...
A Categorial Approach to the Combination of Logics
, 1999
"... LOGICAL SYSTEMS: LOCAL AND GLOBAL LOGICS The concept of possibletranslations semantics (also called nondeterministic semantics) was introduced and discussed in (Carnielli (1990)) and (Carnielli (forthcoming)) as a new semantic approach to general logical systems, based on the idea of defining new ..."
Abstract

Cited by 11 (6 self)
 Add to MetaCart
LOGICAL SYSTEMS: LOCAL AND GLOBAL LOGICS The concept of possibletranslations semantics (also called nondeterministic semantics) was introduced and discussed in (Carnielli (1990)) and (Carnielli (forthcoming)) as a new semantic approach to general logical systems, based on the idea of defining new forcing relations combining simple semantics by means of translations. Although several ideas on combinations of logics can be found in the literature, as described for example in (Blackburn & Rijke (1997)) and (Caleiro, Sernadas & Sernadas (manuscript)), this approach offers a different perspective to the question, which leads to new semantics for general logics, including several manyvalued, paracomplete and paraconsistent logics. A special form of possibletranslations semantics called society semantics, which is particularly apt for manyvalued logics, has been presented in (Carnielli & LimaMarques (1999)).
Interconnection of Object Specifications
 Formal Methods and Object Technology
, 1996
"... ing yet further from reality, we might proscribe the simultaneous effect of two or more methods on an object's state; doing so, we impose a monoid structure on the fixed set of methods proper to an object class. Applying methods one after the other corresponds to multiplication in the monoid, a ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
ing yet further from reality, we might proscribe the simultaneous effect of two or more methods on an object's state; doing so, we impose a monoid structure on the fixed set of methods proper to an object class. Applying methods one after the other corresponds to multiplication in the monoid, and applying no methods corresponds to the identity of the monoid. A monoid is a set M with an associative binary operation ffl M : M \ThetaM ! M , usually referred to as `multiplication', which has an identity element e M 2 M . If M = (M; ffl M ; e M ) is a monoid, we often write just M for M, and e for e M ; moreover for m;m 0 2 M , we usually write mm 0 instead of m ffl M m 0 . For example, A , the set of lists containing elements of A, together with concatenation ++ : A \ThetaA ! A and the empty list [ ] 2 A , is a monoid. This example is especially important for the material in later sections. A monoid homomorphism is a structure preserving map between the carriers of ...
Denotational Semantics of Object Specification
 ACTA INFORMATICA
, 1998
"... From an arbitrary temporal logic institution we show how to set up the corresponding institution of objects. The main properties of the resulting institution are studied and used in establishing a categorial, denotational semantics of several basic constructs of object specification, namely aggre ..."
Abstract

Cited by 8 (3 self)
 Add to MetaCart
From an arbitrary temporal logic institution we show how to set up the corresponding institution of objects. The main properties of the resulting institution are studied and used in establishing a categorial, denotational semantics of several basic constructs of object specification, namely aggregation (parallel composition), interconnection, abstraction (interfacing) and monotonic specialization. A duality is established between the category of theories and the category of objects, as a corollary of the Galois correspondence between these concrete categories. The special case of linear temporal logic is analysed in detail in order to show that categorial products do reflect interleaving and reducts may lead to internal nondeterminism.