The Art and Science of Software Architecture

  • Alan W. Brown
  • John A. McDermid
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4758)


The past 20 years has seen significant investments in the theory and practice of software architecture. However, architectural deficiencies are frequently cited as a key factor in the shortcomings and failures that lead to unpredictable delivery of complex operational systems. Here, we consider the art and science of software architecture: we explore the current state of software architecture, identify key architectural trends and directions in academia and industry, and highlight some of the architectural research challenges which need to be addressed. The paper proposes an agenda of research activities to be carried out by a partnership between academia and industry. While challenges exist in many domains, for this paper we draw examples from one area of particular concern: safety-critical systems.


Software architecture Software engineering Systems engineering 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Friedman, R.: The World is Flat: A Brief History of the 21st Century, Farrar, Straus and Giroux (2005)Google Scholar
  2. 2.
    Bhagwati, J.: In Defence of Globalization. Oxford University Press, Oxford (2004)Google Scholar
  3. 3.
    The Challenges of Complex IT Projects: The Royal Academy of Engineering, and British Computer Society (April 2004)Google Scholar
  4. 4.
    Computer Weekly Article (2004)Google Scholar
  5. 5.
    Rumbaugh, J., Booch, G., Jacobsen, I.: The UML Reference Manual. Addison-Wesley, Reading (2004)Google Scholar
  6. 6.
    Ministry of Defense: Defense Technology Strategy for the Demands of the 21st Century, UK MoD (2006),
  7. 7.
    Automatic verification of a behavioural subset of UML statechart diagrams using the SPIN model-checker. Formal Aspects of Computing 11(6), 637–664 (1999)Google Scholar
  8. 8.
    Damm, W., et al.: Formal Verification of an Avionics Application using Abstraction and Model Checking. In: Redmill, F., Anderson, T. (eds.) Towards System Safety, Springer, Heidelberg (1999)Google Scholar
  9. 9.
    Barnes, J.G.P.: High Integrity Software: The SPARK Approach to Safety and Security. Addison Wesley, Reading (2003)Google Scholar
  10. 10.
    King, S., Hammond, J., Chapman, R., Pryor, A.: Is Proof more Cost-Effective than Testing? IEEE Transactions on Software Engineering 26(8) (2000)Google Scholar
  11. 11.
    Iwu, F., Galloway, A., McDermid, J.A., Toyn, I.: Integrating Safety and Formal Analysis using UML and PFS, RE&SS (2007)Google Scholar
  12. 12.
    Blow, J.R.: Use of Formal Methods in the Development of Safety-critical Control Software. DPhil thesis, Dept of Computer Science, University of York. YCST-2003-08 (2003)Google Scholar
  13. 13.
    Bate, I.J., Burns, A., Audsley, N.C.: Putting Fixed Priority Scheduling Theory into Engineering Practice for Safety Critical Applications. In: Proceedings of 2nd Real-Time Applications Symposium (1996)Google Scholar
  14. 14.
    Eccles, M.A.: STAMP Tool Assessment. BAe-WSC-RP-R&D-0031, BAe Warton (July 1995)Google Scholar
  15. 15.
    Douglass, B.P.: Real-Time UML: Developing Embedded Objects for Embedded Systems. Addison-Wesley, Reading (1998)Google Scholar
  16. 16.
    Radjenovic, A., Paige, R.F.: Architecture Description Languages for High Integrity Real-Time Systems. IEEE Software 23(2), 71–79 (2006)CrossRefGoogle Scholar
  17. 17.
    Wallace, M.: Modular Architectural Representation and Analysis of Fault Propagation and Transformation. In: FESCA 2005. Formal Foundations of Embedded Systems and Component-Based Software Architectures (2005)Google Scholar
  18. 18.
    Bosch, J.: Design and Use of Software Architectures. Addison-Wesley, Reading (2000)Google Scholar
  19. 19.
    Hotz, L., Wolter, K., Krebs, T., Deelstra, S., Sinnema, M., Nijhuis, J., MacGregor, J.: Configuration in Industrial Product Families: The ConIPF Methodology (2006), see
  20. 20.
    Stephenson, Z., McDermid, J.A.: Deriving Architectural Flexibility Requirements in Safety-Critical Systems. IEE Proceedings on Software 154(4) (August 2005)Google Scholar
  21. 21.
    Stephenson, Z., Zhan, Y., Clark, J., McDermid, J.: Test Data Generation for Product Lines - A Mutation Testing Approach. In: Nord, R.L. (ed.) SPLC 2004. LNCS, vol. 3154, Springer, Heidelberg (2004)Google Scholar
  22. 22.
    Arthan, R., Caseley, P., O’Halloran, C., Smith, A.: ClawZ: Control Laws in Z. In: Liu, S., McDermid, J.A., Hinchey, M.G. (eds.) Proceedings of ICFEM 2000, IEEE Computer Society, Los Alamitos (2000)Google Scholar
  23. 23.
    Galloway, A., Paige, R.F., Tudor, N.J., Weaver, R.A., Toyn, I., McDermid, J.A.: Proof versus testing in the context of Safety Standards. In: 24th Digital Avionics Systems Conference (2005)Google Scholar
  24. 24.
    Kruchten, P.: Rational Unified Process. Addison Wesley, Reading (2002)Google Scholar
  25. 25.
    Selic, B.: The Pragmatics of Model-Driven Development. IEEE Software 20 (September 2003)Google Scholar
  26. 26.
    OMG: MDA Guide, Version 1.0.1 (2003),
  27. 27.
    Frankel, D.: Model Driven Architecture: Applying MDA to Enterprise Computing. Wiley Press, Chichester (2003)Google Scholar
  28. 28.
    Fowler, M.: Comments on UML sketching (2005),
  29. 29.
    Greenfield, J., Short, S., Cook, S., Kent, S.: Software Factories: Assembling Applications with Patterns, Models, Frameworks, and Tools. Wiley, Chichester (2004)Google Scholar
  30. 30.
    MODAF Tools Policy Statement of Position: MoD (2006) Google Scholar
  31. 31.
    MODAF M3 Meta Model V1.0: MoD (April 2006)Google Scholar
  32. 32.
    MODAF Tool Certification Plan: V1.0, MoD (April 2006) Google Scholar
  33. 33.
    Shaw, M., Garlan, D.: Software Architecture: Perspectives on an Emerging Discipline. Addison-Wesley, Reading (1998)Google Scholar
  34. 34.
    Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2001)Google Scholar
  35. 35.
    Krafzig, D., Banke, K., Slama, D.: Enterprise SOA. Prentice-Hall, Englewood Cliffs (2005)Google Scholar
  36. 36.
    Bieberstein, N., et al.: Service-Oriented Architecture (SOA) Compass: Business Value, Planning, and Enterprise Roadmap. IBM Press (2005)Google Scholar
  37. 37.
    Herzum, P., Sims, O.: Business Component Factory: A Comprehensive Overview of Component-Based Development for the Enterprise. Prentice-Hall, Englewood Cliffs (2002)Google Scholar
  38. 38.
    Parnas, D.L.: Software Engineering Programmes are not Computer Science Programmes. IEEE Software (November/December 1999)Google Scholar
  39. 39.
    McDermid, J.A.: Tailoring Software Engineering Education: One Size Does Not Fit All. Ingenia, RAEng, pp. 50–54 (2004)Google Scholar
  40. 40.
    Brooks, F.: The Mythical Man-Month: 20th Anniversary edn. Addison-Wesley, Reading (2004)Google Scholar
  41. 41.
    Carlson, D.: Eclipse Distilled. Addison-Wesley, Reading (2005)Google Scholar
  42. 42.
    Brown, A.W., Delbaere, M., Eeles, P., Johnston, S., Weaver, R.: Realizing Service oriented Solutions with the IBM Software Development Platform. IBM Systems Journal 44(4), 727–752 (2005)CrossRefGoogle Scholar
  43. 43.
    Johnston, S.K., Brown, A.W.: A Model-driven Development Approach to Creating Service-oriented Solutions. In: Dan, A., Lamersdorf, W. (eds.) ICSOC 2006. LNCS, vol. 4294, pp. 624–636. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  44. 44.

Copyright information

© Springer-Verlag Berlin Heidelberg 2007

Authors and Affiliations

  • Alan W. Brown
    • 1
  • John A. McDermid
    • 2
  1. 1.IBM Software Group, Raleigh, NCUSA
  2. 2.University of York, Heslington, YorkUK

Personalised recommendations