A Constructive Semantics for Basic Aspect Constructs

  • Christiano Braga
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5700)


Peter Mosses has contributed to computer science in many different ways. In particular, to programming language semantics. I had the pleasure, and the honor, to work with Peter Mosses as a PhD student and to collaborate with him afterwards. His work has greatly influenced my research interests. In this paper, I focus on his constructive approach to the semantics of programming languages. Constructive Semantics is an approach to the specification of programming language semantics that focuses on reuse. As new programming paradigms are developed, the library of reusable parts of semantic components provided by the constructive approach may be extended with new constructs to support the new paradigm. I propose constructs to support basic aspect-oriented programming concepts together with their Modular SOS semantics. Basic notions of structural operational semantics are assumed.


Operational Semantic Action Semantic Denotational Semantic Concrete Syntax Semantic Framework 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Braga, C.: Rewriting Logic as a Semantic Framework for Modular Structural Operational Semantics. PhD thesis, Pontifícia Universidade Católica do Rio de Janeiro (September 2001),
  2. 2.
    Braga, C.: From access control policies to an aspect-based infrastructure: A metamodel-based approach. In: Chaudron, M. (ed.) MODELS 2008. LNCS, vol. 5421, pp. 243–256. Springer, Heidelberg (2009)Google Scholar
  3. 3.
    Braga, C., 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
  4. 4.
    Braga, C., Haeusler, E.H., Meseguer, J., Mosses, P.D.: Mapping modular SOS to rewriting logic. In: Leuschel, M. (ed.) LOPSTR 2002. LNCS, vol. 2664, pp. 262–277. Springer, Heidelberg (2003), CrossRefGoogle Scholar
  5. 5.
    Braga, C., Meseguer, J.: Modular rewriting semantics in practice. Electronic Notes in Theoretical Computer Science 117, 393–416 (2005), CrossRefzbMATHGoogle Scholar
  6. 6.
    Braga, C., Verdejo, A.: Modular SOS with strategies. Electronic Notes in Theoretical Computer Science 175(1), 3–17 (2006), CrossRefzbMATHGoogle Scholar
  7. 7.
    Chalub, F.: An implementation of modular structural operational semantics in maude. Master’s thesis, Computer Science Graduate Program, Universidade Federal Fluminense (2005)Google Scholar
  8. 8.
    Chalub, F., Braga, C.: Maude MSOS Tool. Electronic Notes in Theoretical Computer Science 176(4), 133–146 (2006), CrossRefGoogle Scholar
  9. 9.
    Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C., Braga, C., Farzan, A., Hendrix, J., Olveczky, P., Palomino, M., Sasse, R., Stehr, M.-O., Verdejo, A.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350, pp. 667–693. Springer, Heidelberg (2007), Google Scholar
  10. 10.
    Kiczales, G., des Rivières, J., Bobrow, D.G.: The art of metaobject protocol. MIT Press, Cambridge (1991)Google Scholar
  11. 11.
    Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An overview of aspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  12. 12.
    Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  13. 13.
    Meseguer, J., Braga, C.: 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
  14. 14.
    Mosses, P.: A constructive approach to language definition. Journal of Universal Computer Science 11(7), 1117–1134 (2005), Google Scholar
  15. 15.
    Mosses, P.D.: Denotational semantics. In: Handbook of theoretical computer science: formal models and semantics, vol. B, MIT Press, Cambridge (1990)Google Scholar
  16. 16.
    Mosses, P.D.: Action semantics. Cambridge University Press, New York (1992)CrossRefzbMATHGoogle Scholar
  17. 17.
    Mosses, P.D.: Modular structural operational semantics. Journal of Logic and Algebraic Programming 60-61, 195–228 (2004)MathSciNetCrossRefzbMATHGoogle Scholar
  18. 18.
    Mousavi, M.: Structuring Structural Operational Semantics. PhD thesis, Technische Universiteit Eindhoven (2005)Google Scholar
  19. 19.
    Ulidowski, I., Phillips, I.: Ordered SOS process languages for branching and eager bisimulation. Inf. Comput. 178(1), 180–213 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Wand, M., Kiczales, G., Dutchyn, C.: A semantics for advice and dynamic join points in aspect-oriented programming. ACM Transactions on Programming Languages and Systems 26(5), 890–910 (2004)CrossRefGoogle Scholar
  21. 21.
    Wansbrough, K.: A modular monadic action semantics. Master’s thesis, Department of Computer Science, University of Auckland (1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Christiano Braga
    • 1
  1. 1.Universidade Federal FluminenseBrazil

Personalised recommendations