ABSTRACT
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.
- G. Bracha. Pluggable type systems. Revival of Dynamic Languages workshop at OOPSLA 2004, October 2004.Google Scholar
- F. Chen, M. Hills, and G. Rosu. A Rewrite Logic Approach to Semantic Definition, Design and Analysis of Object-Oriented Languages. Technical Report UIUCDCS-R-2006-2702, University of Illinois at Urbana-Champaign, 2006.Google Scholar
- M. Clavel, F. Duran, S. Eker, P. Lincoln, N. Marti-Oliet, J. Meseguer, and J. Quesada. Maude: specification and programming in rewriting logic. Theoretical Computer Science, 285:187--243, 2002. Google ScholarDigital Library
- A. Farzan, F. Chen, J. Meseguer, and G. Rosu. Formal Analysis of Java Programs in JavaFAN. In Proceedings of CAV'04, volume 3114 of LNCS, pages 501--505. Springer, 2004.Google Scholar
- A. Goldberg and D. Robson. Smalltalk-80: the language and its implementation. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA, 1983. Google ScholarDigital Library
- J. Gosling, B. Joy, and G. Steele. The Java Language Definition. Addison-Wesley, 1996. Google ScholarDigital Library
- M. Hills, T. B. Aktemur, and G. Rosu. An Executable Semantic Definition of the Beta Language using Rewriting Logic. Technical Report UIUCDCS-R-2005-2650, University of Illinois at Urbana-Champaign, 2005.Google Scholar
- M. Hills, T. F. Serbanuta, and G. Rosu. A rewrite framework for language definitions and for generation of efficient interpreters. In Proceedings of WRLA'06, ENTCS. Elsevier, 2007. To appear. Google ScholarDigital Library
- M. Hills and G. Rosu. KOOL: An Application of Rewriting Logic to Language Prototyping and Analysis. In Proceedings of RTA'07, volume 4533 of LNCS, pages 246--256. Springer, 2007. Google ScholarDigital Library
- M. Hills and G. Rosu. On Formal Analysis of OO Languages using Rewriting Logic: Designing for Performance. In Proceedings of FMOODS'07, volume 4468 of LNCS, pages 107--121. Springer, 2007. Google ScholarDigital Library
- O. L. Madsen, B. Moller-Pedersen, and K. Nygaard. Object-Oriented Programming in the BETA Programming Language. Addison-Wesley, 1993. Google ScholarDigital Library
- J. Meseguer. Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science, 96(1):73--155, 1992. Google ScholarDigital Library
- J. Meseguer and G. Rosu. The rewriting logic semantics project. Theoretical Computer Science, 373(3):213--237, 2007. Google ScholarDigital Library
- P. D. Mosses. The varieties of programming language semantics. In D. Bjorner, M. Broy, and A. V. Zamulin, editors, Ershov Memorial Conference, volume 2244 of LNCS, pages 165--190. Springer, 2001. Google ScholarDigital Library
- G. Rosu. K: a Rewrite Logic Framework for Language Design, Semantics, Analysis and Implementation. Technical Report UIUCDCS-R-2006-2802, University of Illinois at Urbana-Champaign, 2006.Google Scholar
Index Terms
- A rewriting approach to the design and evolution of object-oriented languages
Recommendations
Real-time rewriting semantics of orc
PPDP '07: Proceedings of the 9th ACM SIGPLAN international conference on Principles and practice of declarative programmingOrc is a language proposed by Jayadev Misra [19] for orchestration of distributed services. Orc is very simple and elegant, based on a few basic constructs, and allows succinct and understandable programming of sophisticated applications. However, ...
On formal analysis of OO languages using rewriting logic: designing for performance
FMOODS'07: Proceedings of the 9th IFIP WG 6.1 international conference on Formal methods for open object-based distributed systemsRewriting logic provides a powerful, flexible mechanism for language definition and analysis. This flexibility in design can lead to problems during analysis, as different designs for the same language feature can cause drastic differences in analysis ...
Comments on "Language Design for Program Manipulation"
The paper by E.A.T. Merks et al. "Language design for program manipulation" identifies design principles for a procedural or object-oriented language whose programs will be easier to manipulate. However, it neglects to relate these design principles to ...
Comments