Lecture Notes in Computer Science 2001 Edited by G. Goos, J. Hartmanis and J. van Leeuwen

Similar documents
Lecture Notes in Computer Science. Edited by G. Goos, J. Hartmanis and J. van Leeuwen

Computer Architecture

Lecture Notes in Computer Science 2929 Edited by G. Goos, J. Hartmanis, and J. van Leeuwen

Lecture Notes in Computer Science 1506 Edited by G. Goos, J. Hartmanis and J. van Leeuwen

Object-Based Concurrent Computing

Interfacing with C++

Lecture Notes in Mathematics Editors: J.--M. Morel, Cachan F. Takens, Groningen B. Teissier, Paris

Lecture Notes in Computer Science

KRON: An Approach for the Integration of Petri Nets in Object Oriented Models of Discrete Event Systems

Julien Masanès. Web Archiving. With 28 Figures and 6 Tables ABC

Jinkun Liu Xinhua Wang. Advanced Sliding Mode Control for Mechanical Systems. Design, Analysis and MATLAB Simulation

Automated and Algorithmic Debugging

Software Development for SAP R/3

Geometric Modeling and Algebraic Geometry

Lecture Notes in Computer Science

Research on Industrial Security Theory

Real-Time Graphics Rendering Engine

Advanced Data Mining Techniques

Contributions to Economics

The Information Retrieval Series. Series Editor W. Bruce Croft

High Availability and Disaster Recovery

Computer Science Workbench. Editor: Tosiyasu L. Kunii

The Architectural Logic of Database Systems

Gengsheng Lawrence Zeng. Medical Image Reconstruction. A Conceptual Tutorial

c-xsc R. Klatte U. Kulisch A. Wiethoff C. Lawo M. Rauch A C++ Class Library for Extended Scientific Computing Springer-Verlag Berlin Heidelberg GmbH

Lecture Notes in Computer Science

Springer-Verlag Berlin Heidelberg GmbH

Enabling Technologies for Wireless E-Business

Stefan Waldmann. Topology. An Introduction

Lecture Notes in Computer Science 1549 Edited by G. Goos, J. Hartmanis, and J. van Leeuwen

Lecture Notes in Computer Science

Similarity and Compatibility in Fuzzy Set Theory

Human-Survey Interaction

PetriPad A Collaborative Petri Net Editor

DOWNLOAD OR READ : CONCURRENCY AND NETS ADVANCES IN PETRI NETS PDF EBOOK EPUB MOBI

PostScript ej Acrobat/PDF

Lecture Notes in Computer Science 7323

Computational Geometry - Algorithms and Applications

A. Portela A. Charafi Finite Elements Using Maple

Graphics Programming in c++

Parallel Programming

Whitestein Series in software Agent Technologies. About whitestein Technologies

Springer-Verlag Berlin Heidelberg GmbH

Philipp von Weitershausen. Web Component Development with Zope 3

Lecture Notes in Computer Science

