Results 1 - 10
of
13
Object-Oriented Nets with Algebraic Specifications: The CO-OPN/2 Formalism
- Advances in Petri Nets on Object-Orientation, volume to appear of Lecture Notes in Computer Science
, 1997
"... This paper presents and formally defines the CO-OPN/2 formalism (Concurrent Object-Oriented Petri Net) which is devised for the specification of large concurrent systems. We introduce the basic principles of the formalism, and describe how some aspects of object-orientation -- such as the notions ..."
Abstract
-
Cited by 23 (9 self)
- Add to MetaCart
This paper presents and formally defines the CO-OPN/2 formalism (Concurrent Object-Oriented Petri Net) which is devised for the specification of large concurrent systems. We introduce the basic principles of the formalism, and describe how some aspects of object-orientation -- such as the notions of class/object, object reference, inheritance and subtyping -- are taken into account. In CO-OPN/2, classes (considered as templates) are described by means of algebraic nets in which places play the role of attributes, and methods are external parameterized transitions. A semantic extension for the management of the object references is defined. Inheritance and subtyping are clearly distinguished. Interaction between objects consists of synchronizations. Synchronization expressions are provided which allow the designer to select interaction policies between the partners. We also provide a step semantics which expresses the true concurrency of the object behaviors. Finally, in orde...
On the Abstraction of Coloured Petri Nets
- Proceedings of Petri Net Conference 97
, 1997
"... ion of Coloured Petri Nets Charles Lakos, Computer Science Department, University of Tasmania, GPO Box 252C, Hobart, TAS, 7001, Australia. Email: Charles.Lakos@cs.utas.edu.au Abstract: This paper considers the appropriate properties for abstract net components in the Coloured Petri Net formalism. I ..."
Abstract
-
Cited by 16 (6 self)
- Add to MetaCart
ion of Coloured Petri Nets Charles Lakos, Computer Science Department, University of Tasmania, GPO Box 252C, Hobart, TAS, 7001, Australia. Email: Charles.Lakos@cs.utas.edu.au Abstract: This paper considers the appropriate properties for abstract net components in the Coloured Petri Net formalism. In doing so, it attempts to maintain the duality between places and transitions which is so foundational to Petri Net theory. It also defines what it means to execute the net at an abstract level. Keywords: Theory of High-Level Petri Nets, Abstraction, Duality 1 Introduction A number of proposals have been made for abstraction and hierarchy constructs for Petri Nets (PTNs) in general, and Coloured Petri Nets (CPNs) in particular. Some of these emphasise conceptual issues, where the abstractions are used primarily to aid the process of developing a Petri Net model, but are subsequently discarded in the simulation or analysis of the model [18]. Some concentrate on the structural relationship ...
The Consistent Use of Names and Polymorphism in the Definition of Object Petri Nets
- Proceedings of 17th International Conference on the Application and Theory of Petri Nets, Lecture Notes in Computer Science 1091
, 1996
"... : This paper seeks to present a more elegant and general definition of Object Petri Nets than previously. It is more general since it supports transition fusion as well as place fusion. It is more elegant because it captures all the notions of place substitution, transition substitution, place fusio ..."
Abstract
-
Cited by 11 (6 self)
- Add to MetaCart
: This paper seeks to present a more elegant and general definition of Object Petri Nets than previously. It is more general since it supports transition fusion as well as place fusion. It is more elegant because it captures all the notions of place substitution, transition substitution, place fusion, and transition fusion under the single notion of binding. This is achieved by explicitly supporting names in the formalism, in line with the p-calculus which recognises that names are pervasive and should be explicitly included in a formalism in order to model object mobility. The definition in this paper is also more consistent in its use of polymorphism and embodies a more obvious duality between states and changes of state. Object Petri Nets represent a complete integration of object-oriented concepts into Petri Nets. They have a single class hierarchy which includes both token types and subnet types, and which readily supports modelling systems with multiple levels of activity. Intera...
Modeling of Cooperative Editors Using CO-OPN/2
- Proceeding of the Int'l Workshop on Object-Oriented Programming and Models of Concurrency
, 1996
"... In this paper we describe how to use the CO-OPN/2 (Concurrent Object-Oriented Petri Net) formalism, by developing a case study on groupware or, more specifically, on a cooperative editor of hierarchical diagrams. First of all, we present CO-OPN/2 and describe how some aspects specific to object orie ..."
Abstract
-
Cited by 5 (0 self)
- Add to MetaCart
In this paper we describe how to use the CO-OPN/2 (Concurrent Object-Oriented Petri Net) formalism, by developing a case study on groupware or, more specifically, on a cooperative editor of hierarchical diagrams. First of all, we present CO-OPN/2 and describe how some aspects specific to object orientation, such as the notions of class/object, of object reference and of the distinction between inheritance and sub-typing, are taken into account within the formalism. Afterwards, we show how these notions may be used for the modeling and the design of an editor of hierarchical Petri nets and discuss some points related to the concurrency. Finally, we show how flexible our modeling architecture is by giving some insight into to the design of other kinds of cooperative diagram editors. Keywords : groupware, object-orientation, distributed systems, formal methods, Petri nets, algebraic specification, software engineering. 1 Introduction The objective of this paper is to illustrate the mode...
Comparison of Object-Oriented Formal Methods
"... this document is the classification and comparison of object-oriented formalisms for assessing their suitability within DeVa. Numerous object-oriented formal specification languages are under development, either extending existing formal approaches or formalizing informal OO-methods. It is difficult ..."
Abstract
-
Cited by 4 (2 self)
- Add to MetaCart
this document is the classification and comparison of object-oriented formalisms for assessing their suitability within DeVa. Numerous object-oriented formal specification languages are under development, either extending existing formal approaches or formalizing informal OO-methods. It is difficult to evaluate and compare them; a suitable evaluation framework identifying a set of classification criteria needs to be designed for this purpose. In this paper we present a comparative study of various OO-formalisms by means of an evaluation framework. The criteria we have chosen to describe features present or absent in a formalism. One of the challenging parts of this work has been the precise definition of the classification criteria. The conclusions are drawn by relating the results of the classification and comparison to the needs of DeVa. This comparative study also shows that the term "OO formal approach" is used for quite different approaches. 2 Introduction to Object-Oriented Specification Formalisms The natural idea behind the object-oriented paradigm is to consider the system we want to model, simulate or develop, as a collection of active objects which collaborate with each other. The term active object denotes an autonomous entity equipped with its own behavior and some internal data. These local data correspond to the state of the object and of course may change during its lifetime. The only way of interacting with an object is to send it a message (asynchronous) or to request a rendezvous (synchronous). A message is a request for the receiver to give a service to the sender. The sender is also called a client while the receiver may be called a
A Catalogue of Incremental Changes for Coloured Petri Nets
- the International Conference of Application and Theory of Petri Nets
, 1999
"... Abstract: This paper presents three forms of incremental change or refinement which are considered appropriate for Coloured Petri Nets. The intention is to recommend forms which are appropriate to Petri Nets and not primarily driven by the desire to emulate object-oriented programming languages. Nev ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
Abstract: This paper presents three forms of incremental change or refinement which are considered appropriate for Coloured Petri Nets. The intention is to recommend forms which are appropriate to Petri Nets and not primarily driven by the desire to emulate object-oriented programming languages. Nevertheless, the proposals are compared with others in the literature — with objectoriented programming languages, with practical case studies of the application of formal methods, and with other object-oriented Petri Net formalisms.
CO-OPN/2 Applied to the Modeling of Cooperative Structured Editors
- TECH. REPORT 96/184, SWISS FEDERAL INSTITUTE OF TECHNOLOGY (EPFL), SOFTWARE ENGINEERING LABORATORY
, 1996
"... In this paper we describe how to use the CO-OPN/2 (Concurrent Object-Oriented Petri Net) formalism, by developing a case study on groupware or, more specifically, on a cooperative editor of hierarchical diagrams. First of all, we present CO-OPN/2 and describe how some aspects specific to object orie ..."
Abstract
-
Cited by 3 (2 self)
- Add to MetaCart
In this paper we describe how to use the CO-OPN/2 (Concurrent Object-Oriented Petri Net) formalism, by developing a case study on groupware or, more specifically, on a cooperative editor of hierarchical diagrams. First of all, we present CO-OPN/2 and describe how some aspects specific to object orientation, such as the notions of class/object, of object reference and of the distinction between inheritance and sub-typing, are taken into account within the formalism. Afterwards, we show how these notions may be used for the modeling and the design of an editor of hierarchical Petri nets and discuss some points related to the concurrency. Finally, we show how flexible our modeling architecture is by giving some insight into to the design of other kinds of cooperative diagram editors.
Testing and Debugging Message Passing Programs in Synergy with their Specifications
- Fundamenta Informaticae
, 2000
"... We outline Ensemble, a design and implementation methodology for composing message passing (MP) applications from program components directed by scripts. We define specification components corresponding to program components and we compose them, directed by the same scripts, obtaining tbrmal spec ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
We outline Ensemble, a design and implementation methodology for composing message passing (MP) applications from program components directed by scripts. We define specification components corresponding to program components and we compose them, directed by the same scripts, obtaining tbrmal specifications of the composed applications.
Mathematical Formalization of the Messenger Paradigm
, 1995
"... This technical report presents the syntax and semantics, in terms of transition system, of the messenger paradigm as it has been presented in [8]. Messengers are mobile agents able to collaborate and to coordinate their work, but are not considered as intelligent agents. More precisely, messengers a ..."
Abstract
-
Cited by 1 (1 self)
- Add to MetaCart
This technical report presents the syntax and semantics, in terms of transition system, of the messenger paradigm as it has been presented in [8]. Messengers are mobile agents able to collaborate and to coordinate their work, but are not considered as intelligent agents. More precisely, messengers are mobile codes exchanged between messenger platforms. Arriving messengers are immediately executed (interpreted) by platforms. Messengers communicate by the means of a global store, synchronize their execution using process queues, create new messengers and move themselves across the network using appropriate instructions. The purpose of this mathematical formalization is to give a mathematical definition to the basic ingredients of the messenger paradigm: communication through global store, synchronization through process queues, creation of new messengers, and mobility. This formalization is neither concerned with families of messengers collaborating to solve a common goal, nor with the n...
From Formal Specifications to Ready-to-Use Software Components: The Concurrent Object Oriented Petri Net Approach
- Second International Conference on Application of Concurrency to System Design, Los Alamitos
, 2001
"... CO-OPN (Concurrent Object Oriented Petri Net) is a formal specification language for modelling distributed systems; it is based on coordinated algebraic Petri nets. In this paper we describe a method for generating an executable prototype from a CO-OPN specification. We focus our discussion on the g ..."
Abstract
-
Cited by 1 (0 self)
- Add to MetaCart
CO-OPN (Concurrent Object Oriented Petri Net) is a formal specification language for modelling distributed systems; it is based on coordinated algebraic Petri nets. In this paper we describe a method for generating an executable prototype from a CO-OPN specification. We focus our discussion on the generation of executable code for COOPN classes. CO-OPN classes are defined using Petri Nets. The main problems arise when implementing synchronization and non-determinism of CO-OPN classes in procedural languages. Our method proposes a solution to these problems. Another interesting aspect of our method is the easy integration of a generated prototype into any existing system. This paper focuses on the generation of Java code that fulfils the Java Beans component architecture, however our approach is also applicable to other object-oriented implementation languages with a component architecture. 1.

