Abstract
This paper presents a systematic methodology for the design of distributed fault tolerant real-time systems. The methodology covers the stepwise refinement of the given requirements, expressed in the form of real-time transactions, to task and protocol executions. It also includes a timing analysis and dependability evaluation of the still incomplete design. The testability of the evolving system is considered to be of essential concern. A set of coherent tools for the support of the methodology is described in some detail. The methodology assumes that the run-time architecture is based on static scheduling and a globally synchronised time-base is available to co-ordinate the system actions in the domain of real-time.
This work was supported in part by the ESPRIT Basic Research Project 3092 “Predictably Dependable Computing Systems”
A related version of this paper has been accepted for publication in the “IEE Software Engineering Journal”
Preview
Unable to display preview. Download preview PDF.
References
W. R. Adrion, M. A. Branstad, and J. C. Cherniavsky. Validation, Verification, and Testing of Computer Software. ACM Computing Surveys, 14(2):159–192, June 1982.
M. Alford. SREM at the Age of Eight; The Distributed Computing Design System. IEEE Computer, 18(4):36–46, Apr. 1985.
F. Belina and D. Hogrefe. The CCITT-Specification and Description Language SDL. In Computer Networks and ISDN Systems 16, pages 311–341. Elsevier Science Publishers B.V. (North Holland), 1988/89.
M. Dowson. ISTAR and the Contractual Approach. Communications of the ACM, 30(3):287–288, Mar. 1987.
G. Fohler and C. Koza. Heuristic Scheduling for Distributed Real-Time Systems. Research Report 6/89, Institut für Technische Informatik, Technische Universität Wien, Vienna, Austria, April 1989.
R. Geist and K. Trivedi. Reliability Estimation of Fault Tolerant Systems: Tools and Techniques. IEEE Computer, 23(7):52–61, July 1990.
D. Gelperin and B. Hetzel. The Growth of Software Testing. Communications of the ACM, 31(6):687–695, June 1988.
H. Gomaa. Software Development of Real-Time Systems. Communications of the ACM, 29(7):657–668, July 1986.
W. E. Howden. Functional Program Testing and Analysis. Software Engineering and Technology. McGraw-Hill, New York, 1987.
A. M. Johnson and M. Malek. Survey of Software Tools for Evaluating Reliability, Availability and Serviceability. ACM Computing Surveys, 20(4):227–269, Dec. 1988.
H. Kantz and M. Mulazzani. Modeling of PMS — Structures in SHARPE. In IFAC Proceedings SAFECOMP 89, pages 97–102, Vienna, Austria, Dec. 1989.
H. Kantz. Integrating Dependability Analysis into the Design of Distributed Computer Systems. In IEEE CompEuro 91, pages 762–766, Bologna, Italy, May 1991.
H. Kopetz, A. Damm, Ch. Koza, M. Mulazzani, W. Schwabl, Ch. Senft, and R. Zainlinger. Distributed Fault-Tolerant Real-Time Systems: The MARS Approach. IEEE Micro, 9(1):25–40, Feb. 1989.
H. Kopetz, H. Kantz, G. Grünsteidl, P. Puschner, and J. Reisinger. Tolerating Transient Faults in MARS. In Proc. 20th Int. Symposium on Fault-Tolerant Computing, pages 466–473, Newcastle upon Tyne, UK, June 1990.
H. Kopetz. Real-Time Systems. In J.A. McDermid, Editor, Software Engineer's Reference Book, pages 56/1–56/9. Butterworth-Heinemann Ltd., Oxford, U.K., 1991.
R. Korf. Depth-First Iterative-Deepening: An Optimal Admissable Tree Search. Artificial Intelligence, 27(3):97–109, 1985.
J. Laski. Testing in the Program Development Cycle. IEE Software Engineering Journal, 4(2):95–106, Mar. 1989.
R. Lauber. Forecasting Real-Time Behavior During Software Design using a CASE environment. In Proc. 22nd Annual Hawaii International Conference on System Sciences, Vol. II, pages 645–653, Kailua-Kona, HI, USA, Jan. 1989.
C. L. Liu and J. W. Layland. Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment. Journal of the ACM, 20(1):46–61, Jan. 1973.
A. K. Mok. Fundamental Design Problems of Distributed Systems for the Hard Real-Time Environment. PhD Thesis, Massachusetts Institute of Technology, 1983. Report MIT/LCS/TR-297.
M. Mulazzani and K. S. Trivedi. Dependability Prediction: Comparison of Tools and Techniques. In IFAC Proceedings SAFECOMP 86, pages 171–178, Sarlat, France, Oct. 1986.
M. Mulazzani. Generation of Dependability Models from Design Specifications of Distributed Real-Time Systems. PhD Thesis, Technisch Naturwissenschaftliche Fakultät, Technische Universität Wien, Vienna, Austria, Apr. 1988.
D. Parnas, P. Clements, and D. Weiss. The Modular Structure of Complex Systems. In Proc. 7th IEEE Intern. Conference on Software Engineering, pages 408–417, Orlando, Florida, Mar. 1984.
P. Puschner and Ch. Koza. Calculating the Maximum Execution Time of Real-Time Programs. Real-Time Systems, 1(2):159–176, Sep. 1989.
P. Puschner and R. Zainlinger. Developing Software with Predictable Timing Behavior. In Proc. 7th IEEE Workshop on Real-Time Operating Systems and Software, pages 70–76, Charlottesville, VA, May 1990.
R. Sahner and K. S. Trivedi. Reliability Modeling using SHARPE. IEEE Transactions on Reliability, 36(2):186–193, June 1987.
W. Schütz. Real-Time Simulation in the Distributed Real-Time System MARS. In Proc. 1990 European Simulation Multiconference, pages 51–57, Nürnberg, FRG, June 1990. The Society for Computer Simulation International.
W. Schütz. A Test Strategy for the Distributed Real-Time System MARS. In IEEE CompEuro 90, Computer Systems and Software Engineering, pages 20–27, Tel Aviv, Israel, May 1990.
Ch. Senft. A Computer-Aided Design Environment for Distributed Realtime Systems. In IEEE CompEuro 88, System Design: Concepts, Methods and Tools, pages 288–297, Brussels, Belgium, Apr. 1988.
Ch. Senft and R. Zainlinger. A Graphical Design Environment for Distributed Real-Time Systems. In Proc. 22nd Annual Hawaii International Conference on System Sciences, Vol. II, pages 871–880, Kailua-Kona, HI, USA, Jan. 1989.
A. C. Shaw. Reasoning About Time in Higher-Level Language Software. IEEE Transactions on Software Engineering, SE-15(7):875–889, July 1989.
H. Simpson. The MASCOT Method. IEE Software Engineering Journal, 1(3):103–120, May 1986.
P. Ward. The Transformation Scheme: an Extension of the Data Flow Diagram to Represent Control and Timing. IEEE Transactions on Software Engineering, 12(2):198–210, Feb. 1986.
R. Zainlinger. Data Objects in the MARS Design System. Research Report 17/89, Institut für Technische Informatik, Technische Universität Wien, Vienna, Austria, Sep. 1989.
R. Zainlinger. Building Interfaces for CASE Environments: An Object Oriented Interaction Model and its Application. In Proc. of the IFIP International Conference on Human Factors in Information Systems Analysis and Design, pages 65–80, Schärding, Austria, June 1990.
R. Zainlinger and G. Pospischil. DIAMOND — An Object Oriented Graphics Library for Software Development Environments. In Proc. of the Autumn 1990 EUUG Conference, pages 157–166, Nice, France, Oct. 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1991 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kopetz, H., Zainlinger, R., Fohler, G., Kantz, H., Puschner, P., Schütz, W. (1991). An engineering approach to hard real-time system design. In: van Lamsweerde, A., Fugetta, A. (eds) ESEC '91. ESEC 1991. Lecture Notes in Computer Science, vol 550. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3540547428_48
Download citation
DOI: https://doi.org/10.1007/3540547428_48
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-54742-6
Online ISBN: 978-3-540-46446-4
eBook Packages: Springer Book Archive