Skip to main content

System-Level Types for Component-Based Design

  • Conference paper
  • First Online:
Embedded Software (EMSOFT 2001)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2211))

Included in the following conference series:

Abstract

We present a framework to extend the concept of type systems in programming languages to capture the dynamic interaction in component-based design, such as the communication protocols between components. In our system, the interaction types and the dynamic behavior of components are defined using interface automata - an automata-based formalism. Type checking, which checks the compatibility of a component with a certain interaction type, is conducted through automata composition. Our type system is polymorphic in that a component may be compatible with more than one interaction type. We show that a subtyping relation exists among various interaction types and this relation can be described using a partial order. This system-level type order can be used to facilitate the design of polymorphic components and simplify type checking. In addition to static type checking, we also propose to extend the use of interface automata to the on-line reflection of component states and to run-time type checking. We illustrate our framework using a component-based design environment, Ptolemy II, and discuss the trade-offs in the design of system-level type systems.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. L. Cardelli and P. Wegner, “On Understanding Types, Data Abstraction, and Polymorphism,” ACM Computing Surveys, Vol.17, No.4, Dec. 1985.

    Google Scholar 

  2. B. A. Davey and H. A. Priestly, Introduction to Lattices and Order, Cambridge University Press, 1990.

    Google Scholar 

  3. J. Davis II, C. Hylands, B. Kienhuis, E.A. Lee, J. Liu, X. Liu, L. Muliadi, S. Neuendorffer, J. Tsay, B. Vogel, and Y. Xiong, “Heterogeneous Concurrent Modeling and Design in Java,” Technical Memorandum UCB/ERL M01/12, EECS, University of California, Berkeley, March 15, 2001. (http://ptolemy.eecs.berkeley.edu/publications/papers/01/HMAD/)

    Google Scholar 

  4. L. de Alfaro and T. A. Henzinger, “Interface Automata,” to appear in Proc. of the Joint 8th European Software Engineering Conference and 9th ACM SIGSOFT International Symposium on the Foundations of Software Engineering (ESEC/FSE 01), Austria, 2001.

    Google Scholar 

  5. C. A. R. Hoare, “Communicating Sequential Processes,” Communications of the ACM, 28(8), August 1978.

    Google Scholar 

  6. G. Kahn, “The Semantics of a Simple Language for Parallel Programming,” Proc. of the IFIP Congress 74, North-Holland Publishing Co., 1974.

    Google Scholar 

  7. G. Kahn and D. B. MacQueen, “Coroutines and Networks of Parallel Processes,” Information Processing 77, B. Gilchrist, editor, North-Holland Publishing Co., 1977.

    Google Scholar 

  8. E. A. Lee, “Computing for Embedded Systems,” IEEE Instrumentation and Measurement Technology Conference, Budapest, Hungary, May 21-23, 2001.

    Google Scholar 

  9. E. A. Lee and D. G. Messerschmitt, “Synchronous Data Flow,” Proc. of the IEEE, Sept., 1987.

    Google Scholar 

  10. E. A. Lee and Yuhong Xiong, “System-Level Types for Component-Based Design,” Technical Memorandum UCB/ERL M00/8, EECS, University of California, Berkeley, Feb. 29, 2000. (http://ptolemy.eecs.berkeley.edu/publications/papers/00/systemLevel/)

    Google Scholar 

  11. N. Lynch and M. Tuttle, “Hierarchical Correctness Proofs for Distributed Algorithms,” Proc. 6th ACM Symp. Principles of Distributed Computing, pp 137–151, 1981.

    Google Scholar 

  12. J. C. Mitchell, “Coercion and Type Inference,” 11th Annual ACM Symposium on Principles of Programming Languages, 175–185, 1984.

    Google Scholar 

  13. M. Odersky, “Challenges in Type System Research,” ACM Computing Surveys, 28(4), 1996.

    Google Scholar 

  14. H. Xi and F. Pfenning, “Eliminating Array Bound Checking Through Dependent Types,” Proc. of ACM SIGPLAN Conf. on Programming Language Design and Implementation (PLDI’ 98), pp. 249–257, Montreal, June, 1998.

    Google Scholar 

  15. Y. Xiong and E. A. Lee, “An Extensible Type System for Component-Based Design,” 6th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, Berlin, Germany, March/April 2000. LNCS 1785.

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2001 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lee, E.A., Xiong, Y. (2001). System-Level Types for Component-Based Design. In: Henzinger, T.A., Kirsch, C.M. (eds) Embedded Software. EMSOFT 2001. Lecture Notes in Computer Science, vol 2211. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45449-7_16

Download citation

  • DOI: https://doi.org/10.1007/3-540-45449-7_16

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-42673-8

  • Online ISBN: 978-3-540-45449-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics