Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
article

Taming architectural evolution

Published: 01 September 2001 Publication History

Abstract

In the world of software development everything evolves. So, then, do software architectures. Unlike source code, for which the use of a configuration management (CM) system is the predominant approach to capturing and managing evolution, approaches to capturing and managing architectural evolution span a wide range of disconnected alternatives. This paper contributes a novel architecture evolution environment, called Mae, which brings together a number of these alternatives. The environment facilitates an incremental design process in which all changes to all architectural elements are integrally captured and related. Key to the environment is a rich system model that combines architectural concepts with those from the field of CM. Not only does this system model form the basis for Mae, but in precisely capturing architectural evolution it also facilitates automated support for several innovative capabilities that rely on the integrated nature of the system model. This paper introduces three of those: the provision of design guidance at the architectural level, the use of specialized software connectors to ensure run-time reliability during component upgrades, and the creation of component-level patches to be applied to deployed system configurations.

References

[1]
Allen R., and Garlan D., A Formal Basis for Architecture Connection. ACM Transactions on Software Engineering and Methodology, 6(3): p.213-249, 1997.]]
[2]
Batory D., and O'Malley S., The Design and Implementation of Hierarchical Software Systems with Reusable Components. ACM Transactions on Software Engineering and Methodology, 1(4), October 1992.]]
[3]
Bell Labs Lucent Technologies, Sablime v5.0 User's Reference Manual: Murray Hill, New Jersey, 1997.]]
[4]
Buffenbarger J, Syntactic software merging, In Software Conguration Management: ICSE SCM-4 and SCM-5, Springer-Verlag. pp.153-172, 1995]]
[5]
Burrows C., and Wesley I., Ovum Evaluates Configuration Management, Burlington, Massachusetts: Ovum Ltd., 1998.]]
[6]
Compare D., Inverardi P., and Wolf A.L., Uncovering Architectural Mismatch in Component Behavior. Science of Computer Programming, 33(2): pp.101-131, 1999.]]
[7]
Conradi R., and Westfechtel B., Version Models for Software Configuration Management. ACM Computing Surveys, 30(2): pp.232-282, 1998.]]
[8]
Cook J.E., and Dage J.A., Highly Reliable Upgrading of Components, in Proceedings of the 1999 International Conference on Software Engineering, pp.203-212, 1999.]]
[9]
Estublier, J. and Casalles, R., The Adele Configuration Manager, in Configuration Management, W.F. Tichy, Editor, Wiley: London, Great Britain. pp.99-134, 1994.]]
[10]
Garlan D., Allen R., and Ockerbloom J., Exploiting Style in Architectural Design Environments in Proceedings of SIGSOFT'94: Foundations of Software Engineering, pp.175-188, New Orleans, Louisiana, USA, December 1994.]]
[11]
Garlan D., Monroe R., and Wile D., ACME: An Architecture Description Interchange Language in Proceedings of CASCON'97, November 1997.]]
[12]
Hall, R.S., Heimbigner, D.M., and Wolf, A.L., A Cooperative Approach to Support Software Deployment Using the Software Dock, in Proceedings of the 1999 International Conference on Software Engineering, pp.174-183, 1999.]]
[13]
Krasner G. E., and Pope S. T, A Cookbook for Using the Model-View-Controller User Interface Paradigm in Smalltalk- 80. Journal of Object-Oriented Programming, 1(3):26- 49, August/September 1988.]]
[14]
Kuusela, J., Architectural Evolution, in Proceedings of the First Working IFIP Conference on Software Architecture, Kluwer Academic: Boston, Massachusetts. 1999.]]
[15]
Lampen, A. and Mahler, A., An Object Base for Attributed Software Objects, in Proceedings of the EUUG Autumn'88 Conference: Cascais, Portugal. pp.95-105, 1988.]]
[16]
Larsson, M. and Crnkovic, I., New Challenges for Configuration Management, in Proceedings of the Ninth International Symposium on System Configuration Management. pp.232-243, 1999.]]
[17]
Le Metayer D., Software Architecture Styles as Graph Grammars, in Proceedings of FSE4, San Francisco, p.15-23, October 1996.]]
[18]
Liskov B. H., and Wing J. M., A Behavioral Notion of Subtyping. ACM Transactions on Programming Languages and Systems, vol. 16, no. 6, pp. 1811-1841, November 1994.]]
[19]
Luckham D. C., and Vera J., An Event-Based Architecture Definition Language. IEEE Transactions on Software Engineering, vol. 21, no. 9, pp. 717-734, September 1995.]]
[20]
Magee J., and Kramer J., Dynamic Structure in Software Architectures, in Proceedings of the Fourth ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp.3-13, 1996.]]
[21]
Medvidovic, N., Rosenblum, D. S., and Taylor, R. N. A Type Theory for Software Architectures. Technical Report, UCI- ICS- 98-14, University of California, Irvine, April 1998.]]
[22]
Medvidovic N., Rosenblum D. S., and Taylor R. N., A Language and Environment for Architecture-Based Software Development and Evolution, in Proceedings of the 1999 International Conference on Software Engineering, pp.44-53, 1999.]]
[23]
Medvidovic N., and Taylor R.N., A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering 26(1), pp. 70-93, January 2000.]]
[24]
Mehta N., Medvidovic N., and Phadke S., Towards a Taxonomy of Software Connector, in Proceedings of the 22nd International Conference on Software Engineering (ICSE 2000), pp. 178-187, Limerick, Ireland, June 2000.]]
[25]
Oreizy P., Medvidovic N., and Taylor R. N., Architecture- Based Runtime Software Evolution in Proceedings of the 20th International Conference on Software Engineering, pp.177-186, Kyoto, Japan, April 1998.]]
[26]
Parisi F., and Wolf A.L., Foundations for Software Configuration Management Policies Using Graph Transformations, in Fundamental Approaches to Software Engineering 2000, Springer-Verlag. pp. 304-318, 2000.]]
[27]
Perry D.E., The Inscape Environment, in Proceedings of the Eleventh International Conference on Software Engineering, pp. 2-11, 1989.]]
[28]
Perry D.E., and Wolf A.L. Foundations for the Study of Software Architectures. ACM SIGSOFT Software Engineering Notes, vol. 17, no. 4, pp. 40-52, October1992.]]
[29]
Rakic M., and Medvidovic N., Increasing the Confidence in Off-the-Shelf Components: A Software Connector- Based Approach. To appear in Proceedings of the 2001 Symposium on Software Reusability, Toronto, Canada, May 2001.]]
[30]
Robbins J., Redmiles D., Software Architecture Critics in the Argo Design Environment. Knowledge-Based Systems. Special issue: The Best of IUI'98.]]
[31]
Rochkind M.J., The Source Code Control System. IEEE Transactions on Software Engineering, SE-1(4): 1975.]]
[32]
Seiwald C., Inter-file Branching - A Practical Method for Representing Variants, in Proceedings of the Sixth International Workshop on Software Configuration Management, Springer-Verlag. pp. 67-75, 1996.]]
[33]
Shaw M., and Garlan, D., Software Architecture: Perspectives on an Emerging Discipline: Prentice Hall, 1996.]]
[34]
Shaw, M., et al., Abstractions for Software Architecture and Tools to Support Them. IEEE Transactions on Software Engineering, 21(4): pp. 314-335. 1995]]
[35]
Taylor R.N., et al., A Component- and Message-Based Architectural Style for GUI Software. IEEE-TSE. 22(6), 1996.]]
[36]
Tichy W.F., RCS, A System for Version Control. Software - Practice and Experience. 15(7): pp. 637-654, 1985.]]
[37]
Tryggeseth E., Gulla B., and Conradi R., Modeling Systems with Variability Using the PROTEUS Configuration Language, in Proceedings of the Fifth International Workshop on Software Configuration Management, Springer-Verlag. pp. 216-240, 1995.]]
[38]
van der Hoek A., A Generic, Reusable Repository for Configuration Management Policy Programming, University of Colorado at Boulder: Boulder, Colorado, 2000.]]
[39]
van Ommering R., et al., The Koala Component Model for Product Families in Consumer Electronics Software. IEEE Computer, 33(2): pp. 78-85, 2000.]]
[40]
Wiborg Weber D., Change Sets versus Change Packages: Comparing Implementations of Change-Based SCM, in Proceedings of the Seventh International Workshop on Software Configuration Management, pp. 25-35, 1997.]]
[41]
Zaremski A. M. and Wing J. M. Specification Matching of Software Components. ACM Transactions on Software Engineering and Methodology, vol. 6, no. 4, pp. 333-369, October 1997.]]

