Semantics of POOSL : an object-oriented specification language for the analysis and design of hardware/software systems

POOSL, an acronym for Parallel Object-Oriented Specification Language, is a specification and design language which is developed as a part of an object-oriented methodology for the specification and design of data processing systems that contain a mixture of software and hardware components. The language is based on the object-oriented paradigm to support flexible and reusable design, as well as on the basic concepts of CCS to enable formal verification, simulation, and transformation of specifications. In this report we formalize the language and we argue why such a formalization is necessary. The formal description is a Plotkin-style structural operational semantics. Since POOSL distinguishes data from processes, the semantics is developed in two parts. The data part is a computational semantics which is specified in terms of a transition system. We clarify the formal description through an example in which we compute the semantics of a data expression. The process part is a computational interleaving semantics defined in terms of a labeled transition system. On top of this semantics we define observation equivalence, and we show in an example how to reason about the equivalence of specifications.

[1]  Rhj Rudi Bloks A grammar based approach towards the automatic implementation of data communication protocols in hardware , 1993 .

[2]  Jpm Jeroen Voeten,et al.  POOSL : an object-oriented specification language for the analysis and design of hardware/software systems , 1995 .

[3]  Pierre America,et al.  A proof theory for a sequential version of POOL , 1990 .

[4]  Henry Lieberman,et al.  Concurrent object-oriented programming in Act 1 , 1987 .

[5]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[6]  Pierre J. M. Cluitmans,et al.  The Adaptive Resonance Theory network : (clustering-)behaviour in relation with Brainstem Auditory Evoked Potential patterns , 1992 .

[7]  van den Hpa Henrie Boom,et al.  An optical ASK and FSK phase diversity transmission system , 1992 .

[8]  Christian Neusius,et al.  Synchronizing Actions , 1991, ECOOP.

[9]  C. J. Koomen The Design of Communicating Systems: A System Engineering Approach , 1991 .

[10]  Bill Roscoe,et al.  An Operational Semantics for CSP , 1986 .

[11]  Robin Milner,et al.  Calculi for Synchrony and Asynchrony , 1983, Theor. Comput. Sci..

[12]  Bjarne Stroustrup,et al.  C++ Programming Language , 1986, IEEE Softw..

[13]  Peter Wegner,et al.  Dimensions of object-based language design , 1987, OOPSLA '87.

[14]  Walter L. Hürsch Should Superclasses be Abstract? , 1994, ECOOP.

[15]  Lech Jozwiak,et al.  A method for general simultaneous full decomposition of sequential machines : algorithms and implementation , 1992 .

[16]  Elspeth Cusack,et al.  Formal Object Oriented Specification of Distributed Systems , 1990 .

[17]  Mhj Math Bollen,et al.  Stochastic modelling of protection systems : comparison of four mathematical techniques , 1995 .

[18]  Rhj Rudi Bloks Code generation for the attribute evaluator of the protocol engine grammar processor unit , 1993 .

[19]  Jeroen Voeten,et al.  POOSL: a parallel object-oriented specification language , 1994 .

[20]  Matthew Hennessy,et al.  Full Abstraction for a Simple Parallel Programming Language , 1979, MFCS.

[21]  Mhj Math Bollen,et al.  Literature search for reliability data of components in electric distribution networks , 1993 .

[22]  Xz Xian Zhong Meng,et al.  Thermal buckling behaviour of fuse wires , 1994 .

[23]  Rhj Rudi Bloks ProGrIL: a language for the definition of protocol grammars , 1993 .

[24]  Adele Goldberg,et al.  SmallTalk 80: The Language , 1989 .

[25]  William R. Cook,et al.  Inheritance is not subtyping , 1989, POPL '90.

[26]  Akinori Yonezawa,et al.  Reflection in an object-oriented concurrent language , 1988, OOPSLA '88.

[27]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[28]  Pierre America,et al.  Operational semantics of a parallel object-oriented language , 1986, POPL '86.

