Evaluation of software architectures for a control system: A case study
- 105 Downloads
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.
KeywordsSoftware Architecture Global State Finite State Machine Architectural Style Railroad System
Unable to display preview. Download preview PDF.
- 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
- 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
- 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
- 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
- 10.M. Shaw. Beyond objects: A software design paradigm based on process control. ACM Software Engineering Notes, 20(1), January 1995.Google Scholar
- 11.M. Shaw. A field guide to boxology: Preliminary classification of architectural styles for software systems. manuscript, http://www.cs.cmu.edu/afs/cs/project/compose/www/html/Publications/1.html, 1996.Google Scholar
- 12.M. Shaw and D. Garlan. Software Architecture: Perspectives on an Emerging Discipline. Prentice-Hall, 1996.Google Scholar
- 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 http://www-ccs.cs.umass.edu/sdcr/rt.ps, 1996.Google Scholar
- 14.A.S. Tanenbaum. Structured Computer Organisation. Prentice-Hall, 1976.Google Scholar
- 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