Using dependency model to support software architecture evolution

Evolution of software systems is characterized by inevitable changes of software and increasing software complexity, which in turn may lead to huge maintenance and development costs. For long-lived systems, there is a need to address and maintain evolvability (i.e. a systempsilas ability to easily accommodate changes) during the entire lifecycle. As designing software for ease of extension and contraction depends on how well the software structure is organized, this paper explores the relationships between evolvability, modularity and inter-module dependency. Through a case study of an industrial power control and protection system, we describe our work in managing its software architecture evolution, guided by the dependency analysis at the architectural level. The paper includes also the main analysis results, our experiences and reflections during the dependency analysis process in the case study.

[1]  Vineet Sinha,et al.  Using dependency models to manage complex software architecture , 2005, OOPSLA '05.

[2]  David Garlan,et al.  Documenting software architectures: views and beyond , 2002, 25th International Conference on Software Engineering, 2003. Proceedings..

[3]  HERBERT A. SIMON,et al.  The Architecture of Complexity , 1991 .

[4]  Paul Clements,et al.  Software Architecture in Practice: Addison-Wesley , 1998 .

[5]  Kim B. Clark,et al.  The Option Value of Modularity in Design: An Example From Design Rules, Volume 1: The Power of Modularity , 2000 .

[6]  D. L. Parnas,et al.  On the criteria to be used in decomposing systems into modules , 1972, Software Pioneers.

[7]  Rick Kazman,et al.  A Software Architecture Reconstruction Method , 1999, WICSA.

[8]  Ned Chapin,et al.  Types of software evolution and software maintenance , 2001, J. Softw. Maintenance Res. Pract..

[9]  B. F. Castro Buschmann, Frank; Meunier, Regine; Rohnert, Hans; Sommerlad, Peter; Stal, Michael. Pattern-oriented software architecture: a system of patterns, John Wiley & Sons Ltd, 1996 , 1997 .

[10]  Tyson R. Browning,et al.  Applying the design structure matrix to system decomposition and integration problems: a review and new directions , 2001, IEEE Trans. Engineering Management.

[11]  Santonu Sarkar,et al.  A Method for Detecting and Measuring Architectural Layering Violations in Source Code , 2006, 2006 13th Asia Pacific Software Engineering Conference (APSEC'06).

[12]  Yuanfang Cai,et al.  An Evolutionary Approach to Software Modularity Analysis , 2007, First International Workshop on Assessment of Contemporary Modularization Techniques (ACoM '07).

[13]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[14]  Ronan Fitzpatrick,et al.  Software quality challenges. , 2004, ICSE 2004.

[15]  Keith H. Bennett,et al.  Software maintenance and evolution: a roadmap , 2000, ICSE '00.

[16]  Ivica Crnkovic,et al.  Analyzing Software Evolvability , 2008, 2008 32nd Annual IEEE International Computer Software and Applications Conference.

[17]  R. G. Dromey,et al.  Cornering the Chimera , 1996, IEEE Softw..

[18]  青島 矢一,et al.  書評 カーリス Y. ボールドウィン/キム B. クラーク著 安藤晴彦訳『デザイン・ルール:モジュール化パワー』 Carliss Y. Baldwin & Kim B. Clark/Design Rules, Vol. 1: The Power of Modularity , 2005 .

[19]  Robert B. Grady,et al.  Software Metrics: Establishing a Company-Wide Program , 1987 .

[20]  B. J. Ferro Castro,et al.  Pattern-Oriented Software Architecture: A System of Patterns , 2009 .

[21]  Ewspt,et al.  Software process technology : 5th European workshop, EWSPT '96, Nancy, France, October 9-11, 1996 : proceedings , 1996 .

[22]  Paul Clements Comparing the SEI's Views and Beyond Approach for Documenting Software Architecture with ANSI-IEEE 1471-2000 , 2005 .

[23]  Jiachen Zhang,et al.  Applying change impact analysis and design metrcs in CBR based software design improvement , 2005, IEEE International Symposium on Communications and Information Technology, 2005. ISCIT 2005..

[24]  J Bosch ICSE 2004: 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS , 2004 .

[25]  Alan MacCormack,et al.  The Impact of Component Modularity on Design Evolution: Evidence from the Software Industry , 2007 .

[26]  Angela Greiling Keane,et al.  NO SILVER BULLET , 2003 .

[27]  M M Lehman,et al.  Software Evolution , 2002 .

[28]  Barry Boehm,et al.  Characteristics of software quality , 1978 .

[29]  Meir M. Lehman,et al.  Laws of Software Evolution Revisited , 1996, EWSPT.

[30]  Suzanne L. Holcombe National Technical Information Service , 2008 .

[31]  Liam O'Brien,et al.  Moving towards quality attribute driven software architecture reconstruction , 2003, 10th Working Conference on Reverse Engineering, 2003. WCRE 2003. Proceedings..

[32]  Yuanfang Cai,et al.  An Evolution Model for Software Modularity Assessment , 2007, Fifth International Workshop on Software Quality (WoSQ'07: ICSE Workshops 2007).

[33]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[34]  G GriswoldWilliam,et al.  The structure and value of modularity in software design , 2001 .

[35]  Sushil Krishna Bajracharya,et al.  An analysis of modularity in aspect oriented design , 2005, AOSD '05.

[36]  Yuanfang Cai,et al.  Analyzing the Evolution of Large-Scale Software Systems Using Design Structure Matrices and Design Rule Theory: Two Exploratory Cases , 2008, Seventh Working IEEE/IFIP Conference on Software Architecture (WICSA 2008).

[37]  Jeff Offutt,et al.  Change impact analysis of object-oriented software , 1998 .

[38]  Herbert A. Simon,et al.  The Sciences of the Artificial , 1970 .

[39]  William G. Griswold,et al.  The structure and value of modularity in software design , 2001, ESEC/FSE-9.

[40]  Rick Kazman,et al.  Evaluating Software Architectures: Methods and Case Studies , 2001 .

[41]  David Lorge Parnas,et al.  Review of David L. Parnas' "Designing Software for Ease of Extension and Contraction" , 2004 .

[42]  David S. Rosenblum,et al.  The evolution of software evolvability , 2001, IWPSE '01.

[43]  Thorsten von Eicken,et al.  技術解説 IEEE Computer , 1999 .

[44]  Nong Zhang THE UNIVERSITY OF TECHNOLOGY SYDNEY , 2005 .

[45]  Kim B. Clark,et al.  Design Rules: The Power of Modularity Volume 1 , 1999 .

[46]  Yuanyuan Song,et al.  Automatic modularity conformance checking , 2008, 2008 ACM/IEEE 30th International Conference on Software Engineering.