Towards a Module System for K

  • Mark Hills
  • Grigore Roşu
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5486)


Research on the semantics of programming languages has yielded a wide array of notations and methodologies for defining languages and language features. An important feature many of these notations and methodologies lack is modularity: the ability to define a language feature once, insulating it from unrelated changes in other parts of the language, and allowing it to be reused in other language definitions. This paper introduces ongoing work on modularity features in K, an algebraic, rewriting logic based formalism for defining language semantics.


language semantics rewriting logic modularity 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Anlauff, M., Chakraborty, S., Kutter, P.W., Pierantonio, A., Thiele, L.: Generating an action notation environment from Montages descriptions. International Journal on Software Tools for Technology Transfer 3(4), 431–455 (2001)zbMATHGoogle Scholar
  2. 2.
    Balland, E., Brauner, P., Kopetz, R., Moreau, P.-E., Reilles, A.: Tom: Piggybacking Rewriting on Java. In: Baader, F. (ed.) RTA 2007. LNCS, vol. 4533, pp. 36–47. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  3. 3.
    Borovanský, P., Kirchner, C., Kirchner, H., Moreau, P.-E., Ringeissen, C.: An overview of ELAN. In: Proceedings of WRLA 1998. ENTCS, vol. 15 (1998)Google Scholar
  4. 4.
    Braga, C., Meseguer, J.: Modular Rewriting Semantics in Practice. In: Proceedings of WRLA 2004. ENTCS, vol. 117, pp. 393–416. Elsevier, Amsterdam (2005)Google Scholar
  5. 5.
    Chalub, F., Braga, C.: Maude MSOS Tool. In: Proceedings of WRLA 2006. ENTCS, vol. 176, pp. 133–146. Elsevier, Amsterdam (2007)Google Scholar
  6. 6.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.L. (eds.): All About Maude - A High-Performance Logical Framework, How to Specify, Program and Verify Systems in Rewriting Logic. LNCS, vol. 4350. Springer, Heidelberg (2007)zbMATHGoogle Scholar
  7. 7.
    de Braga, C.O., Haeusler, E.H., Meseguer, J., Mosses, P.D.: Maude Action Tool: Using Reflection to Map Action Semantics to Rewriting Logic. In: Rus, T. (ed.) AMAST 2000. LNCS, vol. 1816, pp. 407–421. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  8. 8.
    Doh, K.-G., Mosses, P.D.: Composing programming languages by combining action-semantics modules. Science of Computer Programming 47(1), 3–36 (2003)CrossRefzbMATHGoogle Scholar
  9. 9.
    Espinosa, D.A.: Semantic Lego. PhD thesis (1995)Google Scholar
  10. 10.
    Berry, G., Boudol, G.: The Chemical Abstract Machine. In: Proceedings of POPL 1990, pp. 81–94. ACM Press, New York (1990)Google Scholar
  11. 11.
    Goguen, J., Winkler, T., Meseguer, J., Futatsugi, K., Jouannaud, J.-P.: Introducing OBJ. In: Software Engineering with OBJ: algebraic specification in action. Kluwer, Dordrecht (2000)CrossRefGoogle Scholar
  12. 12.
    Gurevich, Y.: Evolving Algebras 1993: Lipari Guide. In: Specification and Validation Methods, pp. 9–36. Oxford University Press, Oxford (1995)Google Scholar
  13. 13.
    Hidalgo-Herrero, M., Verdejo, A., Ortega-Mallén, Y.: Using Maude and Its Strategies for Defining a Framework for Analyzing Eden Semantics. In: Proceedings of WRS 2006. ENTCS, vol. 174, pp. 119–137. Elsevier, Amsterdam (2007)Google Scholar
  14. 14.
    Huggins, J.: ASM-Based Programming Language Definitions,
  15. 15.
    Iversen, J., Mosses, P.D.: Constructive Action Semantics for Core ML. IEE Proceedings - Software 152(2), 79–98 (2005)CrossRefGoogle Scholar
  16. 16.
    Kutter, P.W., Pierantonio, A.: Montages Specifications of Realistic Programming Languages. Journal of Universal Computer Science 3(5), 416–442 (1997)MathSciNetzbMATHGoogle Scholar
  17. 17.
    Liang, S., Hudak, P., Jones, M.P.: Monad Transformers and Modular Interpreters. In: Proceedings of POPL 1995, pp. 333–343. ACM Press, New York (1995)Google Scholar
  18. 18.
    Martí-Oliet, N., Meseguer, J.: Rewriting logic: roadmap and bibliography. Theoretical Computer Science 285, 121–154 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  19. 19.
    Meseguer, J.: Conditional rewriting logic as a unified model of concurrency. Theoretical Computer Science 96(1), 73–155 (1992)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Meseguer, J., de Braga, C.O.: Modular Rewriting Semantics of Programming Languages. In: Rattray, C., Maharaj, S., Shankland, C. (eds.) AMAST 2004. LNCS, vol. 3116, pp. 364–378. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  21. 21.
    Meseguer, J., Roşu, G.: Rewriting Logic Semantics: From Language Specifications to Formal Analysis Tools. In: Basin, D., Rusinowitch, M. (eds.) IJCAR 2004. LNCS (LNAI), vol. 3097, pp. 1–44. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  22. 22.
    Meseguer, J., Roşu, G.: The rewriting logic semantics project. Theoretical Computer Science 373(3), 213–237 (2007); Also appeared in SOS 2005, ENTCS. vol 156(1), pp. 27–56 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  23. 23.
    Moggi, E.: An abstract view of programming languages. Technical Report ECS-LFCS-90-113, Edinburgh University, Department of Computer Science (June 1989)Google Scholar
  24. 24.
    Mosses, P.D.: Action Semantics. Cambridge Tracts in Theoretical Computer Science, vol. 26. Cambridge University Press, Cambridge (1992)CrossRefzbMATHGoogle Scholar
  25. 25.
    Mosses, P.D.: Foundations of Modular SOS. In: Kutyłowski, M., Wierzbicki, T., Pacholski, L. (eds.) MFCS 1999. LNCS, vol. 1672, pp. 70–80. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  26. 26.
    Mosses, P.D.: Pragmatics of Modular SOS. In: Kirchner, H., Ringeissen, C. (eds.) AMAST 2002. LNCS, vol. 2422, pp. 21–40. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  27. 27.
    Mosses, P.D.: A Constructive Approach to Language Definition. Journal of Universal Computer Science 11(7), 1117–1134 (2005)Google Scholar
  28. 28.
    Mosses, P.D., New, M.J.: Implicit Propagation in Structural Operational Semantics. In: SOS 2008. Final version to appear in ENTCS (2008)Google Scholar
  29. 29.
    Plotkin, G.D.: A Structural Approach to Operational Semantics. Journal of Logic and Algebraic Programming 60-61, 17–139 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  30. 30.
    Roşu, G.: K: A Rewriting-Based Framework for Computations – Preliminary version. Technical Report Department of Computer Science UIUCDCS-R-2007-2926 and College of Engineering UILU-ENG-2007-1827, University of Illinois at Urbana-Champaign (2007)Google Scholar
  31. 31.
    Stärk, R., Schmid, J., Börger, E.: JavaTMand the JavaTMVirtual Machine: Definition, Verification, Validation. Springer, Heidelberg (2001)Google Scholar
  32. 32.
    Strachey, C., Wadsworth, C.P.: Continuations: A Mathematical Semantics for Handling Full Jumps. Higher-Order and Symbolic Computation 13(1/2), 135–152 (2000)CrossRefzbMATHGoogle Scholar
  33. 33.
    van den Brand, M., Iversen, J., Mosses, P.D.: An Action Environment. Science of Computer Programming 61(3), 245–264 (2006)MathSciNetCrossRefzbMATHGoogle Scholar
  34. 34.
    van den Brand, M.G.J., Heering, J., Klint, P., Olivier, P.A.: Compiling language definitions: the ASF+SDF compiler. ACM TOPLAS 24(4), 334–368 (2002)CrossRefGoogle Scholar
  35. 35.
    van Deursen, A., Mosses, P.D.: ASD: The Action Semantic Description Tools. In: Nivat, M., Wirsing, M. (eds.) AMAST 1996. LNCS, vol. 1101, pp. 579–582. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  36. 36.
    Wadler, P.: The Essence of Functional Programming. In: Proceedings of POPL 1992, pp. 1–14. ACM Press, New York (1992)Google Scholar
  37. 37.
    Wansbrough, K., Hamer, J.: A Modular Monadic Action Semantics. In: Proceedings of DSL 1997. USENIX (1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Mark Hills
    • 1
  • Grigore Roşu
    • 1
  1. 1.Department of Computer ScienceUniversity of Illinois at Urbana-ChampaignUrbanaUSA

Personalised recommendations