A rewriting approach to the design and evolution of object-oriented languages

Rewriting logic semantics provides an environment for defining new and existing languages. These language definitions are formal and executable, providing language interpreters almost for free while also providing a framework for building analysis tools, such as type checkers, model checkers, and abstract interpreters. Large subsets of several existing object-oriented languages have been defined, while a new research language, KOOL, has been created as a platform for experimenting with language features and type systems. At the same time, new tools and formalisms aimed specifically at programming languages are being developed.

[1]  Robert Hieb,et al.  The Revised Report on the Syntactic Theories of Sequential Control and State , 1992, Theor. Comput. Sci..

[2]  José Meseguer,et al.  The Rewriting Logic Semantics Project , 2006, Electron. Notes Theor. Comput. Sci..

[3]  Wuu Yang,et al.  Traps in Java , 2004, J. Syst. Softw..

[4]  Narciso Martí-Oliet,et al.  The Maude 2.0 System , 2003, RTA.

[5]  Grigore Rosu,et al.  An Executable Semantic Definition of the Beta Language using Rewriting Logic , 2005 .

[6]  Grigore Roşu,et al.  K : a Rewrite Logic Framework for Language Design , Semantics , Analysis and Implementation CS 422 Lecture Notes for Homework 6 , 2005 .

[7]  Grigore Rosu,et al.  On Formal Analysis of OO Languages Using Rewriting Logic: Designing for Performance , 2007, FMOODS.

[8]  Peter D. Mosses,et al.  Modular structural operational semantics , 2004, J. Log. Algebraic Methods Program..

[9]  Guy L. Steele,et al.  The Java Language Specification , 1996 .

[10]  Gordon D. Plotkin,et al.  A structural approach to operational semantics , 2004, J. Log. Algebraic Methods Program..

[11]  Peter D. Mosses The Varieties of Programming Language Semantics , 2000, IFIP TCS.

[12]  José Meseguer,et al.  Rewriting logic: roadmap and bibliography , 2002, Theor. Comput. Sci..

[13]  Grigore Rosu,et al.  KOOL: A K-based Object-Oriented Language , 2006 .

[14]  Narciso Martí-Oliet,et al.  Maude: specification and programming in rewriting logic , 2002, Theor. Comput. Sci..

[15]  Gilad Bracha Pluggable Type Systems , 2004 .

[16]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[17]  Grigore Rosu,et al.  A Rewrite Framework for Language Definitions and for Generation of Efficient Interpreters , 2006, WRLA.

[18]  Grigore Rosu,et al.  A Rewrite Logic Approach to Semantic Definition, Design and Analysis of Object-Oriented Languages , 2006 .

[19]  Gilles Kahn,et al.  Natural Semantics , 1987, STACS.

[20]  José Meseguer,et al.  Conditioned Rewriting Logic as a United Model of Concurrency , 1992, Theor. Comput. Sci..

[21]  Ole Lehrmann Madsen,et al.  Object-oriented programming in the BETA programming language , 1993 .

[22]  Grigore Rosu,et al.  KOOL: An Application of Rewriting Logic to Language Prototyping and Analysis , 2007, RTA.

[23]  Patrick Borras,et al.  Centaur: the system , 1988, Software Development Environments.

[24]  Martin Odersky,et al.  Making the future safe for the past: adding genericity to the Java programming language , 1998, OOPSLA '98.

[25]  José Meseguer,et al.  Formal Analysis of Java Programs in JavaFAN , 2004, CAV.

[26]  Paul Klint,et al.  Compiling language definitions: the ASF+SDF compiler , 2000, TOPL.