Evaluation of software architectures for a control system: A case study

  • Sylvia Stuurman
  • Jan van Katwijk
Regular Papers
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1282)


In this paper, we give our view on the software architecture phase in the development process. During this phase, we distinguish modeling and structuring activities. A system is modeled according to a certain approach, and this model is used to instantiate a certain architectural style. In general, the activities are intertwined. The choice for a certain software architecture has implications on the nonfunctional properties of the system. We illustrate our view with a case study of a software controller for a (toy) railroad system which we have available in our software lab. Several models of this system, expressed in formal specification languages, were made in the past, so we are able to produce a software architecture for the system while carrying out both activities separately. The resulting software architectures are evaluated with respect to timing aspects, scalability, fault-tolerance, and extendibility. Extendibility of a software system is especially important for domains were changes should be applicable on-line. Design for change should start at the software architectural level.


Software Architecture Global State Finite State Machine Architectural Style Railroad System 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    T. Biegstraaten, K. Brink, J. van Katwijk, and H. Toetenel. A simple railroad controller: A case study in real-time specification. Technical Report 94-86, Delft University of Technology, Department of Technical Mathematics and Informatics, 1994.Google Scholar
  2. 2.
    M. Boasson. The artistry of software architecture. IEEE Software, 12(6):13–17, November 1995.CrossRefGoogle Scholar
  3. 3.
    O. Frieder and M.E. Segal. Dynamic program updating in a distributed computer system. In Proceedings of the IEEE Conference on Software Maintenance, Phoenix, Arizona, October 1988.Google Scholar
  4. 4.
    B. Hayes-Roth, K. Pfleger, P. Lalanda, P. Morignot, and M. Balabanovic. A domain-specific software architecture for adaptive intelligent systems. IEEE Transactions on Software Engineering, 21(4):288–301, April 1995.CrossRefGoogle Scholar
  5. 5.
    K. Jeffay. The real-time producer-consumer paradigm: A paradigm for the construction of efficient, predictable real-time systems. In Proceedings of the 1993 ACM/SIGAPP Symposium on Applied Computing, pages 796–804, Indiana, February 1993. ACM Press.Google Scholar
  6. 6.
    J. Kramer and J. Magee. The evolving philosophers problem: Dynamic change management. IEEE Transactions on Software Engineering, 16(11):1293–1306, November 1990.CrossRefGoogle Scholar
  7. 7.
    P. Kruchten. The 4+1 view model of architecture. IEEE Software, 12(5):42–50, November 1995.CrossRefGoogle Scholar
  8. 8.
    R.T. Monroe, A. Kompanek, R. Melton, and D. Garlan. Architectural styles, design patterns and objects. IEEE Software, 14(1), January 1997.Google Scholar
  9. 9.
    D.L. Parnas, A.J. van Scouwen, and S.P. Kwan. Evaluation of safety-critical software. Communications of the ACM, 33(6):636–648, September 1990.CrossRefGoogle Scholar
  10. 10.
    M. Shaw. Beyond objects: A software design paradigm based on process control. ACM Software Engineering Notes, 20(1), January 1995.Google Scholar
  11. 11.
    M. Shaw. A field guide to boxology: Preliminary classification of architectural styles for software systems. manuscript,, 1996.Google Scholar
  12. 12.
    M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, 1996.Google Scholar
  13. 13.
    J.A. Stankovic. Real-time and embedded systems. Group Report of the Real-Time Working Group of the IEEE Technical Committee on Real-Time Systems, at, 1996.Google Scholar
  14. 14.
    A.S. Tanenbaum. Structured Computer Organisation. Prentice-Hall, 1976.Google Scholar
  15. 15.
    J. van Katwijk and H. Toetenel. Experience using paisley for real-time specification. Technical Report 95-29, Delft University of Technology, Department of Technical Mathematics and Informatics, 1995.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1997

Authors and Affiliations

  • Sylvia Stuurman
    • 1
  • Jan van Katwijk
    • 1
  1. 1.Delft University of TechnologyNetherlands

Personalised recommendations