Skip to main content
Log in

The Spring System: Integrated Support for Complex Real-Time Systems

  • Published:
Real-Time Systems Aims and scope Submit manuscript

Abstract

The Spring system is a highly integrated collection of software and hardware that synergistically operates to provide end-to-end support in building complex real-time applications. In this paper, we show how Spring's specification language, programming language, software generation system, and operating system kernel are applied to build a flexible manufacturing testbed. The same ingredients have also been used to realize a predictable version of a robot pick and place application used in industry. These applications are good examples of complex real-time systems that require flexibility. The goal of this paper is to demonstrate the integrated nature of the system and the benefits of integration; in particular, the use of reflective information and the value of function and time composition. The lessons learned from these applications and the project as a whole are also presented.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  • Amerasinghe, P. An Interactive Timing Analysis Tool for the SARTOR Environment, Master's thesis, University of Texas at Austin, 1985.

  • Arnold, R., F. Mueller, D. B. Whalley, and M. Harmon, Bounding Worst-Case Instruction Cache Performance, Proceedings of the 1994 IEEE Real-Time Systems Symposium, December 1994.

  • Bickford, C., M. Teo, G. Wallace, J.A. Stankovic and K. Ramamritham, A Robotic Assembly Application on the Spring Real-Time System, Proceedings of the 1996 IEEE Real-Time Technology and Applications Symposium, May 1996.

  • Burns, A. and A. Wellings, Real-Time Systems and Their Programming Languages. Addison-Wesley, 1989.

  • Chen, M. Timing Analysis Language-TALProgrammer's Manual, Technical report, University of Texas at Austin, 1985.

  • Di Natale, M. and J.A. Stankovic, Dynamic End-to-End Guarantees in Distributed Real-Time Systems, Proc.of the 15th Real-Time Systems Symposium, December 1994.

  • Furht, B., D. Grostick, D. Gluch, G. Rabbat, J. Parker, and M. McRoberts, Real-Time Unix Systems, Design and Application Guide, Kluwer Academic Publishers, Boston, MA., 1991.

    Google Scholar 

  • B. Gallmeister, POSIX.4: Programming for the Real World, O'Reilly and Associates, 1995.

  • Gehani, N. and K. Ramamritham, Real-Time Concurrent C (C++): A Language for Programming Dynamic Real-time Systems, Real-Time Systems, Vol. 3., No.4, Dec. 1991, pp 377–405.

    Google Scholar 

  • Gene, E. The Spring Simulation Testbed-V2 User's Guide, Technical report, Spring Project Documentation, 1990.

  • Gheith, A. and K. Schwan, CHAOS arc: Kernel Support for Multi-Weight Objects, Invocations, and Atomicity in Real-Time Applications, ACM Transactions on Computer Systems, Vol 11., No. 1, April 1993, pp 33–72.

    Google Scholar 

  • Halang, W. and A. Stoyenko, Constructing Predictable Real-Time Systems, Kluwer Academic Publishers, 1991.

  • Harmon, M.,T. Baker and D. Whalley, A Retargetable Technique for Predicting Execution Time, Proceedings of the IEEE Real-Time Systems Symposium, December 1992, pp pages 68–77.

  • Ishikawa, Y., H. Tokuda and C. Mercer, Object Oriented Real-Time Language Design: Constructs for Timing Constraints, Proceedings of OOPSLA/ECOOP, ACM, October 1990.

  • Kenney, K. and K. Lin, Building Flexible Real-Time Systems Using the Flex Language, IEEE Computer, Vol. 24., No. 5, May 1991, pp 70–78.

    Google Scholar 

  • Kligerman, E. and A. Stoyenko, Real-Time Euclid: A Language for Reliable Real-Time Systems, IEEE Transac-tions on Software Engineering, September 1986.

  • Kopetz, H., A. Damm, C. Koza and D. Mulozzani, Distributed Fault Tolerant Real-Time Systems: The Mars Approach, IEEE Micro, 1989, pp 25–40.

  • Kopetz, H. and W. Merker, The Architecture of MARS, Proceedings 15th FTCS, June 1985, pp 274–279.

  • Liu, J., K. Lin, W. Shih, A. Yu, J. Chung and W. Zhao, Algorithms for Scheduling Imprecise Calculations, IEEE Computer, Vol. 24., No. 5, May 1991, pp 58–68.

    Google Scholar 

  • Molesky, L.D., C. Shen and G. Zlokapa, Predictable Synchronization Mechanisms for Multiprocessor Real-Time Systems, Real-Time Systems, Vol. 2., No. 3, 1989, pp 163–180.

    Google Scholar 

  • Motorola, Inc. MCOR Unit68020 32-bit Microprocessor User's Manual, 1986.

  • Nahum, E. and D. Yates, Real-Time IPC for the Spring Kernel, COINS 777 Project Report, University of Mas-sachusetts, Amherst, MA, May 1990.

    Google Scholar 

  • Niehaus, D. Program Representation and Translation for Predictable Real-Time Systems, Proceedings of the IEEE Real-Time Systems Symposium, December 1991, pp 53–63.

  • Niehaus, D. Program Representation and Execution in Real-Time Multiprocessor Systems, PhD thesis, University of Massachusetts, Amherst MA, 1994.

    Google Scholar 

  • Niehaus, D., L. Molesky and J.A. Stankovic, Spring System Programming and Run-Time Models, Spring Project Documentation, University of Massachusetts, Amherst, MA, June 1990

    Google Scholar 

  • Niehaus, D., K. Ramamritham, J.A. Stankovic, G. Wallace, C. Weems, W. Burleson and J. Ko, The Spring Scheduling Co-Processor: Design, Use, and Performance, Proceedings of the Fourteenth IEEE Real-Time Systems Symposium, December 1993, pp 106–111.

  • Niehaus, D., J.A. Stankovic and K. Ramamritham, A Real-Time System Description Language, Proceedings of the 1995 IEEE Real-Time Technology and Applications Symposium, May 1995.

  • Nirkhe, V., S. Tripathi and A. Agrawala, Language Support for the Maruti Real-Time System, Proceedings of the IEEE Real-Time Systems Symposium, December 1990.

  • Park, C. and A. Shaw, Experiments with a Program Timing Tool Based on Source-Level Timing Schema, IEEE Computer, Vol. 24., No.5, May 1991, pp 48–57.

    Google Scholar 

  • Pflugel, M., A. Damm and W. Schwabl, Interprocess Communication in MARS, ITG/GI Conference on Commu-nication in Distributed Systems, Stuttgart, Germany, February 1989.

    Google Scholar 

  • Puschner, P. and C. Koza, Calculating the Maximum Execution Time of Real-Time Programs, Real-Time Systems Journal, Vol 1., No. 2, 1990.

  • Ramamritham, K., J.A. Stankovic and P. Shiah, Efficient Scheduling Algorithms for Real-Time Multiprocessor Systems, IEEE Transactions on Parallel and Distributed Systems, Vol 1., No. 2, February 1989, pp. 184–194.

    Google Scholar 

  • Ramamritham, K., J.A. Stankovic, and W. Zhao, Distributed Scheduling of Tasks with Deadlines and Resource Requirements, IEEE Transactions on Computers, Vol 38., No.8, August 1989, pp 1110–1123.

    Google Scholar 

  • Saksena, M., J. da Silva and A. Agrawala, Design and Implementation of Maruti-II, Advances in Real-Time Systems, Sang Son, editor, Prentice-Hall, 1995.

  • Saltzer, J.H., D.P. Reed and D.D. Clark, End to End Arguments in System Design, ACMTransactions on Computer Systems, Vol 2., No. 2, November 1984.

  • Sha, L. and J. Goodenough, Real-Time Scheduling Theory and ADA, Cmu/sei-88-tr-33, CMU, November 1988.

  • Shen, C., K. Ramamritham and J.A. Stankovic, Resource Reclaiming in Multiprocessor Real-Time Systems, IEEE Transactions on Parallel and Distributed Systems, Vol 4., No.4, April 1993, pp 382–398.

    Google Scholar 

  • Shin, K. HARTS: A Distributed Real-Time Architecture, IEEE Computer, Vol 24., No. 5, 1991.

  • Shin, K.G., D.D. Kandlur, D.L. Kiskis, P.S. Dodd, H.A. Rosenberg, and A. Indiresan, A Software Overview of HARTS: A Distributed Real-Time System, Advances in Real-Time Systems. Sang Son, editor, Prentice-Hall, 1995.

  • Stallman, R. Using and Porting GNU CC, Technical report, Free Software Foundation, May 1992.

  • Stankovic, J.A., Misconceptions about Real-Time Computing: A Serious Problem for Next Generation Systems, IEEE Computer, October 1988, pp 10–19.

  • Stankovic, J.A., D. Niehaus and K. Ramamritham, SpringNet: An Architecture for High Performance Distributed Real-Time Computing, Workshop on Parallel and Distributed Real-Time Systems, April 1993.

  • Stankovic, J.A. and K. Ramamritham, The Design of the Spring Kernel, Proc.of the 8th Real-Time Systems Symposium, December 1987, pp 146–157.

  • Stankovic, J.A. and K. Ramamritham, The Spring Kernel: A New Paradigm for Real-Time Systems, IEEE Software, Vol 8., No.3, May 1991, pp 62–72.

    Google Scholar 

  • Stoyenko, A., A Schedulability Analyzer for Real-Time Euclid, IEEE Real-Time Systems Symposium, December 1987.

  • SYSTRAN Corporation, SCRAMNet Network Reference Manual, Dayton, Ohio, 45432, 1991.

  • Tokuda, H., C.W. Mercer, Y. Ishikawa and T. Marchok, Priority Inversions in Real-Time Communication, Proc. of the 10th Real-Time Systems Symposium, May 1989, pp 348–359.

  • Tokuda, H., T. Nakajima and P. Rao, Real-Time MACH: Towards a Predictable Real-Time System, Proceedings of the USENIX MACH Workshop, 1990.

  • White, R.T. F. Mueller, C.A. Healy, D. B. Whalley, and M. G. Harmon, Timing Analysis for Data Caches and Set-Associative Caches, Proceedings of the 1997 IEEE Real-Time Technology and Applications Symposium, June 1997.

  • Zhao, W. and K. Ramamritham, Simple and Integrated Heuristic Algorithms for Scheduling Tasks with Time and Resource Constraints, Journal of Systems and Software, Vol 7., No. 3, September 1987, pp 195–205.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Stankovic, J.A., Ramamritham, K., Niehaus, D. et al. The Spring System: Integrated Support for Complex Real-Time Systems. Real-Time Systems 16, 223–251 (1999). https://doi.org/10.1023/A:1008051107382

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008051107382

Navigation