[29]  Ljm Luc Cluitmans Using genetic algorithms for scheduling data flow graphs , 1992 .

[30]  van Em Eddie Veldhuizen,et al.  In-situ investigation of pulsed corona discharge , 1993 .

[31]  簡聰富,et al.  物件導向軟體之架構(Object-Oriented Software Construction)探討 , 1989 .

[32]  William R. Cook,et al.  A Proposal for Making Eiffel Type-Safe , 1989, Comput. J..

[33]  P.H.M. America,et al.  A parallel object-oriented language: design and semantic foundations , 1989 .

[34]  A.P.J. van Deursen Electromagnetic compatibility : part 5, installation and mitigation guidelines, section 3, cabling and wiring , 1993 .

[35]  Krzysztof R. Apt,et al.  Formal Justification of a Proof System for Communicating Sequential Processes , 1983, JACM.

[36]  Ana Moreira,et al.  Combining Object-Oriented Analysis and Formal Description Techniques , 1994, ECOOP.

[37]  Akinori Yonezawa,et al.  Object-oriented concurrent programming in ABCL/1 , 1986, OOPSLA 1986.

[38]  Ab Bart Smolders Finite stacked microstrip arrays with thick substrates , 1993 .

[39]  Mahesh H. Dodani,et al.  ACTS: A Type System for Object-Oriented Programming Based on Abstract and Concrete Classes , 1992, ECOOP.

[40]  Oscar Nierstrasz,et al.  Towards an Object Calculus ∗ , 1991 .

[41]  Robert de Simone,et al.  Process Calculi, from Theory to Practice: Verification Tools , 1989, Automatic Verification Methods for Finite State Systems.

[42]  van Em Eddie Veldhuizen,et al.  Flue gas cleaning by pulse corona streamer , 1993 .

[43]  Rance Cleaveland,et al.  The concurrency workbench: a semantics-based tool for the verification of concurrent systems , 1993, TOPL.

[44]  Tomás de Miguel,et al.  From LOTOS to C , 1988, FORTE.

[45]  Robert G. Clark,et al.  Rigorous Object-Oriented Analysis , 1994, ISOOMS.

[46]  van Ma Rinus Houten,et al.  On insular power systems : drawing up an inventory of phenomena and research possibilities , 1993 .

[47]  Matthew Hennessy,et al.  Semantics of programming languages - an elementary introduction using structural operational semantics , 1990 .

[48]  M. Wirsing,et al.  Formal Description of Programming Concepts - III: Proceedings of the IFIP TC 2/WG 2.2 Working Conference on Formal Description of Programming Concepts - III, Ebberup, Denmark, 25-28 August 1986 , 1987 .

[49]  Siep Weiland,et al.  Optimal Hankel-norm Identification of Dynamical Systems , 1997, Autom..

[50]  Pierre America,et al.  A parallel object-oriented language with inheritance and subtyping , 1990, OOPSLA/ECOOP '90.

[51]  Jpm Jeroen Voeten,et al.  CCSTOOL2 : an expansion, minimization and verification tool for finite state CCS descriptions , 1994 .

[52]  Charles Rattray Proceedings of the BCS-FACS Workshop on Specification and Verification of Concurrent Systems , 1988 .

[53]  B. Liao,et al.  Reliability analysis of auxiliary electrical systems and generating units , 1995 .

[54]  Robert D. Tennent,et al.  Semantics of programming languages , 1991, Prentice Hall International Series in Computer Science.

[55]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[56]  A. Yonezawa,et al.  An introduction to object-based reflective concurrent computation , 1988, OOPSLA/ECOOP '88.

[57]  Satoshi Matsuoka,et al.  Analysis of inheritance anomaly in object-oriented concurrent programming languages , 1993 .

[58]  Chris Smith,et al.  An Object Oriented Interpretation of LOTOS , 1989, FORTE.

[59]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[60]  José Meseguer,et al.  Solving the Inheritance Anomaly in Concurrent Object-Oriented Programming , 1993, ECOOP.