The Rewriting Logic Semantics Project: A Progress Report

Rewriting logic is an executable logical framework well suited for the semantic definition of languages. Any such framework has to be judged by its effectiveness to bridge the existing gap between language definitions on the one hand, and language implementations and language analysis tools on the other. We give a progress report on how researchers in the rewriting logic semantics project are narrowing the gap between theory and practice in areas such as: modular semantic definitions of languages; scalability to real languages; support for real time; semantics of software and hardware modeling languages; and semantics-based analysis tools such as static analyzers, model checkers, and program provers.

[1]  José Meseguer,et al.  Partial Order Reduction for Rewriting Semantics of Programming Languages , 2007, WRLA.

[2]  José Alberto Verdejo López Maude como marco semántico ejecutable , 2011 .

[3]  Nikil D. Dutt,et al.  A Probabilistic Formal Analysis Approach to Cross Layer Optimization in Distributed Embedded Systems , 2007, FMOODS.

[4]  Edward A. Lee Modeling concurrent real-time processes using discrete events , 1999, Ann. Softw. Eng..

[5]  José Meseguer,et al.  Directed-Logical Testing for Functional Verification of Microprocessors , 2008, 2008 6th ACM/IEEE International Conference on Formal Methods and Models for Co-Design.

[6]  José Meseguer,et al.  Probabilistic Modeling and Analysis of DoS Protection for the ASV Protocol , 2009, Electron. Notes Theor. Comput. Sci..

[7]  William M. Waite,et al.  An efficient machine-independent procedure for garbage collection in various list structures , 1967, CACM.

[8]  Peter Csaba Ölveczky,et al.  Formalization and Correctness of the PALS Architectural Pattern for Distributed Real-Time Systems , 2010, ICFEM.

[9]  Kenneth Slonneger,et al.  Formal syntax and semantics of programming languages , 1994 .

[10]  Chucky Ellison,et al.  An executable formal semantics of C with applications , 2011, POPL '12.

[11]  Gunter Saake,et al.  Integrating and Rapid-Prototyping UML Structural and Behavioural Diagrams Using Rewriting Logic , 2002, CAiSE.

[12]  Grigore Rosu,et al.  Certifying Optimality of State Estimation Programs , 2003, CAV.

[13]  Alexander Knapp,et al.  A formal approach to object-oriented software engineering , 2001, Softwaretechnik-Trends.

[14]  José Meseguer,et al.  The Rewriting Logic Semantics Project , 2006, SOS@ICALP.

[15]  Shin Nakajima,et al.  An Object-Oriented Modeling Method for Algebraic Specifications in CafeOBJ , 1997, Proceedings of the (19th) International Conference on Software Engineering.

[16]  Thomas W. Reps,et al.  Automated Verification of the Deutsch-Schorr-Waite Tree-Traversal Algorithm , 2006, SAS.

[17]  Dominique Clément,et al.  Natural semantics on the computer , 1984 .

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

[19]  Peter Csaba Ölveczky,et al.  Verifying hierarchical Ptolemy II discrete-event models using Real-Time Maude , 2012, Sci. Comput. Program..

[20]  Peter D. Mosses,et al.  Denotational semantics , 1995, LICS 1995.

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

[22]  Grigore Rosu,et al.  KRAM--Extended Report , 2010 .

[23]  Peter Csaba Ölveczky,et al.  Semantics and pragmatics of Real-Time Maude , 2007, High. Order Symb. Comput..

[24]  David A. Schmidt,et al.  Denotationaisemantics: a methodology for language development , 1986 .

[25]  Grigore Rosu,et al.  Checking reachability using matching logic , 2012, OOPSLA '12.

[26]  Jayadev Misra,et al.  Computation Orchestration , 2007, Software & Systems Modeling.

[27]  José Meseguer,et al.  Membership algebra as a logical framework for equational specification , 1997, WADT.

[28]  Benjamin C. Pierce,et al.  Types and programming languages: the next generation , 2003, 18th Annual IEEE Symposium of Logic in Computer Science, 2003. Proceedings..

[29]  Chucky Ellison,et al.  A Formal Semantics of C with Applications: Technical Report , 2011 .

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

[31]  Grigore Rosu,et al.  An overview of the K semantic framework , 2010, J. Log. Algebraic Methods Program..

[32]  Marcelo d'Amorim,et al.  An Equational Specification for the Scheme Language , 2005, J. Univers. Comput. Sci..

[33]  J. Meseguer,et al.  Rewriting Logic as a Logical and Semantic Framework , 1996 .

[34]  José Meseguer,et al.  A Rewriting Semantics for ABEL with Applications to Hardware/Software Co-Design and Analysis , 2006, WRLA.