Data Encapsulation and Data Abstraction with Petri Nets { a. graphical Visualization of Modules. Olaf Fricke. Technical University Berlin

Lecture Notes in Computer Science 2853 Edited by G. Goos, J. Hartmanis, and J. van Leeuwen

Lecture Notes in Computer Science Edited by G. Goos, J. Hartmanis and J. van Leeuwen

ITIL 2011 At a Glance. John O. Long

Guide to OSI and TCP/IP Models

TEXTS IN COMPUTER SCIENCE

Lecture Notes in Computer Science

Graph Data Model. and Its Data Language. Hideko S. Kunii. Foreword by Gio Wiederhold

Data-Centric Systems and Applications

A Cooperative Editor for Hierarchical Diagrams: An Object Petri Net Model

Petri-net-based Workflow Management Software

Transitions as Transactions

SYMBOLIC COMPUTATION. Managing Editors: J. Encama~o P. Hayes Artificial Intelligence Editors: L. Bole A Bundy J. Siekmann

Robust SRAM Designs and Analysis

Lecture Notes in Business Information Processing 67

Programming with Turing and Object Oriented Turing

Mathematics and Visualization

COMP 763. Eugene Syriani. Ph.D. Student in the Modelling, Simulation and Design Lab School of Computer Science. McGill University

Practitioner Series. Springer London Berlin Heidelberg New York Hong Kong Milan Paris Santa Clara Singapore Tokyo

Visualization in Supercomputing

LIHS-FROGIS, Université Toulouse I, Place Anatole France, F Toulouse CEDEX, France

MOBILE NETS. Nadia Busi

Principles of Network Economics

SpringerBriefs in Computer Science

MATLAB Programming for Numerical Analysis. César Pérez López

Windows 10 Revealed. The Universal Windows Operating System for PC, Tablets, and Windows Phone. Kinnary Jangla

Computer-Supported Cooperative Work

Lecture Notes in Computer Science 5454

Using MSC/NASTRAN: Statics and Dynamics

Enterprise Networks and Telephony

Philip Andrew Simpson. FPGA Design. Best Practices for Team-based Reuse. Second Edition

Lecture Notes in Computer Science

George Grätzer. Practical L A TEX

A Normative Language Approach to the Application of Petri Nets for Clinical Workflows

SymbolicC++: An Introduction to Computer Algebra using Object-Oriented Programming

Modeling Behavioral Design Patterns of Concurrent Objects

Fundamentals of Operating Systems. Fifth Edition

Lecture Notes in Computer Science

Static Safety Analysis of UML Action Semantics for Critical Systems Development

Discrete-event simulation of railway systems with hybrid models

Information Modeling and Relational Databases

High-level Modeling with THORNs. Oldenburger Forschungs- und Entwicklungsinstitut fur. Informatik-Werkzeuge- und Systeme (Offis)

FROM OBJECT TO AGENT: AN APPROACH TO USING FORMAL METHODS IN SOFTWARE DESIGN AND ANALYSIS

An Extensible Editor and Simulation Engine for Petri Nets: Renew

Computer-Aided Design in Magnetics

Coloured Petri Nets Modelling and Validation of Concurrent Systems. Chapter 1: Modelling and Validation

DATABASE SYSTEM CONCEPTS

A GRAPHICAL TABULAR MODEL FOR RULE-BASED LOGIC PROGRAMMING AND VERIFICATION **

Digital VLSI Design with Verilog

Ontology for Exploring Knowledge in C++ Language

The Maude LTL Model Checker and Its Implementation

Programming in Modula-3

Concrete Abstractions

On Petri Nets and Predicate-Transition Nets

Functional Programming for Business Process Modeling

Transcription:

Lecture Notes in Computer Science 2001 Edited by G. Goos, J. Hartmanis and J. van Leeuwen

3 Berlin Heidelberg New York Barcelona Hong Kong London Milan Paris Singapore Tokyo

Gul A. Agha Fiorella De Cindio Grzegorz Rozenberg (Eds.) Concurrent Object-Oriented Programming and Petri Nets Advances in Petri Nets 13

Series Editors Gerhard Goos, Karlsruhe University, Germany Juris Hartmanis, Cornell University, NY, USA Jan van Leeuwen, Utrecht University, The Netherlands Volume Editors Gul A. Agha University of Illinois at Urbana-Champaign Department of Computer Science 1304 West Springfield Avenue, 61801-2987 Urbana, Illinois, USA E-mail: agha@cs.uiuc.edu Fiorella De Cindio University of Milan, Computer Science Department via Comelico 39/41, 20135 Milan, Italy E-mail: fiorella.decindo@unimi.it Grzegorz Rozenberg Leiden University, Leiden Institute of Advanced Computer Science (LIACS) Niels Bohrweg 1, 2333 CA, Leiden, The Netherlands E-mail: rozenber@liacs.nl Cataloging-in-Publication Data applied for Die Deutsche Bibliothek - CIP-Einheitsaufnahme Concurrent object oriented programming and Petri nets : advances in Petri nets / Gul A. Agha... (ed.). - Berlin ; Heidelberg ; New York ; Barcelona ; Hong Kong ; London ; Milan ; Paris ; Singapore ; Tokyo : Springer, 2001 (Lecture notes in computer science ; 2001) ISBN 3-540-41942-X CR Subject Classification (1998):F.1, D.1-3, F.3, C.2, J.1, G.2 ISSN 0302-9743 ISBN 3-540-41942-X Springer-Verlag Berlin Heidelberg New York This work is subject to copyright. All rights are reserved, whether the whole or part of the material is concerned, specifically the rights of translation, reprinting, re-use of illustrations, recitation, broadcasting, reproduction on microfilms or in any other way, and storage in data banks. Duplication of this publication or parts thereof is permitted only under the provisions of the German Copyright Law of September 9, 1965, in its current version, and permission for use must always be obtained from Springer-Verlag. Violations are liable for prosecution under the German Copyright Law. Springer-Verlag Berlin Heidelberg New York a member of BertelsmannSpringer Science+Business Media GmbH http://www.springer.de Springer-Verlag Berlin Heidelberg 2001 Printed in Germany Typesetting: Camera-ready by author, data conversion by Steingräber Satztechnik GmbH, Heidelberg Printed on acid-free paper SPIN: 10782248 06/3142 543210

Preface There are two aspects to object-oriented programming: encapsulation of state and procedures to manipulate the state; and inheritance, polymorphism, and code reuse. The first aspect provides a correspondence with the natural separation of physical objects, and the second aspect is a way of organizing into categories and sharing by abstracting commonalities. Although much of the early research in object-based programming on sequential systems, in recent years concurrency and distribution have become the dominant concern of computer science. In fact, objects are a natural unit of distribution and concurrency as elucidated quite early on by research on the Actor model. It is therefore natural to look at models and theories of concurrency, the oldest of these being Petri nets, and their relation to objects. There are a number of directions in which models of concurrency need to be extended to address objects these include the semantics of concurrent object-oriented programming languages, objectoriented specification languages, and modeling methods. Developments in these areas will lead to better system development and analysis tools. Among the issues that must be addressed by formal models of concurrency are inheritance, polymorphism, dynamically changing topologies, and mobility. These present deep challenges for the modeling capabilities of the existing formalisms and require investigation of ways to extend these formalisms. For these reasons, we organized a series of two workshops on Models of Concurrency and Object-Oriented Programming which were held in conjunction with the Annual Petri Net Conference in 1995 (Turin, Italy) and in 1996 (Osaka, Japan). Subsequently, a subset of authors at these workshops, as well as a few others, were invited to submit papers for this volume. The papers then underwent a referee cycle with revisions. The papers in this volume are organized into three sections. The first consists of long papers, each of which presents a relatively detailed approach to integrating Petri nets and object orientation i.e. defining a syntax and its semantics, and illustrating it with examples. Section II includes shorter papers where the emphasis is on concrete examples to demonstrate an approach. Finally, Section III includes papers which significantly build on the Actor model of computation. In order to provide an opportunity to more easily understand and compare the various approaches, we solicited some sample problems at the first workshop, which could serve as canonical case studies. In preparation of the second workshop, two case studies were then suggested to the authors namely, the Hurried Philosophers problem, proposed by C. Sibertin-Blanc, and the specification of a Cooperative Petri Net Editor proposed by R. Bastide, C. Lakos, and P. Palanque. Many papers in this collection deal with these two problems and the original text describing the problems is included in the last section of this volume.

VI Preface We are grateful to the referees and to the authors for their patience in the production of this volume. We would like to thank the organizers of the Petri Net conference for their help in organizing the workshops. Finally, we are also very grateful to Alfredo Chizzoni for his support in organizing the two workshops, and to Nadeem Jamali and Patricia Denmark for their assistance in preparing the manuscript. January 2001 G. Agha F. De Cindio G. Rozenberg

Table of Contents Section I Object Oriented Modeling with Object Petri Nets... 1 C. Lakos Using Petri Nets for Specifying Active Objects and Generative Communication... 38 T. Holvoet, P. Verbaeten Object-Oriented Nets with Algebraic Specifications: The CO-OPN/2 Formalism... 73 O. Biberstein, D. Buchs, and N. Guelfi CLOWN as a Testbed for Concurrent Object-Oriented Concepts... 131 E. Battiston, A. Chizzoni, and F. De Cindio Concurrency in Communicating Object Petri Nets... 164 R. Valk Object Orientation in Hierarchical Predicate Transition Nets... 196 X. He, Y. Ding CoOperative Objects: Principles, Use and Implementation... 216 C. Sibertin-Blanc OB(PN) 2 : An Object Based Petri Net Programming Notation... 247 J. Lilius On Formalizing UML with High-Level Petri Nets... 276 L. Baresi, M. Pezzè Section II Modeling a Groupware Editing Tool with Cooperative Objects... 305 R. Bastide, P. Palanque Modeling Constrained Geometric Objects with OBJSA Nets... 319 M. A. Alberti, P. Evi, and D. Marini An Object-Based Modular CPN Approach: Its Application to the Specification of a Cooperative Editing Environment... 338 D. S. Guerrero, J. C. A. de Figueiredo, and A. Perkusich

VIII Table of Contents KRON: Knowledge Engineering Approach Based on the Integration of CPNs with Objects... 355 J. A. Bañares, P. R. Muro-Medrano, J. L. Villarroel, and F. J. Zarazaga Modeling of a Library with THORNs... 375 F. Köster, S. Schöf, M. Sonnenschein, and R. Wieting Inheritance of Dynamic Behavior: Development of a Groupware Editor... 391 T. Basten, W. M. P. van der Aalst Object Colored Petri Nets A Formal Technique for Object Oriented Modeling... 406 C. Maier, D. Moldt Section III An Actor Algebra for Specifying Distributed Systems: The Hurried Philosophers Case Study... 428 M. Gaspari, G. Zavattaro Formal Reasoning about Actor Programs Using Temporal Logic... 445 S. Schacht Flexible Types for a Concurrent Model... 461 F. Puntigam High Level Transition Systems for Communicating Agents... 473 F. Vernadat, P. Azéma Schedulability Analysis of Real Time Actor Systems Using Colored Petri Nets... 493 L. Nigro, F. Pupo Control Properties in Object-Oriented Specifications... 514 A. Diagne Section IV: Case Studies A Cooperative Petri Net Editor... 534 R. Bastide, C. Lakos, and P. Palanque The Hurried Philosophers... 536 C. Sibertin-Blanc Author Index... 539