Abstract
With the paradigm of aspect orientation, a developer is able to separate the code of so-called cross-cutting concerns from the rest of the program logic. This possibility is useful for formal specifications, too. For example, security aspects can be separated from the rest of the specification. Another use case for aspect orientation in specifications is the extension of specifications without touching the original ones. The definition of formal semantics for UML profiles without changing the original UML specification is an example for this application. This paper describes the implementation of the aspect oriented approach in Abstract State Machines. We introduce an aspect language with its syntax and formal semantics. It allows for specifying pointcuts where an original specification is augmented with aspect specification. Besides the general overview of this language extension, some ASM specific features of the realization are depicted in detail.
This is a preview of subscription content, log in via an institution.
Buying options
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsPreview
Unable to display preview. Download preview PDF.
References
Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.-M., Irwin, J.: Aspect-Oriented Programming. In: Akşit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)
Dijkstra, E.W.: A Discipline of Programming, 1st edn. Prentice Hall PTR, Upper Saddle River (1997)
Laddad, R.: AspectJ in Action - Enterprise AOP with Spring Applications. Manning, G. (2010)
Kohlmeyer, J.: Eine formale Semantik für die Verknüpfung von Verhaltensbeschreibungen in der UML 2. PhD thesis, Universität Ulm (2009)
Sarstedt, S.: Semantic Foundation and Tool Support for Model-Driven Development with UML 2 Activity Diagrams. PhD thesis, Ulm University (2005)
OMG Unified Modeling Language (OMG UML) Superstructure v2.4.1 (2011)
Dausend, M.: Towards a UML Profile based on Formal Semantics for Modelling Multimodal Interactive Systems. Technical report, Ulm University, Ulm (2011)
The AspectJ Team. The AspectJ Project (2011), http://www.eclipse.org/aspectj/ (last access January 2014)
Börger, E., Stärk, R.: Abstract State Machines – A Method for High-Level System Design and Analysis. Springer (2003)
Farahbod, R.: CoreASM: An Extensible Modeling Framework & Tool Environment for High-level Design and Analysis of Distributed Systems. PhD thesis, Simon Fraser University, Burnaby, Canada (2009)
Wand, M.: A Semantics for Advice and Dynamic Join Points in Aspect-Oriented Programming. In: Taha, W. (ed.) SAIG 2001. LNCS, vol. 2196, pp. 45–46. Springer, Heidelberg (2001)
Avgustinov, P., Hajiyev, E., Ongkingco, N., de Moor, O., Sereni, D., Tibble, J., Verbaere, M.: Semantics of Static Pointcuts in Aspect. In: Proceedings of the 34th Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, vol. 42(1), pp. 11–23 (2007)
Clifton, C., Leavens, G.T.: MiniMAO: An imperative core language for studying aspect-oriented reasoning. Science of Computer Programming (2006)
Blair, L., Blair, G.S., Andersen, A.: Separating Functional Behaviour and Performance Constraints: AspectOriented Specification. Technical report, Computing Department, Lancaster University, Bailrigg, Lancaster (1998)
Agostinho, S., Moreira, A., Marques, A., Araújo, J., Brito, I., Ferreira, R., Raminhos, R., Kovacevic, J., Ribeiro, R., Chevalley, P.: A Metadata-Driven Approach for Aspect-Oriented Requirements Analysis. In: International Conference on Enterprise Information Systems, pp. 129–136 (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dausend, M., Raschke, A. (2014). Introducing Aspect–Oriented Specification for Abstract State Machines. In: Ait Ameur, Y., Schewe, KD. (eds) Abstract State Machines, Alloy, B, TLA, VDM, and Z. ABZ 2014. Lecture Notes in Computer Science, vol 8477. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-43652-3_15
Download citation
DOI: https://doi.org/10.1007/978-3-662-43652-3_15
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-662-43651-6
Online ISBN: 978-3-662-43652-3
eBook Packages: Computer ScienceComputer Science (R0)