ABSTRACT
When changing software systems, significant effort is spent on locating the architectural elements to be changed, how they relate to the existing and new requirements, and what decisions have led to the current state of the parts of the system to evolve. Model-based approaches have proposed formal metamodels to capture different aspects of the system, e.g. requirements specified in use cases and architectural models for the component design. Existing approaches still lack in an easy-to-use way to combine information from different models. We carried out a case study evolving the CoCoME software observing what are major points for improvement. In this paper, we discuss the results of the case study giving a list of requirements for tools or approaches supporting architecture-centric and model-based software evolution. Finally, we present our graph-based approach for integrated views which can help in overcoming some of the current limitations.
- Steffen Becker, Heiko Koziolek, and Ralf Reussner. The Palladio component model for model-driven performance prediction. Journal of Systems and Software, 82(1): 3--22, January 2009. Google ScholarDigital Library
- Sebastian Herold, Holger Klus, Yannick Welsch, Constanze Deiters, Andreas Rausch, Ralf Reussner, Klaus Krogmann, Heiko Koziolek, Raffaela Mirandola, Benjamin Hummel, Michael Meisinger, and Christian Pfaller. CoCoME - The Common Component Modeling Example. In The Common Component Modeling Example, chapter CoCoME - T, pages 16--53. Springer-Verlag Berlin Heidelberg, 2008. Google ScholarDigital Library
- Anton Jansen and Jan Bosch. Software Architecture as a Set of Architectural Design Decisions. In 5th Working IEEE/IFIP Conference on Software Architecture (WICSA'05), pages 109--120. Ieee, 2005. Google ScholarDigital Library
- Safoora Shakil Khan, Phil Greenwood, Alessandro Garcia, and Awais Rashid. On the Impact of Evolving Requirements-Architecture Dependencies: An Exploratory Study. In Zohra Bellahsène and Michel Léonard, editors, Conference Advanced Information Systems Engineering (CAiSE), pages 243--257, Berlin Heidelberg, 2008. Springer Verlag. Google ScholarDigital Library
- Patrick Könemann and Olaf Zimmermann. Linking design decisions to design models in model-based software development. In European Conference on Software Architecture, pages 246--262, 2010. Google ScholarDigital Library
- Wen-Tin Lee, Whan-Yo Deng, Jonathan Lee, and Shin-Jie Lee. Change Impact Analysis with a Goal-Driven Traceability-Based Approach. International Journal of Intelligent Systems, 25: 878--908, 2010. Google ScholarDigital Library
- I. Malavolta, H. Muccini, P. Pelliccione, and D. A. Tamburri. Providing Architectural Languages and Tools Interoperability through Model Transformation Technologies. IEEE Transactions on Software Engineering, 36(1): 119--140, January 2010. Google ScholarDigital Library
- Ivano Malavolta, Henry Muccini, and V Smrithi Rekha. Supporting Architectural Design Decisions Evolution through Model Driven Engineering. In 3rd International Workshop on Software Engineering for Resilient Systems, pages 63--77, 2011. Google ScholarDigital Library
- Tom Mens and Serge Demeyer. Software Evolution. Springer, 2008. Google ScholarDigital Library
- Tobias Roehm, Rebecca Tiarks, Rainer Koschke, and Walid Maalej. How Do Professional Developers Comprehend Software? In International Conference on Software Engineering (ICSE), 2012. Google ScholarDigital Library
- Ian Sommerville. Software Engineering. Addison-Wesley Pub. Co., 8th edition, 2006.Google Scholar
- Antony Tang, Peng Liang, Viktor Clerc, and Hans Van Vliet. Traceability in the Co-evolution of Architectural Requirements and Design. In Paris Avgeriou, John Grundy, Jon G. Hall, Patricia Lago, and Ivan Mistrík, editors, Relating Software Requirements and Architectures. Springer Berlin Heidelberg, Berlin, Heidelberg, 2011.Google Scholar
- Rebecca Tiarks and Tobias Roehm. Challenges in Program Comprehension. To appear in GI Softwaretechnik-Trends, 2012.Google Scholar
- Koen Yskout, Riccardo Scandariato, and Wouter Joosen. Change Patterns: Co-evolving Requirements and Architecture. Technical report, Department of Computer Science, Leuven, Belgium, 2010.Google Scholar
Index Terms
- A case study on co-evolution of software artifacts using integrated views
Recommendations
Using Meta-Model Transformation to Model Software Evolution
Understanding how software systems evolve is useful from different perspectives: reverse engineering, empirical studies etc.. For an effective understanding we need an explicit meta-model. We introduce Hismo, a meta-model which is centered around the ...
Software Language Evolution
WCRE '08: Proceedings of the 2008 15th Working Conference on Reverse EngineeringBy abstraction and factoring out domain specific knowledge, model driven engineering addresses the problem of increasing software complexity. Both models and meta models are generally subject to evolution, yet evolution of a meta model can cause ...
Tracing Evolution Changes of Software Artifacts through Model Synchronization
ICSM '04: Proceedings of the 20th IEEE International Conference on Software MaintenanceSoftware evolution encompasses all activities related to engineering software, from its inception to retirement. Propagating change across software models that are altered due to maintenance activities is a first step towards maintaining consistency ...
Comments