Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to main content

On Horizontal Specification Architectures and Their Aspect-Oriented Implementations

  • Conference paper
Transactions on Aspect-Oriented Software Development II

Part of the book series: Lecture Notes in Computer Science ((TAOSD,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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  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. 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

    MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  4. AOSD-Europe. Survey of aspect-oriented analysis and design approaches (May 2005), http://www.aosd-europe.org

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  8. Clarke, S.: Extending standard UML with model composition semantics. Science of Computer Programming 44(1), 71–100 (2002)

    Article  MATH  Google Scholar 

  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)

    Article  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  12. Dijkstra, E.W.: A Discipline of Programming. Prentice-Hall, Englewood Cliffs (1976)

    MATH  Google Scholar 

  13. Dijkstra, E.W., Scholten, C.S.: Termination detection for diffusing computations. Information Processing Letters 11(4), 1–4 (1980)

    Article  MATH  MathSciNet  Google Scholar 

  14. Elrad, T., Francez, N.: Decomposition of distributed programs into communication-closed layers. Science of Computer Programming 2(3), 155–173 (1982)

    Article  MATH  Google Scholar 

  15. Filman, R.E., Elrad, T., Clarke, S., AkÅŸit, M.: Aspect-Oriented Software Development. Addison-Wesley, Reading (2004)

    Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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. 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. Jackson, M.: Problem Frames: Analyzing and Structuring Software Development Problems. Addison-Wesley, Reading (2001)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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)

    Article  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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. Katz, S.: A superimposition control construct for distributed systems. ACM Transactions on Programming Languages and Systems 15(2), 337–356 (1993)

    Article  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Kurki-Suonio, R.: A Practical Theory of Reactive Systems — Incremental Modeling of Dynamic Behaviors. Springer, Heidelberg (2005)

    MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  35. Lamport, L.: The temporal logic of actions. ACM Transactions on Programming Languages and Systems 16(3), 872–923 (1994)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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)

    Article  Google Scholar 

  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. Parnas, D.L.: On the criteria to be used in decomposing systems in modules. Communications of the ACM 15(12), 1053–1058 (1972)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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. Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1998)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  45. Sihman, M., Katz, S.: Superimpositions and aspect-oriented programming. The Computer Journal 46(5), 529–541 (2003)

    Article  MATH  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. AspectJ, Home page at: http://aspectj.org

  49. DisCo, Home page at: http://disco.cs.tut.fi

  50. Hyperspace, Home page at: http://www.research.ibm.com/hyperspace/

  51. MDA, Home page at: http://www.omg.org/mda/

  52. Rational Unified Process, Home page at: http://www-306.ibm.com/software/awdtools/rup/

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics