Palette: A Reuse-Oriented Specification Language for Real-Time Systems

  • Binoy Ravindran
  • Stephen Edwards
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1844)


We present Palette, a reusable specification language for real-time control systems. Palette is a meta-language that is programming language independent and has generic, reusable functional abstractions that can be customized to construct a real-time system in a given context. The abstractions allow modeling of the interactions of the system with its physical environment, including the specification of data and event stream properties, and allow expression of quality of service (QoS) requirements such as timeliness and survivability. Palette supports mechanisms that allow construction of new abstractions from existing ones. The set of reusable, domain specific abstractions provided by the language thus serves as an implementation vehicle for constructing new real-time control systems—promoting reuse-in-the-large—or enhance existing systems within the domain by reusing individual components—promoting reuse-in-the-small. Further, the abstractions of the language support underlying mechanisms for ensuring QoS requirements are achieved. This promotes reuse of QoS management solutions, techniques, and infrastructures.


software reuse domain-specific architectures real-time systems computer-based control systems command and control middleware 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    International Standard ANSI/ISO/IEC-8652:1995. Ada 95 Reference Manual. Intermetrics, Inc. (January 1995)Google Scholar
  2. 2.
    B-Abdallah, H., Lee, I., Choi, J.-Y.: A graphical language with formal semantics for the specification and analysis of real-time systems. In: Proceedings of the IEEE Real-Time Systems Symposium, pp. 276–286 (December 1995)Google Scholar
  3. 3.
    Bihari, T., Gopinath, P.: Object-oriented real-time systems. IEEE Computer 25(12), 25–32 (1992)Google Scholar
  4. 4.
    Choi, J.-Y., Lee, I., Xie, H.-L.: The specification and schedulability analysis of real-time systems using ACSR. In: Proceedings of the IEEE Real-Time Systems Symposium, pp. 266–275 (December 1995)Google Scholar
  5. 5.
    Clark, R.K., Jensen, E.D., Reynolds, F.D.: An architectural overview of the Alpha real-time distributed kernel. In: Proceedings of the USENIX Workshop on Microkernel and Other Kernel Architectures, Seattle (April 1992)Google Scholar
  6. 6.
  7. 7.
    Gehani, N., Ramamritham, K.: Real-time concurrent C: A language for programming dynamic real-time systems. Journal of Real-Time Systems 3(4), 377–405 (1991)CrossRefGoogle Scholar
  8. 8.
    Gerber, R., Hong, S.: Semantics-based compiler transformations for enhanced schedulability. In: Proceedings of the IEEE Real-Time Systems Symposium, pp. 232–242 (December 1993)Google Scholar
  9. 9.
    Gergeleit, M., Kaiser, J., Streich, H.: Checking timing constraints in distributed object-oriented programs. In: Proceedings of the Object-Oriented Real-Time Systems (OORTS) Workshop (October 1995); Seventh IEEE Symposium on Parallel and Distributed Processing (SPDP)Google Scholar
  10. 10.
    Gibson, D.S.: An introduction to RESOLVE/Ada95. Technical Report OSUCISRC- 4/97-TR23, The Ohio State University (April 1997)Google Scholar
  11. 11.
    Goguen, J.A., Meseguer, J.: Extensions and foundations of object-oriented programming. SIGPLAN Notices 21(10), 153–162 (1986)CrossRefGoogle Scholar
  12. 12.
    Goguen, J.A., Meseguer, J., Plaisted, D.: Programming with parameterized abstract objects in OBJ. In: Ferrari, D., Bolognani, M., Goguen, J. (eds.) Theory and Practice of Software Technology, pp. 163–193. North-Holland, Amsterdam (1983)Google Scholar
  13. 13.
    Goguen, J.A.: Principles of parameterized programming. In: Biggerstaff, T.J., Perlis, A.J. (eds.) Software Reusability. Concepts and Models, vol. I, pp. 159–225. ACM Press, New York (1989)Google Scholar
  14. 14.
    Hollingsworth, J.: Software Component Design-for-Reuse: A Language Independent Discipline Applied to Ada. PhD thesis, Dept. of Computer and Information Science. The Ohio State University, Columbus, OH (1992)Google Scholar
  15. 15.
    Hull, D., Shankar, A., Nahrstedt, K., Liu, J.W.S.: An end-to-end QoS model and management architecture. In: Proceedings of the IEEE Workshop on Middleware for Distributed Real-Time Systems and Services, pp. 82–89 (December 1997); The 18th IEEE Real-Time Systems SymposiumGoogle Scholar
  16. 16.
    Ishikawa, Y., Tokuda, H., Mercer, C.M.: An object-oriented real-time programming language. IEEE Computer 25(10), 66–73 (1992)Google Scholar
  17. 17.
    Jahanian, F., Mok, A.K.-L.: Safety analysis of timing properties in real-time systems. IEEE Transactions on Software Engineering 12(9), 890–904 (1986)Google Scholar
  18. 18.
    Jahanian, F., Rajkumar, R., Raju, S.: Run-time monitoring of timing constraints in distributed real-time systems. Journal of Real-Time Systems (1994)Google Scholar
  19. 19.
    Kenny, K.B., Lin, K.J.: Building flexible real-time systems using the Flex language. IEEE Computer, 70–78 (May1991)Google Scholar
  20. 20.
    Kieburtz, R.B., Hennessy, J.L.: TOMAL—a high-level programming language for microprocessor process control applications. ACM SIGPLAN Notices, 127–134 ( April 1976)Google Scholar
  21. 21.
    Kligerman, E., Stoyenko, A.D.: Real-Time Euclid: A language for reliable real-time systems. IEEE Transactions on Software Engineering 12(9), 941–949 (1986)Google Scholar
  22. 22.
    Lee, I., Gehlot, V.: Language constructs for distributed real-time systems. In: Proceedings of the IEEE Real-Time Systems Symposium (December 1985)Google Scholar
  23. 23.
    Lin, K.J., Natarajan, S.: Expressing and maintaining timing constraints in FLEX. In: Proceedings of the 9th IEEE Real-Time Systems Symposium, pp. 96–105 (December 1988)Google Scholar
  24. 24.
    Martin, T.: Real-time programming language PEARL—concept and characteristics. In: Proceedings of the IEEE Computer Society Second International Computer Software and Applications Conference (COMPSAC), pp. 301–306 (1978)Google Scholar
  25. 25.
    Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall, New York (1997)zbMATHGoogle Scholar
  26. 26.
    Milner, R., Tofte, M., Harper, R.: The Definition of Standard ML. MIT Press, Cambridge (1990)Google Scholar
  27. 27.
    Nirkhe, V.M., Tripathi, S.K., Agrawala, A.K.: Language support for the maruti real-time system. In: Proceedings of the 11th IEEE Real-Time Systems Symposium, pp. 257–266 (1990)Google Scholar
  28. 28.
    Ravindran, B.: Modeling and Analysis of Complex, Dynamic Real-Time Systems. PhD thesis, The University of Texas at Arlington (August 1998)Google Scholar
  29. 29.
    Ravindran, B., Welch, L.R., Kelling, C.: Building distributed, scalable, dependable real-time systems. In: Proceedings of the Tenth IEEE International Conference on Engineering of Computer Based Systems, pp. 452–459 (March 1997)Google Scholar
  30. 30.
    Ravindran, B., Welch, L.R., Shirazi, B.: Resource management middleware for dynamic, dependable real-time systems. Journal of Real-Time Systems (1999) (to appear)Google Scholar
  31. 31.
    Rosu, D., Schwan, K., Yalamanchili, S., Jha, R.: On adaptive resource allocation for complex real-time applications. In: Proceedings of the 18th IEEE Real-Time Systems Symposium, pp. 320–329 (December 1997)Google Scholar
  32. 32.
    Shaw, A.: Reasoning about time in higher-level language software. IEEE Transactions on Software Engineering 15(7), 875–889 (1989)CrossRefGoogle Scholar
  33. 33.
    Shin, K.G., Hou, C.-J.: Design and evaluation of effective load sharing in distributed real-time systems. IEEE Transactions on Parallel and Distributed Systems 5(7), 704–719 (1994)CrossRefGoogle Scholar
  34. 34.
    Sitaraman, M., Weide, B.W.: Special feature: Component-based software using RESOLVE. ACM SIGSOFT Software Engineering Notes 19(4), 21–67 (1994)CrossRefGoogle Scholar
  35. 35.
    Sommer, S., Potter, J.: Operating system extensions for dynamic real-time applications. In: Proceedings of the IEEE Real-Time Systems Symposium, pp. 45–50 (December 1996)Google Scholar
  36. 36.
    William, T.: Formal Specification of Parameterized Programs in LILEANNA. PhD thesis, Dept. of Electrical Engineering, Stanford University, Stanford, CA (1997)Google Scholar
  37. 37.
    High performance distributed computing (HiPer-D), Available at
  38. 38.
    Welch, L., Ravindran, B., Shirazi, B., Bruggeman, C.: Specification and modeling of dynamic, distributed real-time systems. In: Proceedings of the 19th IEEE Real- Time Systems Symposium (December 1998) (to appear)Google Scholar
  39. 39.
    Welch, L.R., Ravindran, B., Harrison, R.D., Madden, L., Masters, M.W., Mills, W.: Challenges in engineering distributed shipboard control systems. In: Proceedings of the Work-In-Progress Session (December 1996); The 17th IEEE Real-Time Systems SymposiumGoogle Scholar
  40. 40.
    Welch, L.R., Shirazi, B.A., Ravindran, B., Kamangar, F.: Instrumentation, modeling and analysis of dynamic, distributed real-time systems. International Journal of Parallel and Distributed Systems and Networks 2(3), 105–117 (1999)Google Scholar
  41. 41.
    Welch, L.R., Stoyenko, A.D., Marlowe, T.J.: Response time prediction for distributed periodic processes specified in CaRT-Spec. Control Engineering Practice 3(5), 651–664 (1995)CrossRefGoogle Scholar
  42. 42.
    Welch, L.R., Werme, P.V., Fontenot, L.A., Masters, M.W., Shirazi, B.A., Ravindran, B., Mills, D.W.: Adaptive QoS and resource management using a posteriori workload characterizations. In: The Fifth IEEE Real-Time Technology and Applications Symposium (June 1999)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2000

Authors and Affiliations

  • Binoy Ravindran
    • 1
  • Stephen Edwards
    • 2
  1. 1.The Bradley Dept. of Electrical & Computer EngineeringVirginia TechBlacksburgUSA
  2. 2.Department of Computer ScienceVirginia TechBlacksburgUSA

Personalised recommendations