Modeling the semantics of smalltalk-80 with Petri nets

  • Authors:
  • D. N. Christodoulakis

  • Affiliations:
  • Univ. of Patras, Patras, Greece

  • Venue:
  • OOPSLA/ECOOP '88 Proceedings of the 1988 ACM SIGPLAN workshop on Object-based concurrent programming
  • Year:
  • 1988

Quantified Score

Hi-index 0.00

Visualization

Abstract

Over the last ten years, as the use of concurrent programming languages increased with a corresponding increase in the effort spent for building parallel machines, the importance of Petri nets grow. During this period Petri nets have been widely used for the specification, design and verification of nonsequential systems, and lots of effort has been spent for the development of software tools supporting Petri nets. Examples include the GRASPIN software engineering environment which supports Petri nets for graphical representation and formal specification of nonsequential systems [5], different net editors, etc.Since about one year we have started to use Petri nets in order to describe the semantics of object oriented languages (O-O for short), and in particular as a semantic model of the most representative O-O language, namely Smalltalk-80 [1]. Recent attempts towards possible extensions of Smalltalk-80 with concurrency have shown that semantic models of Smalltalk-80 like the above presented here, are not only useful for compiler writers, but their aid also towards identification and control of concurrency in the existing Smalltalk-80 systems; to specify possible computational models for a "concurrent" Smalltalk-80; and to indicate a possible semantic model for O-O distributed databases. Finally, since Petri nets provide the necessary theory for verification purposes, such a semantic model can be utilised for the verification of Smalltalk-80 programs as well.Main objective of this paper is to give an outline of the semantic function, described in next section. Subsequentialy, we discuss very short how the semantic function can be used for concurrency identiffication and control, and program verification.For the ongoing discussion we suppose that the reader is familiar with basic notions from Petri net theory [2, 3, 4].