Cited By

View all
  • (2014)A formalized architecture-centric evolution process for component-based software systemProceeding of the 11th World Congress on Intelligent Control and Automation10.1109/WCICA.2014.7053291(3461-3466)Online publication date: Jun-2014
  • (2013)A PLA-based privacy-enhancing user modeling framework and its evaluationUser Modeling and User-Adapted Interaction10.1007/s11257-011-9114-823:1(41-82)Online publication date: 1-Mar-2013
  • (2010)Reasoning about Human Intention Change for Individualized Runtime Software Service EvolutionProceedings of the 2010 IEEE 34th Annual Computer Software and Applications Conference10.1109/COMPSAC.2010.36(289-296)Online publication date: 19-Jul-2010
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGSOFT Software Engineering Notes
ACM SIGSOFT Software Engineering Notes  Volume 26, Issue 5
Sept. 2001
329 pages
ISSN:0163-5948
DOI:10.1145/503271
Issue’s Table of Contents
  • cover image ACM Conferences
    ESEC/FSE-9: Proceedings of the 8th European software engineering conference held jointly with 9th ACM SIGSOFT international symposium on Foundations of software engineering
    September 2001
    329 pages
    ISBN:1581133901
    DOI:10.1145/503209
    • Conference Chairs:
    • A. Min Tjoa,
    • Volker Gruhn
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 01 September 2001
Published in SIGSOFT Volume 26, Issue 5

