Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

A Rewriting Logic Approach to Operational Semantics (Extended Abstract)

Published: 01 October 2007 Publication History

Abstract

This paper shows how rewriting logic semantics (RLS) can be used as a computational logic framework for operational semantic definitions of programming languages. Several operational semantics styles are addressed: big-step and small-step structural operational semantics (SOS), modular SOS, reduction semantics with evaluation contexts, and continuation-based semantics. Each of these language definitional styles can be faithfully captured as an RLS theory, in the sense that there is a one-to-one correspondence between computational steps in the original language definition and computational steps in the corresponding RLS theory. A major goal of this paper is to show that RLS does not force or pre-impose any given language definitional style, and that its flexibility and ease of use makes RLS an appealing framework for exploring new definitional styles.

References

[1]
Abadi, M., Cardelli, L., Curien, P.-L. and Lévy, J.-J., Explicit Substitutions. In: Proc. POPL'90, pp. 31-46.
[2]
Benaissa, Z.-E.-A., Briaud, D., Lescanne, P. and Rouyer-Degli, J., lambda-nu, a calculus of explicit substitutions which preserves strong normalisation. J. Funct. Program. v6. 699-722.
[3]
Berry, G. and Boudol, G., The chemical abstract machine. Theoretical Computer Science. v96. 217-248.
[4]
Borovanský, P., H. Cirstea, H. Dubois, C. Kirchner, H. Kirchner, P.-E. Moreau, C. Ringeissen and M. Vittek, “ELAN V 3.4 User Manual,” LORIA, Nancy (France), fourth edition (2000)
[5]
Borras, P., Clément, D., Despeyroux, T., Incerpi, J., Kahn, G., Lang, B. and Pascual, V., Centaur: The system. In: Software Development Environments (SDE), pp. 14-24.
[6]
Chalub, F. and C. Braga, Maude MSOS tool, in: G. Denker and C. Talcott, editors, 6th International Workshop on Rewriting Logic and its Applications (WRLA'06), ENTCS (to appear)
[7]
Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J. and Quesada, J.F., Maude: specification and programming in rewriting logic. Theor. Comput. Sci. v285. 187-243.
[8]
Clément, D., J. Despeyroux, L. Hascoet and G. Kahn, Natural semantics on the computer, in: K. Fuchi and M. Nivat, editors, Proceedings, France-Japan AI and CS Symposium, ICOT, 1986, 49--89, also, Information Processing Society of Japan, Technical Memorandum PL-86-6
[9]
Danvy, O. and L.R. Nielsen, Refocusing in reduction semantics, Technical Report BRICS RS-04-26, University of Aarhus (2004)
[10]
Diaconescu, R. and Futatsugi, K., CafeOBJ Report. The Language, Proof Techniques, and Methodologies for Object-Oriented Algebraic Specification. In: AMAST Series in Computing, 6. World Scientific.
[11]
Farzan, A., Cheng, F., Meseguer, J. and Roşu, G., Formal analysis of Java programs in JavaFAN. In: LNCS, Springer.
[12]
Felleisen, M. and D.P. Friedman, Control operators, the secd-machine, and the lambda-calculus, in: 3rd Working Conference on the Formal Description of Programming Concepts, Ebberup, Denmark, 1986, 193--219
[13]
Friedman, D.P., Wand, M. and Haynes, C.T., Essentials of Programming Languages. 2001. 2nd edition. The MIT Press, Cambridge, MA.
[14]
Gadducci, F. and Montanari, U., The tile model. In: Plotkin, G., Stirling, C., Tofte, M. (Eds.), Proof, Language and Interaction: Essays in Honour of Robin Milner, MIT.
[15]
Gadducci, F. and Montanari, U., Comparing logics for rewriting: Rewriting logic, action calculi and tile logic. Theoret. Comput. Sci. v285. 319-358.
[16]
Goguen, J., Winkler, T., Meseguer, J., Futatsugi, K. and Jouannaud, J.-P., Introducing OBJ. In: Goguen, J. (Ed.), Applications of Algebraic Specification using OBJ,
[17]
Goguen, J.A. and Malcolm, G., Algebraic Semantics of Imperative Programs. 1996. MIT Press.
[18]
Gurevich, Y., Evolving algebras 1993: Lipari Guide. In: Börger, E. (Ed.), Specification and Validation Methods, Oxford University Press. pp. 9-37.
[19]
Kahn, G., Natural semantics. In: Brandenburg, F.-J., Vidal-Naquet, G., Wirsing, M. (Eds.), LNCS, 247. pp. 22-39.
[20]
Kaufmann, M., Manolios, P. and Moore, J.S., Computer-Aided Reasoning: ACL2 Case Studies. 2000. Kluwer Academic Press.
[21]
Martí-Oliet, N. and Meseguer, J., Rewriting logic as a logical and semantic framework. In: Gabbay, D., Guenthner, F. (Eds.), Handbook of Philosophical Logic, 2nd. Edition, Kluwer Academic Publishers. pp. 1-87.
[22]
Meseguer, J., Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science. v96. 73-155.
[23]
Meseguer, J. and Braga, C., Modular rewriting semantics of programming languages. In: LNCS, 3116. Springer. pp. 364-378.
[24]
Meseguer, J. and Montanari, U., Mapping tile logic into rewriting logic. In: Parisi-Presicce, F. (Ed.), LNCS, 1376. pp. 62-91.
[25]
Meseguer, J. and G. Roşu, The rewriting logic semantics project, Theoretical Computer Science to appear (2006)
[26]
Meseguer, J. and Rosu, G., Rewriting logic semantics: From language specifications to formal analysis tools. In: Basin, D.A., Rusinowitch, M. (Eds.), LNCS, 3097. pp. 1-44.
[27]
Miller, D., Representing and reasoning with operational semantics. In: Furbach, U., Shankar, N. (Eds.), LNCS, 4130. pp. 4-20.
[28]
Milner, R., Tofte, M., Harper, R. and MacQueen, D., The Definition of Standard ML (Revised). 1997. MIT Press.
[29]
Moggi, E., An abstract view of programming languages, Technical Report ECS-LFCS-90-113, Edinburgh University, Department of Computer Science (1989)
[30]
Moggi, E., Notions of computation and monads. Inf. Comput. v93. 55-92.
[31]
Mosses, P.D., Modular structural operational semantics. J. Log. Algebr. Program. v60--61. 195-228.
[32]
Nadathur, G. and Miller, D., An overview of λProlog. In: Bowen, K., Kowalski, R. (Eds.), Fifth Int. Joint Conf. and Symp. on Logic Programming, pp. 810-827.
[33]
Pierce, B., Types and Programming Languages. 2002. MIT Press.
[34]
Plotkin, G.D., A structural approach to operational semantics. J. Log. Algebr. Program. v60--61. 17-139.
[35]
Reynolds, J.C., The Discoveries of Continuations. LISP and Symbolic Computation. v6. 233-247.
[36]
Roşu, G., K: a Rewrite-based Framework for Modular Language Design, Semantics, Analysis and Implementation, Technical Report UIUCDCS-R-2005-2672, Department of Computer Science, University of Illinois at Urbana-Champaign (2005)
[37]
Scott, D., Outline of a mathematical theory of computation. In: Proceedings, Fourth Annual Princeton Conference on Information Sciences and Systems, Princeton University. pp. 169-176.
[38]
Şerbănuţă, T.F., G. Roşu and J. Meseguer, A rewriting logic approach to operational semantics, Technical Report UIUCDCS-R-2007-2820, University of Illinois, Department of COmputer Science (2007)
[39]
Stärk, R.F., Schmid, J. and Börger, E., Java and the Java Virtual Machine: Definition, Verification, Validation. 2001. Springer.
[40]
Stehr, M.-O., CINNI -- a generic calculus of explicit substitutions and its application to lambda-, sigma- and pi-calculi (2000), proc. 3rd. Intl. Workshop on Rewriting Logic and its Applications
[41]
van den Brand, M., Heering, J., Klint, P. and Olivier, P.A., Compiling language definitions: the asf+sdf compiler. ACM Trans. Program. Lang. Syst. v24. 334-368.
[42]
van Deursen, A., Heering, J. and Klint, P., Language Prototyping: An Algebraic Specification Approach. 1996. World Scientific.
[43]
Verdejo, A. and Martí-Oliet, N., Executable structural operational semantics in maude. J. Log. Algebr. Program. v67. 226-293.
[44]
Visser, E., Program transformation with Stratego/XT: Rules, strategies, tools, and systems in Stratego/XT 0.9. In: Lengauer, C., Batory, D.S., Consel, C., Odersky, M. (Eds.), LNCS, 3016. pp. 216-238.
[45]
The essence of functional programming. In: POPL, pp. 1-14.
[46]
Wand, M., Continuation-based program transformation strategies. J. ACM. v27. 164-180.
[47]
Wright, A.K. and Felleisen, M., A syntactic approach to type soundness. Inf. Comput. v115. 38-94.

Cited By

View all
  • (2009)Rewriting Logic Specification of Membrane Systems with Promoters and InhibitorsElectronic Notes in Theoretical Computer Science (ENTCS)10.1016/j.entcs.2009.05.010238:3(5-22)Online publication date: 1-Jun-2009
  • (2009)Using rewrite strategies for testing BUpL agentsProceedings of the 19th international conference on Logic-Based Program Synthesis and Transformation10.1007/978-3-642-12592-8_11(143-157)Online publication date: 1-Sep-2009

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Electronic Notes in Theoretical Computer Science (ENTCS)
Electronic Notes in Theoretical Computer Science (ENTCS)  Volume 192, Issue 1
October, 2007
138 pages

Publisher

Elsevier Science Publishers B. V.

Netherlands

Publication History

Published: 01 October 2007

Author Tags

  1. operational semantics
  2. programming languages
  3. rewriting logic

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2009)Rewriting Logic Specification of Membrane Systems with Promoters and InhibitorsElectronic Notes in Theoretical Computer Science (ENTCS)10.1016/j.entcs.2009.05.010238:3(5-22)Online publication date: 1-Jun-2009
  • (2009)Using rewrite strategies for testing BUpL agentsProceedings of the 19th international conference on Logic-Based Program Synthesis and Transformation10.1007/978-3-642-12592-8_11(143-157)Online publication date: 1-Sep-2009

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media