Advertisement

Modularity and Variability of Distributed Software Architectures through Multi-view Refinement of AO-Connectors

  • Steven Op de beeck
  • Marko van Dooren
  • Bert Lagaisse
  • Wouter Joosen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7800)

Abstract

This paper presents MView, a technique that enables the separation of various architect views on an architectural connector in distributed software systems.

A distributed system faces a lot of variability in the functions that it needs to support, and the deployment environments in which it needs to execute. Modularity of functionality and composition is essential in achieving this variability.

While state-of-the-art AO-ADLs focus on describing compositions using aspect-based connectors, there is no support for describing a connector across multiple architecture views. This is, however, essential for distributed systems, where run-time and distribution characteristics are represented in multiple views. This results in connectors that suffer from monolithic descriptions, in which the views of different architects are tangled.

MView untangles these architect views by defining them in separate modules and specifying refinement relations between these modules. We have integrated MView in an ADL, called MView ADL, which is supported by an Eclipse-plugin that performs code generation to the JBoss and Spring middleware platforms.

We evaluate MView in a content distribution system for e-Media. First is an assessment of the architect effort required for creating variations of that system, followed by an evaluation of the extent to which changes ripple through the architecture.

Keywords

Software Architecture Complex Composition Architecture Description Component Instance Abstract Application 
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.
  2. 2.
  3. 3.
    The spring enterprise platform, http://www.springsource.com/products/enterprise
  4. 4.
    Aldrich, J., Sazawal, V., Chambers, C., Notkin, D.: Language support for connector abstractions. In: Object-Oriented Programming (2003)Google Scholar
  5. 5.
    Allen, P., Frost, S.: Planning team roles for CBD. Addison-Wesley Longman Publishing Co., Inc. (2001)Google Scholar
  6. 6.
    Allen, R.: A Formal Approach to Software Architecture. Ph.D. thesis, Carnegie Mellon, School of Computer Science (January 1997)Google Scholar
  7. 7.
    Apel, S., Kästner, C., Leich, T., Saake, G.: Aspect refinement-unifying aop and stepwise refinement. Journal of Object Technology 6(9), 13–33 (2007)CrossRefGoogle Scholar
  8. 8.
    Atkinson, C., Kühne, T.: Aspect-oriented development with stratified frameworks. IEEE Software 20(1), 81–89 (2003)CrossRefGoogle Scholar
  9. 9.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley (2003)Google Scholar
  10. 10.
    Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE Transactions on Software Engineering 30 (2003)Google Scholar
  11. 11.
    Boucké, N.: Composition and Relations of Architectural Models Supported by an Architectural Description Language. Ph.D. thesis (October 2009)Google Scholar
  12. 12.
    Boucké, N., Weyns, D., Hilliard, R., Holvoet, T., Helleboogh, A.: Characterizing Relations between Architectural Views. In: Morrison, R., Balasubramaniam, D., Falkner, K. (eds.) ECSA 2008. LNCS, vol. 5292, pp. 66–81. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  13. 13.
    Deng, G.: Resolving component deployment & configuration challenges for enterprise dre systems via frameworks & generative techniques. In: International Conference on Software Engineering. ACM (2006)Google Scholar
  14. 14.
    van Dooren, M., Steegmans, E., Joosen, W.: An object-oriented framework for aspect-oriented languages. In: Proceedings of the 11th Annual International Conference on Aspect-Oriented Software Development. ACM (March 2012)Google Scholar
  15. 15.
    Feiler, P.H., Lewis, B., Vestal, S., Colbert, E.: An Overview of the SAE Architecture Analysis & Design Language (AADL) Standard: A Basis for Model-Based Architecture-Driven Embedded Systems Engineering. In: Dissaux, P., Filali-Amine, M., Michel, P., Vernadat, F. (eds.) Architecture Description Languages. IFIP, vol. 176, pp. 3–15. Springer, Boston (2005)CrossRefGoogle Scholar
  16. 16.
    Garcia, A., Chavez, C., Batista, T., Sant’anna, C., Kulesza, U., Rashid, A., Lucena, C.: On the Modular Representation of Architectural Aspects. In: Gruhn, V., Oquendo, F. (eds.) EWSA 2006. LNCS, vol. 4344, pp. 82–97. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  17. 17.
    Garcia, A.F., Figueiredo, E.M.L., Sant’Anna, C.N., Pinto, M., Fuentes, L.: Representing architectural aspects with a symmetric approach. In: Early Aspects 2009. ACM (2009)Google Scholar
  18. 18.
    Garlan, D., Monroe, R.T., Wile, D.: Acme: An architecture description interchange language. In: CASCON 1997 (1997)Google Scholar
  19. 19.
    Gray, J., Bapty, T., Neema, S., Schmidt, D.C., Gokhale, A., Natarajan, B.: An Approach for Supporting Aspect-Oriented Domain Modeling. In: Pfenning, F., Macko, M. (eds.) GPCE 2003. LNCS, vol. 2830, pp. 151–168. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  20. 20.
    Grundy, J.: Multi-perspective specification, design and implementation of components using aspects. International Journal of Software Engineering and Knowledge Engineering 10(6) (December 2000)Google Scholar
  21. 21.
    ISO/IEC: Systems and software engineering - architecture description. ISO/IEC standard, draft D8 (August 2010)Google Scholar
  22. 22.
    ISO/IEC: Iso/iec 9899: The c programming language. ISO/IEC approved standards (2011)Google Scholar
  23. 23.
    Kästner, C., Apel, S.: Virtual separation of concerns – a second chance for preprocessors (September 2009)Google Scholar
  24. 24.
    Lagaisse, B.: A Comprehensive Integration of AOSD and CBSD Concepts in Middleware. Ph.D. thesis, K.U.Leuven (December 2009)Google Scholar
  25. 25.
    Medvidovic, N., Taylor, R.N.: A classification and comparison framework for software architecture description languages. IEEE Transactions on Software Engineering 26(1) (January 2000)Google Scholar
  26. 26.
    Navarro, L.D.B., Südholt, M., Vanderperren, W., De Fraine, B., Suvée, D.: Explicitly distributed aop using awed. In: AOSD 2006. ACM (2006)Google Scholar
  27. 27.
    Navasa, A., Pérez-Toledano, M.A., Murillo, J.M.: An adl dealing with aspects at software architecture stage. Inf. Softw. Technol. 51(2) (2009)Google Scholar
  28. 28.
    Nuseibeh, B., Kramer, J., Finkelstein, A.: Viewpoints: meaningful relationships are difficult! In: International Conference on Software Engineering. IEEE Computer Society (2003)Google Scholar
  29. 29.
    Oquendo, F.: pi-adl: an architecture description language based on the higher-order typed pi-calculus for specifying dynamic and mobile software architectures. ACM SIGSOFT Software Engineering Notes 29(3) (2004)Google Scholar
  30. 30.
    Oquendo, F.: π-arl: an architecture refinement language for formally modelling the stepwise refinement of software architectures. SIGSOFT Softw. Eng. Notes 29 (September 2004)Google Scholar
  31. 31.
    Othman, O., Balasubramanian, J., Schmidt, D.C.: The design of an adaptive middleware load balancing and monitoring service. In: Proceedings of the 3rd International Workshop on Self-Adaptive Software, pp. 205–213. ACM (2003)Google Scholar
  32. 32.
    Palma, K., Eterovic, Y., Murillo, J.M.: Extending the rapide adl to specify aspect oriented software architectures. In: 15th International Conference on Software Engineering and Data Engineering, p. 170. ISCA (2006)Google Scholar
  33. 33.
    Parr, T., Quong, R.: Antlr: A predicated (k) parser generator (1995)Google Scholar
  34. 34.
    Pawlak, R., Seinturier, L., Duchien, L., Florin, G.: JAC: A Flexible Solution for Aspect-Oriented Programming in Java. In: Matsuoka, S. (ed.) Reflection 2001. LNCS, vol. 2192, p. 1. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  35. 35.
    Pérez, J., Ramos, I., Martínez, J.J., Letelier, P., Navarro, E.: Prisma: Towards quality, aspect oriented and dynamic software architectures. In: International Conference on Quality Software (2003)Google Scholar
  36. 36.
    Pessemier, N., Seinturier, L., Duchien, L., Coupaye, T.: A component-based and aspect-oriented model for software evolution. Int. J. Comput. Appl. Technol. 31(1/2) (2008)Google Scholar
  37. 37.
    Pinto, M., Fuentes, L., Troya, J.M.: Specifying aspect-oriented architectures in ao-adl. In: Information and Software Technology. Elsevier (2011)Google Scholar
  38. 38.
    Pinto, M., Fuentes, L., Troya, J.M.: A dynamic component and aspect-oriented platform. Computer Journal 48(4) (2005)Google Scholar
  39. 39.
    Popovici, A., Gross, T., Alonso, G.: Dynamic weaving for aspect-oriented programming. In: AOSD 2002. ACM (2002)Google Scholar
  40. 40.
    Stroustrup, B.: The C++ Programming Language, 3rd edn. Addison-Wesley Longman Publishing Co., Inc., Boston (2000)Google Scholar
  41. 41.
    Tanter, É., Noyé, J.: A Versatile Kernel for Multi-language AOP. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 173–188. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  42. 42.
    Van Landuyt, D., Op de beeck, S., Truyen, E., Verbaeten, P.: Building a Digital Publishing Platform Using AOSD: Experiences and Lessons Learned. In: Katz, S. (ed.) Transactions on AOSD VIII. LNCS, vol. 6580, pp. 166–198. Springer, Heidelberg (2011)Google Scholar
  43. 43.
    Wohlstadter, E., Jackson, S., Devanbu, P.T.: Dado: Enhancing middleware to support crosscutting features in distributed, heterogeneous systems. In: ICSE (2003)Google Scholar
  44. 44.
    Wohlstadter, E., Tai, S., Mikalsen, T., Rouvellou, I., Devanbu, P.: Glueqos: Middleware to sweeten quality-of-service policy interactions. In: 26th International Conference on Software Engineering. IEEE Computer Society (2004)Google Scholar
  45. 45.
    Zhang, C., Gao, D., Jacobsen, H.-A.: Generic Middleware Substrate Through Modelware. In: Alonso, G. (ed.) Middleware 2005. LNCS, vol. 3790, pp. 314–333. Springer, Heidelberg (2005)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Steven Op de beeck
    • 1
  • Marko van Dooren
    • 1
  • Bert Lagaisse
    • 1
  • Wouter Joosen
    • 1
  1. 1.iMinds-DistrinetKU LeuvenLeuvenBelgium

Personalised recommendations