Abstract
Creating complex systems from scratch is time consuming and costly, therefore a development strategy often chosen by companies is to evolve existing systems. Reuse of existing knowledge and experience becomes essential to support the evolution process. Complex systems are usually the result of multidisciplinary teams, which means that an effective way to capture, organize and present this knowledge, in a fashion that can be used by different stakeholders is crucial. Typically, some of this knowledge is present in the form of text documents. However, much of that knowledge is usually hidden or lost, especially in long-lived systems. This leads to unexpected problems that could be prevented if the company reuses the knowledge it already has. An approach, based on the creation of A3 Architecture Overviews by an architecting method, is proposed to capture and share key architectural knowledge, enhancing communication and understanding among team members. We show that the proposed method to capture architectural knowledge provides an effective framework to support decision making when evolving complex systems.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
It is important to distinguish between levels of abstraction. Different parts of the life-cycle may need different levels of detail.
- 2.
Model: An approximation, representation or idealization of selected aspects of the structure, behaviour, operation or characteristics of a real-world process, concept or system (IEEE 610.12-1990).
- 3.
Visual models and pictures are, as they say, worth a thousand words each. Consequently, as the room to display information is limited, it is encouraged to use them also in the text summary.
- 4.
The term ‘Function’ can be interpreted in many ways. We have used this term in the sense ‘a specific or discrete action that is necessary to achieve a given objective’ (Blanchard and Frabryky 1998).
- 5.
For maintainability reasons, one person should be responsible for collecting all A3s and establish the links among them, as well as their hierarchy. However the creation of individual A3s and their update should be responsibility of A3 Architecture Overview authors.
References
Bass L, Clements PC, Kazman R (2003) Software architecture in practice. Addison-Wesley, Reading MA
Blanchard BS, Frabryky WJ (1998) In: River US (ed) Systems engineering and analysis. Prentice-Hall, New Jersy
Bonnema GM, Borches PD (2008) Design with overview – how to survive in complex organizations. INCOSE 2008, ISBN: 9781605604473
Borches PD, Bonnema GM (2008) ‘Living’ architecture overviews – supporting the design of evolutionary complex systems. CIRP Design Seminar, Enschede. http://www.opm.ctw.utwente.nl/cirpdesignconference2008/viewabstract.php?id=16
Borches PD, Bonnema GM (2009) Coping with system evolution – experiences in reverse architecting as a means to ease the evolution of complex systems. INCOSE 2009, ISBN: 9781615674398
Chikofsky EJ, Cross JH II (1990) Reverse engineering and design recovery: a taxonomy. IEEE Softw 7(1):13–17
Churchman CW (1968) Challenge to reason. Sussex, Chichester/Wiley New York
Domb E, Radeka K (2009) LAMDA and TRIZ: knowledge sharing across the enterprise. TRIZ J
Galal-Edeen GH (2002) Reverse architecting: seeking the architectonic. 9th work conference on reverse engineering
Isaac D, Mcconaughy G (1994) The role of architecture and evolvability development in accommodating change. INCOSE’94, pp 541–545
Krikhaar RL (1997) Reverse architecting approach for complex systems. IEEE international conference on Softw maintenance
MacCormack A, Rusnak J, Baldwin C (2008) The impact of component modularity on design evolution: evidence from the software industry. http://hbswk.hbs.edu/item/5831.html. Accessed 1 May 2010
Mayrhauser A, Wang J, Li Q (1999) Experience with a reverse architecture approach to increase understanding. IEEE international conference on software maintenance
Muller G (2006) How to create an architecture overview, Online document http://www.gaudisite.nl. Accessed 1 May 2010
Muller HA (1996) Understanding software systems using reverse engineering technologies research and practice. 18th ICSE
Rechtin E, Maier RW (2000) The art of systems architecting. CRC, Boca Raton
Ring J, Fricke E (1998) Rapid evolution of all your systems – problem or opportunity? IEEE 17th DASC
Shaw M (1989) Larger scale systems require higher-level abstractions. 5th international Work Softw Specif Des
Simon HA (1962) The architecture of complexity. American Philosophical Society
Sobek II DK, Jimmerson C (2004) A3 reports: tool for process improvement. Industrial Engineering Res conference
Sobek II DK, Jimmerson C (2005) A3 reports: tool for organizational transformation. Industrial engineering research conference
Steiner R (1998) Systems architecture and evolvability – definitions and perspective. INCOSE’98
Taylor SE, Fiske ST (1975) Point of view and perceptions of causality. J Pers Soc Psych 32(3):439–445
Zachman J (1987) A framework for information systems architecture. IBM Systems J 26:3
Acknowledgements
This research was conducted in cooperation with the MRI group of Philips Healthcare. We thank all the experts from Philips Healthcare MRI for their support and contributions. We want to thank specially Phil van Liere for the time and effort dedicated to this project. We also want to thank the support of Gerrit Muller and other members of the Darwin project.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer Science+Business Media B.V.
About this chapter
Cite this chapter
Borches, P.D. (2010). A3 Architecture Overviews. In: Van de Laar, P., Punter, T. (eds) Views on Evolvability of Embedded Systems. Embedded Systems. Springer, Dordrecht. https://doi.org/10.1007/978-90-481-9849-8_8
Download citation
DOI: https://doi.org/10.1007/978-90-481-9849-8_8
Published:
Publisher Name: Springer, Dordrecht
Print ISBN: 978-90-481-9848-1
Online ISBN: 978-90-481-9849-8
eBook Packages: EngineeringEngineering (R0)