Check for updates

Author Tags

  1. Mae
  2. configuration managment
  3. design environment
  4. evolution
  5. software architecture
  6. system model

Qualifiers

  • Article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)4
  • Downloads (Last 6 weeks)0
Reflects downloads up to 13 Sep 2024

Other Metrics

Citations

Cited By

View all
  • (2014)A formalized architecture-centric evolution process for component-based software systemProceeding of the 11th World Congress on Intelligent Control and Automation10.1109/WCICA.2014.7053291(3461-3466)Online publication date: Jun-2014
  • (2013)A PLA-based privacy-enhancing user modeling framework and its evaluationUser Modeling and User-Adapted Interaction10.1007/s11257-011-9114-823:1(41-82)Online publication date: 1-Mar-2013
  • (2010)Reasoning about Human Intention Change for Individualized Runtime Software Service EvolutionProceedings of the 2010 IEEE 34th Annual Computer Software and Applications Conference10.1109/COMPSAC.2010.36(289-296)Online publication date: 19-Jul-2010
  • (2007)Multi-level Architectural Evolution ManagementProceedings of the 40th Annual Hawaii International Conference on System Sciences10.1109/HICSS.2007.391Online publication date: 3-Jan-2007
  • (2007)Respecting Users’ Individual Privacy Constraints in Web PersonalizationUser Modeling 200710.1007/978-3-540-73078-1_19(157-166)Online publication date: 2007
  • (2004)Multi-view Software Component Modeling for DependabilityArchitecting Dependable Systems II10.1007/978-3-540-25939-8_13(286-304)Online publication date: 2004
  • (2003)Towards Testing Product Line ArchitecturesElectronic Notes in Theoretical Computer Science10.1016/S1571-0661(04)81029-682:6(99-109)Online publication date: Sep-2003
  • (2003)Improving Dependability of Component-Based Systems via Multi-versioning ConnectorsArchitecting Dependable Systems10.1007/3-540-45177-3_2(37-60)Online publication date: 2003
  • (2003)Towards Intelligent Support for Managing Evolution of Configurable Software Product FamiliesSoftware Configuration Management10.1007/3-540-39195-9_7(86-101)Online publication date: 1-Apr-2003
  • (2016)Towards Defining Families of Systems in IoT: Logical Architectures with Variation PointsInternet of Things. IoT Infrastructures10.1007/978-3-319-47063-4_43(419-426)Online publication date: 18-Nov-2016
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media