[35]  Lui Sha,et al.  Implementing logical synchrony in integrated modular avionics , 2009, 2009 IEEE/AIAA 28th Digital Avionics Systems Conference.

[36]  Matthias Felleisen,et al.  Control operators, the SECD-machine, and the λ-calculus , 1987, Formal Description of Programming Concepts.

[37]  Peter Csaba Ölveczky,et al.  Verifying Ptolemy II Discrete-Event Models Using Real-Time Maude , 2009, ICFEM.

[38]  Furio Honsell,et al.  A framework for defining logics , 1993, JACM.

[39]  Einar Broch Johnsen,et al.  Lightweight Time Modeling in Timed Creol , 2010, RTRTS.

[40]  Mohamed Tahar Kimour,et al.  A Tool for Specifying and Validating Agents' Interaction Protocols: From Agent UML to Maude , 2010, J. Object Technol..

[41]  Mourad Badri,et al.  Verifying UML Diagrams with Model Checking: A Rewriting Logic Based Approach , 2007 .

[42]  Peter D. Mosses Unified Algebras and Action Semantics , 1989, STACS.

[43]  Yuri Gurevich,et al.  Evolving algebras 1993: Lipari guide , 1995, Specification and validation methods.

[44]  José Meseguer,et al.  A formal executable semantics of Verilog , 2010, Eighth ACM/IEEE International Conference on Formal Methods and Models for Codesign (MEMOCODE 2010).

[45]  Arturo Boronat Moll A formal framework for model management , 2011 .

[46]  Joseph A. Goguen,et al.  Algebraic Denotational Semantics Using Parameterized Abstract Modules , 1981, ICFPC.

[47]  José Meseguer,et al.  Mapping Modular SOS to Rewriting Logic , 2002, LOPSTR.

[48]  José Meseguer,et al.  A meta-language for functional verification , 2011 .

[49]  Peter Csaba Ölveczky,et al.  Synchronous AADL and Its Formal Analysis in Real-Time Maude , 2011, ICFEM.

[50]  Patrick Viry,et al.  Equational rules for rewriting logic , 2002, Theor. Comput. Sci..

