Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
International Standard ANSI/ISO/IEC-8652:1995. Ada 95 Reference Manual. Intermetrics, Inc. (January 1995)
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)
Bihari, T., Gopinath, P.: Object-oriented real-time systems. IEEE Computer 25(12), 25–32 (1992)
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)
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)
Quorum (1999), Available at http://www.darpa.mil/ito/research/quorum/index.html
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)
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)
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)
Gibson, D.S.: An introduction to RESOLVE/Ada95. Technical Report OSUCISRC- 4/97-TR23, The Ohio State University (April 1997)
Goguen, J.A., Meseguer, J.: Extensions and foundations of object-oriented programming. SIGPLAN Notices 21(10), 153–162 (1986)
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)
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)
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)
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 Symposium
Ishikawa, Y., Tokuda, H., Mercer, C.M.: An object-oriented real-time programming language. IEEE Computer 25(10), 66–73 (1992)
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)
Jahanian, F., Rajkumar, R., Raju, S.: Run-time monitoring of timing constraints in distributed real-time systems. Journal of Real-Time Systems (1994)
Kenny, K.B., Lin, K.J.: Building flexible real-time systems using the Flex language. IEEE Computer, 70–78 (May1991)
Kieburtz, R.B., Hennessy, J.L.: TOMAL—a high-level programming language for microprocessor process control applications. ACM SIGPLAN Notices, 127–134 ( April 1976)
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)
Lee, I., Gehlot, V.: Language constructs for distributed real-time systems. In: Proceedings of the IEEE Real-Time Systems Symposium (December 1985)
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)
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)
Meyer, B.: Object-Oriented Software Construction, 2nd edn. Prentice Hall, New York (1997)
Milner, R., Tofte, M., Harper, R.: The Definition of Standard ML. MIT Press, Cambridge (1990)
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)
Ravindran, B.: Modeling and Analysis of Complex, Dynamic Real-Time Systems. PhD thesis, The University of Texas at Arlington (August 1998)
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)
Ravindran, B., Welch, L.R., Shirazi, B.: Resource management middleware for dynamic, dependable real-time systems. Journal of Real-Time Systems (1999) (to appear)
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)
Shaw, A.: Reasoning about time in higher-level language software. IEEE Transactions on Software Engineering 15(7), 875–889 (1989)
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)
Sitaraman, M., Weide, B.W.: Special feature: Component-based software using RESOLVE. ACM SIGSOFT Software Engineering Notes 19(4), 21–67 (1994)
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)
William, T.: Formal Specification of Parameterized Programs in LILEANNA. PhD thesis, Dept. of Electrical Engineering, Stanford University, Stanford, CA (1997)
High performance distributed computing (HiPer-D), Available at http://www.nswc.navy.mil/hiperd/index.shtml
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)
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 Symposium
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2000 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Ravindran, B., Edwards, S. (2000). Palette: A Reuse-Oriented Specification Language for Real-Time Systems. In: Frakes, W.B. (eds) Software Reuse: Advances in Software Reusability. ICSR 2000. Lecture Notes in Computer Science, vol 1844. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-44995-9_2
Download citation
DOI: https://doi.org/10.1007/978-3-540-44995-9_2
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-67696-6
Online ISBN: 978-3-540-44995-9
eBook Packages: Springer Book Archive