Abstract
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.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
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.
References
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice, 2nd edn. Addison-Wesley, Reading (2003)
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)
Clements, P., Kazman, R., Klein, M.: Evaluating Software Architectures, Methods and Case Studies. Addison-Wesley, Reading (2002)
Cysneiros, L.M., do Prado Leite, J.C.S.: Nonfunctional requirements: From elicitation to conceptual models. IEEE TSE 30(5), 328–350 (2004)
Erlikh, L.: Leveraging legacy system dollars for e-business. IEEE IT Professional 2(3) (2000)
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)
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)
Hochstein, L., Lindvall, M.: Combating architectural degenration: A survey. Information and Software Technology 47(10), 693–707 (2005)
ISO. Software engineering - product quality - part 1: Quality model. International Organization for Standardization web site. ISO/IEC 9126-1 (2001), http://www.iso.org
Lehman, M.M., Ramil, J.F.: Software evolution in the age of component-based software engineering. IEE Proceedings - Software 147(6), 249–255 (2000)
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)
Medvidovic, N., Taylor, N.R.: A classification and comparison framework for software architecture description languages. IEEE TSE 26(1), 70–93 (2000)
Mylopoulos, J., Chung, L., Nixon, B.: Representing and using nonfunctional requirements: A process-oriented approach. IEEE TSE 18(6), 483–497 (1992)
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
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
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
Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. ACM SIGSOFT Software Engineering Notes 17(4), 40–52 (1992)
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)
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)
Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, Englewood Cliffs (1996)
Sun-Microsystems. Enterprise javabeans(tm) specification, version 2.1 (November 2003), http://java.sun.com/products/ejb
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)
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)
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)
Tyree, J., Akerman, A.: Architecture decisions: Demystifying architecture. IEEE Software 22(2), 19–27 (2005)
xAcme: Acme Extensions to xArch (2001), School of Computer Science Web Site: http://www-2.cs.cmu.edu/~acme/pub/xAcme/
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
Tibermacine, C., Fleurquin, R., Sadou, S. (2006). On-Demand Quality-Oriented Assistance in Component-Based Software Evolution. In: Gorton, I., et al. Component-Based Software Engineering. CBSE 2006. Lecture Notes in Computer Science, vol 4063. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11783565_21
Download citation
DOI: https://doi.org/10.1007/11783565_21
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35628-8
Online ISBN: 978-3-540-35629-5
eBook Packages: Computer ScienceComputer Science (R0)