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.
Keywords
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
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 - TAL Programmer’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.
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.
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.
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 OOPSLAJECOOP, 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.
Kligerman, E. and A. Stoyenko, Real-Time Euclid: A Language for Reliable Real-Time Systems, IEEE Transactions 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.
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.
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 Massachusetts, Amherst, MA, May 1990.
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.
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
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.
Pflugel, M., A. Damm and W. Schwabl, Interprocess Communication in MARS, ITG/GI Conference on Communication in Distributed Systems, Stuttgart, Germany, February 1989.
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.
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.
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, ACM Transactions 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.
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.
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.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1999 Kluwer Academic Publishers
About this chapter
Cite this chapter
Stankovic, J.A., Ramamritham, K., Niehaus, D., Humphrey, M., wallace, G. (1999). The Spring System: Integrated Support for Complex Real-Time Systems. In: Rajkumar, R. (eds) Operating Systems and Services. Springer, Boston, MA. https://doi.org/10.1007/978-1-4615-5041-9_4
Download citation
DOI: https://doi.org/10.1007/978-1-4615-5041-9_4
Publisher Name: Springer, Boston, MA
Print ISBN: 978-0-7923-8548-6
Online ISBN: 978-1-4615-5041-9
eBook Packages: Springer Book Archive