ABSTRACT
Incremental change is intrinsic to both the initial development and subsequent evolution of large complex software systems. Evolve is a graphical design tool that captures this incremental change in the definition of software architecture. It supports a principled and manageable way of dealing with unplanned change and extension. In addition, Evolve supports decentralized evolution in which software is extended and evolved by multiple independent developers. Evolve supports a model-driven approach in that architecture definition is used to directly construct both initial implementations and extensions to these implementations. The tool implements Backbone - an architectural description language (ADL), which has both a textual and a UML2, based graphical representation. The demonstration focuses on the graphical representation.
- D. Garlan, R. Monroe, and D. Wile. Acme: an architecture description interchange language. In CASCON '97: Proceedings of the 1997 conference of the Centre for Advanced Studies on Collaborative research, page 7. IBM Press, 1997. Google ScholarDigital Library
- J. Magee, N. Dulay, S. Eisenbach, and J. Kramer. Specifying distributed software architectures. In W. Schäfer and P. Botella, editors, Proc. 5th European Software Engineering Conf. (ESEC 95), volume 989, pages 137--153, Sitges, Spain, 1995. Springer-Verlag, Berlin. Google ScholarDigital Library
- R. Taylor, N. Medvidovic, M. Anderson, E. Whithead Jr., and J. Robbins. A component- and message-based architectural style for gui software. In Proceedings of the 17th international conference on Software engineering, pages 295--304, Seattle, Washington, United States, 1995. ACM Press. Google ScholarDigital Library
- R. Roshandel, A. Van Der Hoek, M. Mikic-Rakic, and N. Medvidovic. Mae - a system model and environment for managing architectural evolution. ACM Trans. Softw. Eng. Methodol., 13(2):240--276, 2004. Google ScholarDigital Library
- A. McVeigh, J. Kramer, J. Magee. Using resemblance to support component reuse and evolution. In Proceedings of the 2006 Conference on Specification and Verification of Component-Based Systems (Portland, Oregon, November 10 - 11, 2006). SAVCBS '06. Google ScholarDigital Library
- A McVeigh, A Rigorous, Architectural Approach to Extensible Applications, PhD Thesis, Department of Computing, Imperial College London, 2009. (available at:- http://www.intrinsarc.com/backbone/research).Google Scholar
Index Terms
- Evolve: tool support for architecture evolution
Recommendations
Software architecture evolution through evolvability analysis
Software evolvability is a multifaceted quality attribute that describes a software system's ability to easily accommodate future changes. It is a fundamental characteristic for the efficient implementation of strategic decisions, and the increasing ...
ETAK: tailoring architectural evolution by (re-)using architectural knowledge
SHARK '10: Proceedings of the 2010 ICSE Workshop on Sharing and Reusing Architectural KnowledgeWhen an architect is faced with architectural evolution needs, he can opt to apply an existing evolution pattern. This is useful for well-known evolutions but at times is only partly sufficient. When he faces more specific evolutions, the architect ...
A Systematic Review on Architecting for Software Evolvability
ASWEC '10: Proceedings of the 2010 21st Australian Software Engineering ConferenceFor long-lived systems, there is a need to address evolvability (i.e. a system’s ability to easily accommodate changes) explicitly during the entire lifecycle. In this paper, we undertake a systematic review to obtain an overview of the existing studies ...
Comments