On-Demand Quality-Oriented Assistance in Component-Based Software Evolution

  • Chouki Tibermacine
  • Régis Fleurquin
  • Salah Sadou
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4063)


During an architectural evolution of a component-based software, certain quality attributes may be weakened. This is due to the lack of an explicit definition of the links between these non-functional characteristics and the architectural decisions implementing them. In this paper, we present a solution that aims at assisting the software maintainer during an evolution activity on his demand. It requires the definition of a documentation during development, organized in the form of bindings between formal descriptions of architectural decisions and their targeted quality attributes. Through an assistance algorithm, the approach uses this documentation in order to notify the maintainer of the possible effects of architectural changes on quality requirements. We also present a prototype tool which automates our proposals. This tool and the overall approach has been experienced on a real-world software in order to validate them.


Quality Attribute Software Architecture Prototype Tool Architecture Description Architectural Evolution 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003)Google Scholar
  2. 2.
    Bruneton, E., Coupaye, T., Leclercq, M., Quema, V., Stefani, J.-B.: An open component model and its support in java. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054, pp. 7–22. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  3. 3.
    Clements, P., Kazman, R., Klein, M.: Evaluating Software Architectures, Methods and Case Studies. Addison-Wesley, Reading (2002)Google Scholar
  4. 4.
    Cysneiros, L.M., do Prado Leite, J.C.S.: Nonfunctional requirements: From elicitation to conceptual models. IEEE TSE 30(5), 328–350 (2004)Google Scholar
  5. 5.
    Erlikh, L.: Leveraging legacy system dollars for e-business. IEEE IT Professional 2(3) (2000)Google Scholar
  6. 6.
    Franch, X., Botella, P.: Supporting software maintenance with non-functional information. In: Proceedings of the First IEEE Euromicro Conference on Software Maintenance and Reengineering (CSMR 1997), Berlin, Germany, pp. 10–16. IEEE Computer Society Press, Los Alamitos (1997)CrossRefGoogle Scholar
  7. 7.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Sofware. Addison-Wesley Professional Computing Series. Addison Wesley Longman, Inc., Reading (1995)Google Scholar
  8. 8.
    Hochstein, L., Lindvall, M.: Combating architectural degenration: A survey. Information and Software Technology 47(10), 693–707 (2005)CrossRefGoogle Scholar
  9. 9.
    ISO. Software engineering - product quality - part 1: Quality model. International Organization for Standardization web site. ISO/IEC 9126-1 (2001), http://www.iso.org
  10. 10.
    Lehman, M.M., Ramil, J.F.: Software evolution in the age of component-based software engineering. IEE Proceedings - Software 147(6), 249–255 (2000)CrossRefGoogle Scholar
  11. 11.
    Loecher, S., Ocke, S.: A Metamodel-Based OCL-Compiler for UML and MOF. In: Proceedings of the workshop on OCL 2.0 - Industry standard or scientific playground?, 6th International Conference on the Unified Modelling Language and its Applications. ENTCS, vol. 154. Elsevier, Amsterdam (2003)Google Scholar
  12. 12.
    Medvidovic, N., Taylor, N.R.: A classification and comparison framework for software architecture description languages. IEEE TSE 26(1), 70–93 (2000)Google Scholar
  13. 13.
    Mylopoulos, J., Chung, L., Nixon, B.: Representing and using nonfunctional requirements: A process-oriented approach. IEEE TSE 18(6), 483–497 (1992)Google Scholar
  14. 14.
    OMG. Corba components, v3.0, adpoted specification, document formal/2002-06-65 (June 2002), Object Management Group Web Site: http://www.omg.org/docs/formal/02-06-65.pdf
  15. 15.
    OMG. Uml 2.0 ocl final adopted specification, document ptc/03-10-14 (2003), Object Management Group Web Site: http://www.omg.org/docs/ptc/03-10-14.pdf
  16. 16.
    OMG. Uml 2.0 superstructure final adopted specification, document ptc/03-08-02 (2003), Object Management Group Web Site: http://www.omg.org/docs/ptc/03-08-02.pdf
  17. 17.
    Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes 17(4), 40–52 (1992)CrossRefGoogle Scholar
  18. 18.
    Roshandel, R., van der Hoek, A., Mikic-Rakic, M., Medvidovic, N.: Mae - a system model and environment for managing architectural evolution. ACM TOSEM 11(2), 240–276 (2004)CrossRefGoogle Scholar
  19. 19.
    Seacord, R.C., Plakosh, D., Lewis, G.A.: Modernizing Legacy Systems: Software Technologies, Engineering Processes, and Business Practices. SEI Series in Software Engineering Education. Pearson Education, London (2003)Google Scholar
  20. 20.
    Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)MATHGoogle Scholar
  21. 21.
    Sun-Microsystems. Enterprise javabeans(tm) specification, version 2.1 (November 2003), http://java.sun.com/products/ejb
  22. 22.
    Tang, A., Babar, M.A., Gorton, I., Han, J.: A survey of the use and documentation of architecture design rationale. In: Proceedings of the 5th IEEE/IFIP Working Conference on Software Architecture (WICSA 2005), Pittsburgh, Pennsylvania, USA, pp. 89–98. IEEE CS, Los Alamitos (2005)CrossRefGoogle Scholar
  23. 23.
    Tibermacine, C., Fleurquin, R., Sadou, S.: Preserving architectural choices throughout the component-based software development process. In: Proceedings of the 5th IEEE/IFIP Working Conference on Software Architecture (WICSA 2005), Pittsburgh, Pennsylvania, USA, pp. 121–130. IEEE CS, Los Alamitos (2005)CrossRefGoogle Scholar
  24. 24.
    Tibermacine, C., Fleurquin, R., Sadou, S.: Simplifying transformations of architectural constraints. In: Proceedings of ACM SAC (SAC 2006), Track on Model Transformation, Dijon, France. ACM Press, New York (2006)Google Scholar
  25. 25.
    Tyree, J., Akerman, A.: Architecture decisions: Demystifying architecture. IEEE Software 22(2), 19–27 (2005)CrossRefGoogle Scholar
  26. 26.
    xAcme: Acme Extensions to xArch (2001), School of Computer Science Web Site: http://www-2.cs.cmu.edu/~acme/pub/xAcme/

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Chouki Tibermacine
    • 1
  • Régis Fleurquin
    • 1
  • Salah Sadou
    • 1
  1. 1.VALORIAUniversity of South BrittanyFrance

Personalised recommendations