[51]  Claude Marché,et al.  A case study of C source code verification: the Schorr-Waite algorithm , 2005, Third IEEE International Conference on Software Engineering and Formal Methods (SEFM'05).

[52]  José Meseguer,et al.  A rewriting logic approach to operational semantics , 2009, Inf. Comput..

[53]  José Luis Fernández Alemán,et al.  Can intuition become rigorous? Foundations for UML model verification tools , 2000, Proceedings 11th International Symposium on Software Reliability Engineering. ISSRE 2000.

[54]  Peter Csaba Ölveczky,et al.  Specification of real-time and hybrid systems in rewriting logic , 2002, Theor. Comput. Sci..

[55]  Peter Csaba Ölveczky,et al.  Extending the Real-Time Maude Semantics of Ptolemy to Hierarchical DE Models , 2010, RTRTS.

[56]  Grigore Rosu,et al.  A rewriting approach to concurrent programming language design and semantics , 2010 .

[57]  Nikolaos Papaspyrou,et al.  A Formal Semantics for the C Programming Language , 2000 .

[58]  José Meseguer,et al.  Static and Dynamic Formal Analysis of Concurrent Systems and Languages: A Semantics-Based Approach , 2007 .

[59]  Reiko Heckel,et al.  Rewriting Logic Semantics and Verification of Model Transformations , 2009, FASE.

[60]  Alberto Verdejo,et al.  Executable structural operational semantics in Maude , 2006, J. Log. Algebraic Methods Program..

[61]  Alberto Verdejo,et al.  Two Case Studies of Semantics Execution in Maude: CCS and LOTOS , 2005, Formal Methods Syst. Des..

[62]  José Meseguer,et al.  Rewriting Logic Semantics: From Language Specifications to Formal Analysis Tools , 2004, IJCAR.

[63]  José Meseguer,et al.  Rewriting Logic as a Semantic Framework for Concurrency: a Progress Report , 1996, CONCUR.

[64]  Shin Nakajima,et al.  Using Algebraic Specification Techniques in Development of Object-Oriented Frameworks , 1999, World Congress on Formal Methods.

[65]  Nikolaos S. Papaspyrou Denotational semantics of ANSI C , 2001, Comput. Stand. Interfaces.

[66]  Roberto Bruni,et al.  Semantic foundations for generalized rewrite theories , 2006, Theor. Comput. Sci..

[67]  Xavier Leroy,et al.  Mechanized Semantics for the Clight Subset of the C Language , 2009, Journal of Automated Reasoning.

[68]  Matthias Felleisen,et al.  A Syntactic Approach to Type Soundness , 1994, Inf. Comput..

[69]  Artur Boronat,et al.  Automatic reengineering in MDA using rewriting logic as transformation engine , 2005, Ninth European Conference on Software Maintenance and Reengineering.

[70]  María Alpuente,et al.  Abstract Certification of Global Non-Interference in Rewriting Logic , 2009, FMCO.

[71]  Grigore Rosu,et al.  Towards a Unified Theory of Operational and Axiomatic Semantics , 2012, ICALP.

[72]  Narciso Martí-Oliet,et al.  All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic , 2007, All About Maude.

[73]  Grigore Rosu,et al.  From Hoare Logic to Matching Logic Reachability , 2012, FM.

[74]  Michael Norrish C formalised in HOL , 1998 .

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

[76]  Charles McEwen Ellison,et al.  A formal semantics of C with applications , 2012 .

[77]  José Meseguer,et al.  Modular Rewriting Semantics of Programming Languages , 2004, AMAST.

[78]  Alexander Knapp Generating Rewrite Theories from UML Collaborations , 2000 .

[79]  Chucky Ellison,et al.  Matching Logic: An Alternative to Hoare/Floyd Logic , 2010, AMAST.

[80]  Joseph A. Goguen,et al.  Algebraic semantics of imperative programs , 1996, Foundations of computing series.

[81]  Grigore Rosu,et al.  A K Definition of Scheme , 2007 .

[82]  Yuri Gurevich,et al.  The Semantics of the C Programming Language , 1992, CSL.

[83]  José Meseguer,et al.  Reduction Semantics and Formal Analysis of Orc Programs , 2008, Electron. Notes Theor. Comput. Sci..

[84]  Ralf Sasse,et al.  Automatic Validation of Transformation Rules for Java Verification Against a Rewriting Semantics , 2005, LPAR.

[85]  S TraianFlorin A Rewriting Logic Approach to Operational Semantics , 2010 .

[86]  Grigore Rosu,et al.  Pluggable Policies for C , 2008 .

[87]  Egon Börger,et al.  Java and the Java Virtual Machine: Definition, Verification, Validation , 2001 .

[88]  Artur Boronat,et al.  Algebraic Semantics of OCL-Constrained Metamodel Specifications , 2009, TOOLS.

[89]  José Meseguer,et al.  Redesign of the LMST Wireless Sensor Protocol through Formal Modeling and Statistical Model Checking , 2008, FMOODS.

[90]  Antonio Vallecillo,et al.  On the Behavioral Semantics of Real-Time Domain Specific Visual Languages , 2010, WRLA.

[91]  Carolyn L. Talcott,et al.  Plan in Maude: Specifying an Active Network Programming Language , 2004, WRLA.

[92]  Peter Csaba Ölveczky,et al.  Formal Real-Time Model Transformations in MOMENT2 , 2010, FASE.

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

[94]  Philip Wadler,et al.  The essence of functional programming , 1992, POPL '92.

[95]  Carolyn L. Talcott,et al.  Practical Techniques for Language Design and Prototyping , 2005, Foundations of Global Computing.

[96]  Frank Pfenning,et al.  Higher-order abstract syntax , 1988, PLDI '88.

[97]  Prof. Dr. Robert F. Stärk,et al.  Java and the Java Virtual Machine , 2001, Springer Berlin Heidelberg.

[98]  José Meseguer,et al.  Java+ITP: A Verification Tool Based on Hoare Logic and Algebraic Semantics , 2006, WRLA.

[99]  Artur Boronat,et al.  MOMENT2: EMF Model Transformations in Maude , 2009, JISBD.

[100]  Grigore Rosu CS322 Fall 2003: Programming Language Design -Lecture Notes- , 2003 .

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

[102]  José Meseguer,et al.  Concurrent Rewriting Semantics and Analysis of Asynchronous Digital Circuits , 2010, WRLA.

[103]  Peter Csaba Ölveczky,et al.  Formal Semantics and Analysis of Behavioral AADL Models in Real-Time Maude , 2010, FMOODS/FORTE.

[104]  Ralf Sasse Taclets vs. Rewriting Logic - Relating Semantics of Java , 2005 .

[105]  José Meseguer,et al.  PMaude: Rewrite-based Specification Language for Probabilistic Object Systems , 2006, QAPL.

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

[107]  Santiago Escobar,et al.  Approximating Non-interference and Erasure in Rewriting Logic , 2010, 2010 12th International Symposium on Symbolic and Numeric Algorithms for Scientific Computing.

[108]  Koushik Sen,et al.  An Executable Specification of Asynchronous Pi-Calculus Semantics and May Testing in Maude 2.0 , 2002, Electron. Notes Theor. Comput. Sci..

[109]  José Meseguer,et al.  Algebraic Semantics of the C Preprocessor and Correctness of its Refactorings , 2006 .

[110]  Mourad Badri,et al.  Generating Maude Specifications From UML Use Case Diagrams , 2009, J. Object Technol..

[111]  Fabricio Chalub,et al.  A Modular Rewriting Semantics for CML , 2004, J. Univers. Comput. Sci..

[112]  Christopher Strachey,et al.  Toward a mathematical semantics for computer languages , 1971 .

[113]  Panagiotis Manolios,et al.  Computer-aided reasoning : ACL2 case studies , 2000 .

[114]  Jayadev Misra,et al.  A timed semantics of Orc , 2008, Theor. Comput. Sci..

[115]  Mitchell Wand,et al.  First-order identities as a defining language , 1980, Acta Informatica.

[116]  José Meseguer,et al.  A Rewriting Logic Sampler , 2005, ICTAC.

[117]  J. Meseguer,et al.  Security Policies and Security Models , 1982, 1982 IEEE Symposium on Security and Privacy.

[118]  Manfred Broy,et al.  On the algebraic definition of programming languages , 1987, TOPL.

[119]  Chucky Ellison,et al.  A Rewriting Logic Approach to Type Inference , 2009, WADT.

[120]  Einar Broch Johnsen,et al.  A Run-Time Environment for Concurrent Objects With Asynchronous Method Calls , 2005, WRLA.

[121]  Dana S. Scott,et al.  Outline of a Mathematical Theory of Computation , 1970 .

[122]  Hiroshi Inamura,et al.  Formal Specification and Analysis of Timing Properties in Software Systems , 2009, FASE.

[123]  José Meseguer,et al.  PVeStA: A Parallel Statistical Model Checking and Quantitative Analysis Tool , 2011, CALCO.

[124]  Arie van Deursen,et al.  Language Prototyping: An Algebraic Specification Approach , 1996, AMAST Series in Computing.

[125]  Grigore Rosu,et al.  Rule-Based Analysis of Dimensional Safety , 2003, RTA.

[126]  Grigore Rosu,et al.  Matching logic: a new program verification approach (NIER track) , 2011, 2011 33rd International Conference on Software Engineering (ICSE).

[127]  José Meseguer,et al.  Formal JVM Code Analysis in JavaFAN , 2004, AMAST.

[128]  José Meseguer,et al.  Dist-Orc: A Rewriting-based Distributed Implementation of Orc with Formal Analysis , 2010, RTRTS.

[129]  Reiko Heckel,et al.  Algebraic Approaches to Graph Transformation - Part I: Basic Concepts and Double Pushout Approach , 1997, Handbook of Graph Grammars.

[130]  Paul Hudak,et al.  Monad transformers and modular interpreters , 1995, POPL '95.

[131]  José Meseguer,et al.  Stable Availability under Denial of Service Attacks through Formal Patterns , 2012, FASE.

[132]  Manuel Clavel,et al.  ITP/OCL: A Rewriting-Based Validation Tool for UML+OCL Static Class Diagrams , 2006, AMAST.

[133]  José Meseguer,et al.  Real-time rewriting semantics of orc , 2007, PPDP '07.

[134]  Edward A. Lee,et al.  Taming heterogeneity - the Ptolemy approach , 2003, Proc. IEEE.

[135]  Mitchell Wand,et al.  Essentials of programming languages , 2008 .

[136]  Kenneth Slonneger,et al.  Formal syntax and semantics of programming languages - a laboratory based approach , 1995 .

[137]  Artur Boronat,et al.  An algebraic semantics for MOF , 2009, Formal Aspects of Computing.

[138]  Mitchell Wand,et al.  Essentials of programming languages (2nd ed.) , 2001 .

[139]  José Meseguer,et al.  Modular Rewriting Semantics in Practice , 2004, WRLA.

[140]  Dale Miller,et al.  Representing and Reasoning with Operational Semantics , 2006, IJCAR.

[141]  José Meseguer,et al.  vlogsl: A Strategy Language for Simulation-Based Verification of Hardware , 2010, Haifa Verification Conference.

[142]  Gordon D. Plotkin,et al.  The origins of structural operational semantics , 2004, J. Log. Algebraic Methods Program..

[143]  Alberto Verdejo,et al.  Implementing CCS in Maude 2 , 2002, Electron. Notes Theor. Comput. Sci..