Evaluation of Software Architectures for a Control System: a Case Study

In this paper, we give our view on the software architecture phase in the development process. During this phase, we distinguish mo-deling 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 non-functional 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 speciication 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.

[1]  Philippe Lalanda,et al.  A Domain-Specific Software Architecture for Adaptive Intelligent Systems , 1995, IEEE Trans. Software Eng..

[2]  Jeff Magee,et al.  The Evolving Philosophers Problem: Dynamic Change Management , 1990, IEEE Trans. Software Eng..

[3]  Mary Shaw,et al.  Beyond objects: a software design paradigm based on process control , 1995, SOEN.

[4]  Maarten Boasson,et al.  The Artistry of Software Architecture , 1995, IEEE Softw..

[5]  Mary Shaw,et al.  A field guide to boxology: preliminary classification of architectural styles for software systems , 1997, Proceedings Twenty-First Annual International Computer Software and Applications Conference (COMPSAC'97).

[6]  Mary Shaw,et al.  Software architecture - perspectives on an emerging discipline , 1996 .

[7]  David Garlan,et al.  Architectural Styles, Design Patterns, And Objects , 1997, IEEE Softw..

[8]  David Lorge Parnas,et al.  Evaluation of safety-critical software , 1990, CACM.

[9]  Kevin Jeffay The real-time producer/consumer paradigm: a paradigm for the construction of efficient, predictable real-time systems , 1993, SAC '93.

[10]  T Biegstraaten,et al.  SIMPLE RAILROAD CONTROLLER: A CASE STUDY IN REAL-TIME SPECIFICATION , 1994 .

[11]  John A. Stankovic Real-time and embedded systems , 1996, CSUR.

[12]  O. Frieder,et al.  Dynamic program updating in a distributed computer system , 1988, Proceedings. Conference on Software Maintenance, 1988..

[13]  Philippe Kruchten,et al.  The 4+1 View Model of Architecture , 1995, IEEE Softw..