Denotational semantics of a parallel object-oriented language
The paper presents a formal semantics for the parallel object-oriented programming language POOL. POOL describes a system as a collection of communicating objects which are executed in parallel. The formal semantics of POOL programs is defined using a denotational framework based on a category of complete metric spaces. The semantics of language constructs is defined in a compositional way including such critical points like object creation and method invocation using messages. The semantics of an entire program is represented by a process allowing to deal with fairness properties. The introduction gives an overview of the basic concepts of the POOL language. The basic ideas of the denotational semantics definition are sketched and related to other approaches. The second section presents the basic definitions and properties of the formal framework used for the denotational semantics. After introducing the basic concepts of complete metric spaces, solutions of reflexive domain equations in complete metric spaces are discussed. The category of complete metric spaces is defined building the base for the denotational semantics. The language POOL is described in the third section in detail. A pool program is a collection of objects being dynamic entities containing state information (stored in variables) and methods. Objects can be created dynamically and interact by sending messages. An object collection is regarded as a collection of communicating parallel processes. Section 4 is the main part of the paper presenting the denotational semantics of POOL programs in a compositional way. The semantic construction is based on a domain P of processes. The semantics of POOL expressions and statements is defined using environments, objects, and continuations. The environment contains the meanings of classes and methods, whereas the object domain stands for the set of object names (which may change due to object creations). The continuation given as an argument of semantic functions describes what will happen after the execution of the current expression or statement. Standard processes model the basic objects of type integer and Boolean. The semantics of a POOL unit (a collection of object class definitions) is given by a process resulting from a fixed point construction starting with creation of one initial object. The fifth section discusses the notion of fairness as a property of objects and composed processes in the used semantical framework. An object evolution (called path) is characterized as unfair if a desired action (a computation step or a communication) of this object is never executed although there are infinitely many moments this action is enabled. The paper ends with a conclusion section and an appendix presenting the central fixed point construction for the parallel composition operator. Defining the formal semantics of (parallel) object-oriented languages is an important task even if there are only a few successful attempts until now. The paper by America et al. presents a global semantics for description of collections of independent communicating objects. The chosen language offers powerful constructs like dynamic object creation and flexible object communication. The concept of object has no direct counterpart in the semantic domain used for the denotational semantics which may be an interesting task for future considerations. The presented approach is clearly a major step towards formal frameworks for (parallel) object-oriented programming language semantics.
- Designing equivalent semantic models for process creation
- scientific article; zbMATH DE number 3821076 (Why is no real title available?)
- scientific article; zbMATH DE number 3980464 (Why is no real title available?)
- scientific article; zbMATH DE number 4085874 (Why is no real title available?)
- scientific article; zbMATH DE number 3706504 (Why is no real title available?)
- scientific article; zbMATH DE number 3716749 (Why is no real title available?)
- scientific article; zbMATH DE number 3581219 (Why is no real title available?)
- scientific article; zbMATH DE number 3640837 (Why is no real title available?)
- scientific article; zbMATH DE number 3232606 (Why is no real title available?)
- scientific article; zbMATH DE number 3367095 (Why is no real title available?)
- Process algebra for synchronous communication
- Processes and the denotational semantics of concurrency
- Semantic Correctness for a Parallel Object-Oriented Language
- Denotational semantics of a para-functional programming language
- Designing equivalent semantic models for process creation
- Metric semantics for concurrency
- Denotational semantics of object specification
- Four domains for concurrency
- A layered semantics for a parallel object-oriented language
- Partial confluence of processes and systems of objects
- Rendez-vous with metric semantics
- The comparison of a cpo-based semantics with a cms-based semantics for \(CSP\)
- Reasoning about dynamically evolving process structures
- Categorical semantics of parallel program design
- The connection between initial and unique solutions of domain equations in the partial order and metric approach
- A hidden agenda
- Denotational semantics of membrane systems by using complete metric spaces
- An algebraic semantic framework for object oriented languages with concurrency. (Extended abstract)
- Recursively defined metric spaces without contraction
- Semantic Correctness for a Parallel Object-Oriented Language
- scientific article; zbMATH DE number 52915 (Why is no real title available?)
- scientific article; zbMATH DE number 1096856 (Why is no real title available?)
- scientific article; zbMATH DE number 1490006 (Why is no real title available?)
- A paradigmatic object-oriented programming language: Design, static typing and semantics
- From \(\pi \)-calculus to higher-order \(\pi \)-calculus -- and back
- -calculus semantics of object-oriented programming languages
- scientific article; zbMATH DE number 2230607 (Why is no real title available?)
- Three metric domains of processes for bisimulation
- Topological models for higher order control flow
- An introduction to metric semantics: Operational and denotational models for programming and specification languages
- A fixed-point theorem in a category of compact metric spaces
- Solving reflexive domain equations in a category of complete metric spaces
- An operational semantics for paragon: A design notation for parallel architectures
- Comparative semantics for flow of control in logic programming without logic
- Issues in the design of a parallel object-oriented language
This page was built for publication: Denotational semantics of a parallel object-oriented language
Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q910250)