Advertisement

On Horizontal Specification Architectures and Their Aspect-Oriented Implementations

  • Timo Aaltonen
  • Mika Katara
  • Reino Kurki-Suonio
  • Tommi Mikkonen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4242)

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.

Keywords

Software Architecture State Sequence Architectural Description Language Aspect Orientation Horizontal Unit 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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)Google Scholar
  2. 2.
    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 MATHGoogle Scholar
  3. 3.
    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)CrossRefGoogle Scholar
  4. 4.
    AOSD-Europe. Survey of aspect-oriented analysis and design approaches (May 2005), http://www.aosd-europe.org
  5. 5.
    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)CrossRefGoogle Scholar
  6. 6.
    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)CrossRefGoogle Scholar
  7. 7.
    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)CrossRefGoogle Scholar
  8. 8.
    Clarke, S.: Extending standard UML with model composition semantics. Science of Computer Programming 44(1), 71–100 (2002)MATHCrossRefGoogle Scholar
  9. 9.
    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)CrossRefGoogle Scholar
  10. 10.
    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)Google Scholar
  11. 11.
    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)CrossRefGoogle Scholar
  12. 12.
    Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)MATHGoogle Scholar
  13. 13.
    Dijkstra, E.W., Scholten, C.S.: Termination detection for diffusing computations. Information Processing Letters 11(4), 1–4 (1980)MATHCrossRefMathSciNetGoogle Scholar
  14. 14.
    Elrad, T., Francez, N.: Decomposition of distributed programs into communication-closed layers. Science of Computer Programming 2(3), 155–173 (1982)MATHCrossRefGoogle Scholar
  15. 15.
    Filman, R.E., Elrad, T., Clarke, S., Akşit, M.: Aspect-Oriented Software Development. Addison-Wesley, Reading (2004)Google Scholar
  16. 16.
    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
  17. 17.
    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)CrossRefGoogle Scholar
  18. 18.
    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)Google Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    Jackson, M.: Problem Frames: Analyzing and Structuring Software Development Problems. Addison-Wesley, Reading (2001)Google Scholar
  21. 21.
    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)CrossRefGoogle Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    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)CrossRefGoogle Scholar
  24. 24.
    Kandé, M.M.: A Concern-Oriented Approach to Software Architecture. PhD thesis, École Polytechnique Fédérale de Lausanne, Switzerland (2003)Google Scholar
  25. 25.
    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)CrossRefGoogle Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    Katz, S.: A superimposition control construct for distributed systems. ACM Transactions on Programming Languages and Systems 15(2), 337–356 (1993)CrossRefGoogle Scholar
  28. 28.
    Katz, S., Gil, J.: Aspects and superimpositions. In: ECOOP 1999 workshop on Aspect-Oriented Programming, Lisbon, Portugal (June 1999) (Position paper)Google Scholar
  29. 29.
    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)CrossRefGoogle Scholar
  30. 30.
    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)CrossRefGoogle Scholar
  31. 31.
    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)Google Scholar
  32. 32.
    Kurki-Suonio, R.: A Practical Theory of Reactive Systems — Incremental Modeling of Dynamic Behaviors. Springer, Heidelberg (2005)MATHGoogle Scholar
  33. 33.
    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)CrossRefGoogle Scholar
  34. 34.
    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)CrossRefGoogle Scholar
  35. 35.
    Lamport, L.: The temporal logic of actions. ACM Transactions on Programming Languages and Systems 16(3), 872–923 (1994)CrossRefGoogle Scholar
  36. 36.
    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)CrossRefGoogle Scholar
  37. 37.
    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)CrossRefGoogle Scholar
  38. 38.
    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)CrossRefGoogle Scholar
  39. 39.
    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)Google Scholar
  40. 40.
    Parnas, D.L.: On the criteria to be used in decomposing systems in modules. Communications of the ACM 15(12), 1053–1058 (1972)CrossRefGoogle Scholar
  41. 41.
    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)CrossRefGoogle Scholar
  42. 42.
    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)Google Scholar
  43. 43.
    Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1998)Google Scholar
  44. 44.
    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)CrossRefGoogle Scholar
  45. 45.
    Sihman, M., Katz, S.: Superimpositions and aspect-oriented programming. The Computer Journal 46(5), 529–541 (2003)MATHCrossRefGoogle Scholar
  46. 46.
    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)CrossRefGoogle Scholar
  47. 47.
    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)Google Scholar
  48. 48.
    AspectJ, Home page at: http://aspectj.org
  49. 49.
    DisCo, Home page at: http://disco.cs.tut.fi
  50. 50.
    Hyperspace, Home page at: http://www.research.ibm.com/hyperspace/
  51. 51.
    MDA, Home page at: http://www.omg.org/mda/
  52. 52.
    Rational Unified Process, Home page at: http://www-306.ibm.com/software/awdtools/rup/

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Timo Aaltonen
    • 1
  • Mika Katara
    • 1
  • Reino Kurki-Suonio
    • 1
  • Tommi Mikkonen
    • 1
  1. 1.Institute of Software SystemsTampere University of TechnologyTampereFinland

Personalised recommendations