Guided architecture-based design optimisation of CBSs

Computer-based systems (CBS) are becoming increasingly pervasive throughout society, continually increasing in complexity and cost as they are called upon to fulfil more and more complicated tasks. Unfortunately, multi-million dollar projects often fail because the systems are unreliable, inefficient, insecure and unmaintainable. The National Australia Bank's $409M software writedown and the failure of the $250M Australian Customs Service Integrated Cargo System are but two recent Australian examples. Clearly, systems must be built with a range of qualities such as reliability, performance and security, in addition to their required functionality, if they are to be successful. In other fields of engineering, such as aerospace and aeronautical engineering, where similar challenges of multiple conflicting requirements are faced, the approach of design optimisation has been found to be successful. This experience indicates that a similar approach of design optimisation also help to meet the challenges presented by the quality requirements of CBSs. This paper advances our work on design optimisation with an exploratory optimisation method that derives an architecture that best satisfies the system's quality requirements. The method allows a designer to explore possible architectures by repeatedly applying evolutions to an initial architecture, with the quality attributes of each architecture being collected throughout and providing feedback that guides the designer to the final optimal architecture. A prototype tool is also presented that implements this architecture-based optimisation method, using Avolution's industry-proven ABACUStrade toolset

[1]  John Leaney,et al.  The ABACUS architectural approach to computer-based system and enterprise evolution , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[2]  Claus Hillermeier,et al.  Nonlinear Multiobjective Optimization , 2001 .

[3]  Eser Kandogan Star Coordinates: A Multi-dimensional Visualization Technique with Uniform Treatment of Dimensions , 2000 .

[4]  Jan Bosch,et al.  Assessing optimal software architecture maintainability , 2001, Proceedings Fifth European Conference on Software Maintenance and Reengineering.

[5]  Harold W. Lawson,et al.  Engineering computer-based systems: meeting the challenge , 2001 .

[6]  Gary B. Lamont,et al.  Multiobjective Evolutionary Algorithms: Analyzing the State-of-the-Art , 2000, Evolutionary Computation.

[7]  John Leaney,et al.  Enabling optimisation in the design of complex computer based systems , 2004, Proceedings. 11th IEEE International Conference and Workshop on the Engineering of Computer-Based Systems, 2004..

[8]  Swapna S. Gokhale Software application design based on architecture, reliability and cost , 2004, Proceedings. ISCC 2004. Ninth International Symposium on Computers And Communications (IEEE Cat. No.04TH8769).

[9]  K. Suzanne Barber,et al.  Enabling iterative software architecture derivation using early non-functional property evaluation , 2002, Proceedings 17th IEEE International Conference on Automated Software Engineering,.

[10]  Paul Clements,et al.  ATAM: Method for Architecture Evaluation , 2000 .

[11]  Toru Yamanouchi,et al.  Software synthesis for trade-off design , 1996, Proceedings of the 11th Knowledge-Based Software Engineering Conference.

[12]  John Leaney,et al.  A framework for understanding heuristics in architectural optimisation , 2006, 13th Annual IEEE International Symposium and Workshop on Engineering of Computer-Based Systems (ECBS'06).

[13]  S.S. Gokhale Cost constrained reliability maximization of software systems , 2004, Annual Symposium Reliability and Maintainability, 2004 - RAMS.

[14]  Felix Bachmann,et al.  Preliminary Design of ArchE: A Software Architecture Design Assistant , 2003 .

[15]  Barry W. Boehm,et al.  Identifying Quality-Requirement Conflicts , 1996, IEEE Softw..

[16]  Marco Laumanns,et al.  A Tutorial on Evolutionary Multiobjective Optimization , 2004, Metaheuristics for Multiobjective Optimisation.

[17]  Robert Spence,et al.  Visualisation for functional design , 1995, Proceedings of Visualization 1995 Conference.

[18]  Thomas G. Lane Studying software architecture through design spaces and rules , 1990 .

[19]  John Leaney,et al.  Heuristic-based architecture generation for complex computer system optimisation , 2005, 12th IEEE International Conference and Workshops on the Engineering of Computer-Based Systems (ECBS'05).

[20]  John Leaney,et al.  Evaluating evolvability of computer based systems architectures-an ontological approach , 1997, Proceedings International Conference and Workshop on Engineering of Computer-Based Systems.

[21]  Computer Staff,et al.  Systems Engineering of Computer-Based Systems , 1993 .

[22]  Peter J. Fleming,et al.  An Overview of Evolutionary Algorithms in Multiobjective Optimization , 1995, Evolutionary Computation.

[23]  Kalyanmoy Deb,et al.  Multi-objective optimization using evolutionary algorithms , 2001, Wiley-Interscience series in systems and optimization.

[24]  Eser Kandogan,et al.  Visualizing multi-dimensional clusters, trends, and outliers using star coordinates , 2001, KDD '01.

[25]  Alfred Inselberg,et al.  Parallel coordinates: a tool for visualizing multi-dimensional geometry , 1990, Proceedings of the First IEEE Conference on Visualization: Visualization `90.

[26]  Jan Bosch,et al.  Software architecture design: evaluation and transformation , 1999, Proceedings ECBS'99. IEEE Conference and Workshop on Engineering of Computer-Based Systems.