Programming language syntax and semantics
Programming language syntax and semantics
Action semantics
Composing programming languages by combining action-semantics modules
Science of Computer Programming - Special issue: Language descriptions, tools and applications (LDTA'01)
Science of Computer Programming - The fourth workshop on language descriptions, tools, and applications (LDTA'04)
Electronic Notes in Theoretical Computer Science (ENTCS)
Proceedings of the 8th international workshop on Specification and verification of component-based systems
An implementation of object-oriented action semantics in Maude
Semantics and algebraic specification
Hi-index | 0.00 |
Object-Oriented Action Semantics (OOAS) incorporates object-oriented concepts to the Action Semantics formalism. Its main goal is to obtain more readable and reusable semantics specifications. Moreover, it supports syntax-independent specifications, due to the way classes are written. Maude Object-Oriented Action Tool (MOOAT) is an executable environment for Object-Oriented Action Semantics implemented as a conservative extension of Full Maude and Maude MSOS Tool (MMT). The Modular SOS of Action Notation has been implemented using MMT transitions and Full Maude has been used to implement the Classes Notation. The syntax created by MOOAT is fairly similar to the original Object-Oriented Action Semantics syntax. In addition to it, the tool combines the modularity aspects observed in the object-oriented approach with the efficient execution and analysis of the Maude system. We use MOOAT to describe syntax-independent specifications of programming languages. In this way, we show how Constructive Object-Oriented Action Semantics (COOAS) may be achieved as a combination between Object-Oriented Action Semantics and Constructive Action Semantics (CAS) using MOOAT, in order to increase the modularity aspects observed in the object-oriented formalism. This paper reports on the development of Maude Object-Oriented Action Tool and its application to the formal specification of programming languages.