Abstract:
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 will 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 ABACUS™ toolset.