Abstract
In order to provide better alignment between conceptual requirements and aspect-oriented implementations, specification methods should enable the encapsulation of behavioral abstractions of systems. In this paper we argue that horizontal architectures, consisting of such behavioral abstractions, can provide better separation of concerns than conventional architectures, while supporting incremental development for more common units of modularity such as classes. We base our arguments on our experiences with the DisCo method, where behavioral abstractions are composed using the superposition principle, a technique closely associated with aspect orientation. Moreover, we demonstrate how the alignment between an abstract, horizontally architected specification (or model) and its aspect-oriented implementation can be achieved. Mappings are discussed that implement symmetric DisCo specifications both in Hyper/J, which enables symmetric separation of concerns, and in AspectJ that uses asymmetric structuring.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Aaltonen, T., Helin, J., Katara, M., Kellomäki, P., Mikkonen, T.: Coordinating objects and aspects. Electronic Notes in Theoretical Computer Science 68(3) (March 2003)
Aaltonen, T., Katara, M., Pitkänen, R.: DisCo toolset – the new generation. Journal of Universal Computer Science 7(1), 3–18 (2001), http://www.jucs.org
Aaltonen, T., Mikkonen, T.: Managing software evolution with a formalized abstraction hierarchy. In: Proc. Eight IEEE International Conference on Engineering of Complex Computer Systems, Greenbelt, MD, USA, pp. 224–231. IEEE Computer Society, Los Alamitos (2002)
AOSD-Europe. Survey of aspect-oriented analysis and design approaches (May 2005), http://www.aosd-europe.org
Baniassad, E., Clarke, S.: Theme: An approach for aspect-oriented analysis and design. In: Proceedings of the 26th International Conference on Software Engineering (ICSE 2004), pp. 158–167. IEEE Computer Society, Los Alamitos (2004)
Bosch, J.: Software architecture: The next step. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 194–199. Springer, Heidelberg (2004)
Boyd, J.L., Karam, G.M.: Using design fragments to modularize the design of communications in concurrent systems. In: 7th International Workshop on Software Specification and Design, pp. 184–193. IEEE Computer Society, Los Alamitos (1993)
Clarke, S.: Extending standard UML with model composition semantics. Science of Computer Programming 44(1), 71–100 (2002)
Clarke, S., Harrison, W., Ossher, H., Tarr, P.: Subject-oriented design: Towards improved alignment of requirements, design, and code. ACM SIGPLAN Notices 34(10), 325–339 (1999)
Clarke, S., Walker, R.J.: Separating crosscutting concerns across the lifecycle: From Composition Patterns to AspectJ and Hyper/J. Technical Report TCD-CS-2001-15, Department of Computer Science, Trinity College, Dublin, Ireland (2001)
Cuesta, C.E., del Pilar Romay, M., de la Fuente, P., Barrio-Solórzano, M.: Architectural aspects of architectural aspects. In: Morrison, R., Oquendo, F. (eds.) EWSA 2005. LNCS, vol. 3527, pp. 247–262. Springer, Heidelberg (2005)
Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)
Dijkstra, E.W., Scholten, C.S.: Termination detection for diffusing computations. Information Processing Letters 11(4), 1–4 (1980)
Elrad, T., Francez, N.: Decomposition of distributed programs into communication-closed layers. Science of Computer Programming 2(3), 155–173 (1982)
Filman, R.E., Elrad, T., Clarke, S., AkÅŸit, M.: Aspect-Oriented Software Development. Addison-Wesley, Reading (2004)
Object Management Group. MDA guide version 1.0.1. OMG Document Number omg/2003-06-01 (June 2003), http://www.omg.org/mda/specs.htm
Hammouda, I., Koskinen, J., Pussinen, M., Katara, M., Mikkonen, T.: Adaptable concern-based framework specialization in UML. In: Proceedings of the 19th IEEE International Conference on Automated Software Engineering, Linz, Austria, pp. 78–87. IEEE Computer Society, Los Alamitos (2004)
Harrison, W., Ossher, H., Tarr, P.: Asymmerically vs. symmetrically organized paradigms for software composition. Technical Report RC22685, IBM Thomas J. Watson Research Conter (December 2002)
Isojärvi, S.: DisCo and Nokia: Experiences of DisCo with modeling real-time system in multiprocessor environment. In: FMEIndSem 1997, February 20, Otaniemi, Finland (1997)
Jackson, M.: Problem Frames: Analyzing and Structuring Software Development Problems. Addison-Wesley, Reading (2001)
Janssen, W., Zwiers, J.: From sequential layers to distributed processes. In: Proc. 11th ACM Symposium on Principles of Distributed Computing, pp. 215–227. ACM Press, New York (1992)
Järvinen, H.-M., Kurki-Suonio, R., Sakkinen, M., Systä, K.: Object-oriented specification of reactive systems. In: Proceedings of the 12th International Conference on Software Engineering (ICSE 1990), pp. 63–71. IEEE Computer Society Press, Los Alamitos (1990)
Jokinen, J., Järvinen, H.-M., Mikkonen, T.: Incremental introduction of behaviors with static software architecture. Computer Standards and Interfaces 25(3), 215–222 (2003)
Kandé, M.M.: A Concern-Oriented Approach to Software Architecture. PhD thesis, École Polytechnique Fédérale de Lausanne, Switzerland (2003)
Katara, M., Katz, S.: Architectural views of aspects. In: Proceedings of the 2nd International Conference on Aspect-Oriented Software Development, Boston, MA, USA, pp. 1–10. ACM Press, New York (2003)
Katara, M., Kurki-Suonio, R., Mikkonen, T.: On the horizontal dimension of software architecture in formal specifications of reactive systems. In: Clifton, C., Lämmel, R., Leavens, G.T. (eds.) FOAL 2004 Proceedings, Foundations of Aspect-Oriented Languages Workshop at AOSD 2004, Lancaster, UK, March 2004, pp. 37–43. Department of Computer Science, Iowa State University (Technical Report TR #04-04) (2004)
Katz, S.: A superimposition control construct for distributed systems. ACM Transactions on Programming Languages and Systems 15(2), 337–356 (1993)
Katz, S., Gil, J.: Aspects and superimpositions. In: ECOOP 1999 workshop on Aspect-Oriented Programming, Lisbon, Portugal (June 1999) (Position paper)
Kellomäki, P., Mikkonen, T.: Design templates for collective behavior. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, pp. 277–295. Springer, Heidelberg (2000)
Kiczales, G., Lamping, J., Menhdhekar, A., Maeda, C., Lopes, C., 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)
Kurki-Suonio, R.: Modular modeling of temporal behaviors. In: Ohsuga, S., Kangassalo, H., Jaakkola, H., Hori, K., Yonezaki, N. (eds.) Information Modelling and Knowledge Bases III, pp. 283–300. IOS Press, Amsterdam (1992)
Kurki-Suonio, R.: A Practical Theory of Reactive Systems — Incremental Modeling of Dynamic Behaviors. Springer, Heidelberg (2005)
Kurki-Suonio, R., Mikkonen, T.: Abstractions of distributed cooperation, their refinement and implementation. In: Krämer, B., Uchihira, N., Croll, P., Russo, S. (eds.) Proceedings of the International Symposium on Software Engineering for Parallel and Distributed Systems, pp. 94–102. IEEE Computer Society, Los Alamitos (1998)
Laine, P.: The role of SW architecture in solving fundamental problems in object-oriented development of large embedded SW systems. In: Working IEEE/IFIP Conference on Software Architecture, pp. 14–23. IEEE Computer Society Press, Los Alamitos (2001)
Lamport, L.: The temporal logic of actions. ACM Transactions on Programming Languages and Systems 16(3), 872–923 (1994)
Mikkonen, T.: Formalizing design patterns. In: Werner, B. (ed.) Proceedings of the 20th International Conference on Software Engineering (ICSE 1998), April 1998, pp. 115–124. IEEE Computer Society, Los Alamitos (1998)
Mikkonen, T., Pitkänen, R., Pussinen, M.: On the role of architectural style in model-driven development. In: Oquendo, F., Warboys, B.C., Morrison, R. (eds.) EWSA 2004. LNCS, vol. 3047, pp. 74–87. Springer, Heidelberg (2004)
Oki, B., Pfluegl, M., Siegel, A., Skeen, D.: The information bus: An architecture for extensible distributed systems. ACM Operating Systems Review 27, 58–68 (1993)
Ossher, H., Tarr, P.: Multi-dimensional separation of concerns and the Hyperspace approach. In: AkÅŸit, M. (ed.) Software Architectures and Component Technology. Kluwer Academic Publishers, Dordrecht (2001)
Parnas, D.L.: On the criteria to be used in decomposing systems in modules. Communications of the ACM 15(12), 1053–1058 (1972)
Parnas, D.L., Clements, P.C., Weiss, D.M.: The modular structure of complex systems. IEEE Transactions on Software Engineering SE-11(3), 259–266 (1985)
Pitkänen, R.: A specification-driven approach for development of enterprise systems. In: Koskimies, K., Lilius, J., Porres, I., Østerbye, K. (eds.) Proceedings of the 11th Nordic Workshop on Programming and Software Development Tools and Techniques. TUCS General Publication 34, Turku Centre for Computer Science, pp. 74–87 (August 2004)
Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1998)
Sihman, M., Katz, S.: A calculus of superimpositions for distributed systems. In: Proc. 1st International Conference on Aspect-Oriented Software Development, Enschede, The Netherlands, pp. 28–40. ACM Press, New York (2002)
Sihman, M., Katz, S.: Superimpositions and aspect-oriented programming. The Computer Journal 46(5), 529–541 (2003)
Tarr, P., Ossher, H., Harrison, W., Sutton Jr., S.M.: N degrees of separation: Multi-dimensional separation of concerns. In: Garlan, D. (ed.) Proceedings of the 21st International Conference on Software Engineering, Los Angeles, pp. 107–119. ACM Press, New York (1999)
Weis, T., Plouzeau, N., Amoros, G., Donth, P., Geihs, K., Jézéquel, J.-M., Sassen, A.-M.: QCCS: Quality Controlled Component-based Software development. In: Business Component-Based Software Engineering. Kluwer, Dordrecht (2002)
AspectJ, Home page at: http://aspectj.org
DisCo, Home page at: http://disco.cs.tut.fi
Hyperspace, Home page at: http://www.research.ibm.com/hyperspace/
MDA, Home page at: http://www.omg.org/mda/
Rational Unified Process, Home page at: http://www-306.ibm.com/software/awdtools/rup/
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Aaltonen, T., Katara, M., Kurki-Suonio, R., Mikkonen, T. (2006). On Horizontal Specification Architectures and Their Aspect-Oriented Implementations. In: Rashid, A., Aksit, M. (eds) Transactions on Aspect-Oriented Software Development II. Lecture Notes in Computer Science, vol 4242. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11922827_1
Download citation
DOI: https://doi.org/10.1007/11922827_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-48890-3
Online ISBN: 978-3-540-48891-0
eBook Packages: Computer ScienceComputer Science (R0)