Skip to main content

Abstract Behavior Types: A Foundation Model for Components and Their Composition

  • Conference paper
Formal Methods for Components and Objects (FMCO 2002)

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

Included in the following conference series:

Abstract

The notion of Abstract Data Type (ADT) has served as a foundation model for structured and object oriented programming for some thirty years. The current trend in software engineering toward component based systems requires a foundation model as well. The most basic inherent property of an ADT, i.e., that it provides a set of operations, subverts some highly desirable properties in emerging formal models for components that are based on the object oriented paradigm.

We introduce the notion of Abstract Behavior Type (ABT) as a higher-level alternative to ADT and propose it as a proper foundation model for both components and their composition. An ABT defines an abstract behavior as a relation among a set of timed-data-streams, without specifying any detail about the operations that may be used to implement such behavior or the data types it may manipulate for its realization. The ABT model supports a much looser coupling than is possible with the ADT’s operational interface, and is inherently amenable to exogenous coordination. We propose that both of these are highly desirable, if not essential, properties for models of components and their composition.

To demonstrate the utility of the ABT model, we describe Reo: an exogenous coordination language for compositional construction of component connectors based on a calculus of channels. We show the expressive power of Reo, and the applicability of ABT, through a number of examples.

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. Arbab, F.: The IWIM model for coordination of concurrent activities. In: Hankin, C., Ciancarini, P. (eds.) COORDINATION 1996. LNCS, vol. 1061, pp. 34–56. Springer, Heidelberg (1996)

    Google Scholar 

  2. Arbab, F.: What do you mean, coordination? In: Bulletin of the Dutch Association for Theoretical Computer Science, NVTI, pp. 11–22 (1998), Available on-line http://www.cwi.nl/NVTI/Nieuwsbrief/nieuwsbrief.html

  3. Arbab, F.: A channel-based coordination model for component composition. Technical Report SEN-R0203, Centrum voor Wiskunde en Informatica, Kruislaan 413, 1098 SJ Amsterdam, The Netherlands (February 2002)

    Google Scholar 

  4. Arbab, F.: Reo: A channel-based coordination model for component composition. Mathematical Structures in Computer Science (2003)

    Google Scholar 

  5. Arbab, F., de Boer, F.S., Bonsangue, M.M., Guillen Scholten, J.V.: MoCha: A framework for coordination using mobile channels. Technical Report SEN-R0128, Centrum voor Wiskunde en Informatica, Kruislaan 413, 1098 SJ Amsterdam, The Netherlands (December 2001)

    Google Scholar 

  6. Arbab, F., de Boer, F.S., Bonsangue, M.M.: A coordination language for mobile components. In: Proc. ACM SAC 2000 (2000)

    Google Scholar 

  7. Arbab, F., Mavaddat, F.: Coordination through channel composition. In: Arbab, F., Talcott, C. (eds.) COORDINATION 2002. LNCS, vol. 2315, pp. 21–38. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  8. Arbab, F., Rutten, J.J.M.M.: A coinductive calculus of component connectors. Technical Report SEN-R0216, Centrum voor Wiskunde en Informatica, Kruislaan 413, 1098 SJ Amsterdam, The Netherlands (September 2002)

    Google Scholar 

  9. Arbab, F., de Boer, F.S., Bonsangue, M.M.: A logical interface description language for components. In: Porto, A., Roman, G.-C. (eds.) COORDINATION 2000. LNCS, vol. 1906, pp. 249–266. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  10. de Bakker, J.W., Kok, J.N.: Towards a Uniform Topological Treatment of Streams and Functions on Streams. In: Brauer, W. (ed.) ICALP 1985. LNCS, vol. 194, pp. 140–148. Springer, Heidelberg (1985)

    Chapter  Google Scholar 

  11. Barbosa, L.: Components as Coalgebras. PhD thesis, Universidade do Minho, Braga, Portugal (2001)

    Google Scholar 

  12. Bonsangue, M.M., Arbab, F., de Bakker, J.W., Rutten, J.J.M.M., Scutellá, A., Zavattaro, G.: A transition system semantics for the control-driven coordination language manifold. Theoretical Computer Science 240, 3–47 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  13. Broy, M.: A logical basis for component-based system engineering. Technical report, Technische Universität München (November 2000)

    Google Scholar 

  14. Broy, M., Stolen, K.: Specification and development of interactive systems. Monographs in Computer Science, vol. 62. Springer, Heidelberg (2001)

    MATH  Google Scholar 

  15. Buck, J., Ha, S., Lee, E.A., Messerschmitt, D.G.: Ptolemy: a framework for simulating and prototyping heterogeneous systems. International Journal of Computer Simulation, special issue on Simulation Software Development(3) (January 1990)

    Google Scholar 

  16. CORBA. See: http://www.omg.org

  17. de Boer, F.S., Bonsangue, M.M.: A compositional model for confluent dynamic data-flow networks. In: Nielsen, M., Rovan, B. (eds.) MFCS 2000. LNCS, vol. 1893, pp. 212–221. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  18. Enterprise JavaBeans, See: http://java.sun.com/products/ejb

  19. Gelernter, D., Carriero, N.: Coordination languages and their significance. Communication of the ACM 35(2), 97–107 (1992)

    Article  Google Scholar 

  20. Gore, J.: Object Structures: Building Object-Oriented Software Components. Addison-Wesley, Reading (1996)

    MATH  Google Scholar 

  21. Grimes, R.: Professional DCOM Programming. Wrox Press (1997)

    Google Scholar 

  22. Gumm, H.P., Schröder, T.: Covarieties and complete covarieties. In: [29] (1998)

    Google Scholar 

  23. Barringer, H., Kuiper, R., Pnueli, A.: A really abstract current model and its temporal logic. In: Proceedings of Thirteenth Annual ACM Symposium on principles of Programming Languages, pp. 173–183. ACM, New York (1986)

    Google Scholar 

  24. Hennicker, R., Wirsing, M.: A formal method for the systematic reuse of specification components. In: Broy, M., Wirsing, M. (eds.) CIP 1991. LNCS, vol. 544, pp. 49–75. Springer, Heidelberg (1991)

    Chapter  Google Scholar 

  25. Huber, F., Rausch, A., Rumpe, B.: Modeling dynamic component interfaces. In: Singh, M., Meyer, B., Gil, J., Mitchell, R. (eds.) Proc. Technology of Object- Oriented Languages and Systems (TOOLS 1998), pp. 58–70. IEEE Computer Society, Los Alamitos (1998)

    Google Scholar 

  26. Jacobs, B.: Behaviour-refinement of object-oriented specifications with coinductive correctness proofs. Report CSI-R9618, Computing Science Institute, University of Nijmegen (1996); Also in Bidoit, M., Dauchet, M. (eds.): CAAP 1997, FASE 1997, and TAPSOFT 1997. LNCS, vol. 1214. Springer, Heidelberg (1997)

    Google Scholar 

  27. Jacobs, B.: Coalgebraic specifications and models of deterministic hybrid systems. In: Nivat, M., Wirsing, M. (eds.) AMAST 1996. LNCS, vol. 1101, pp. 520–535. Springer, Heidelberg (1996)

    Chapter  Google Scholar 

  28. Jacobs, B.: Inheritance and cofree constructions. In: Cointe, P. (ed.) ECOOP 1996. LNCS, vol. 1098, pp. 210–231. Springer, Heidelberg (1996)

    Google Scholar 

  29. Jacobs, B., Moss, L., Reichel, H., Rutten, J.J.M.M. (eds.): Proceedings of the first international workshop on Coalgebraic Methods in Computer Science (CMCS 1998). Electronic Notes in Theoretical Computer Science, vol. 11. Elsevier Science, B.V. (1998), Available at URL: www.elsevier.nl/locate/entcs

    Google Scholar 

  30. Jacobs, B., Rutten, J.J.M.M.: A tutorial on (co)algebras and (co)induction. Bulletin of EATCS 62, 222–259 (1997), Available on-line http://www.cs.kun.nl/~bart/PAPERS/JR.ps.Z

    MATH  Google Scholar 

  31. Jini, See: http://www.sun.com/jini

  32. Kok, J.N.: Semantic Models for Parallel Computation in Data Flow, Logic- and Object-Oriented Programming. PhD thesis, Vrije Universiteit, Amsterdam (May 1989)

    Google Scholar 

  33. Lee, E.A., Parks, T.M.: Dataflow process networks. In: Proceedings of the IEEE, May 1995, vol. 83, pp. 773–801 (1995)

    Google Scholar 

  34. Lee, E.A., Messerschmitt, D.G.: An overview of the ptolemy project. Technical report, Dept. of Electrical Engineering and Computer Sciences, University of California at Berkeley (1993)

    Google Scholar 

  35. Li, S., et al.: Professional Jini. Mass Market Paperback (2000)

    Google Scholar 

  36. Matena, V., Stearns, B.: Applying Enterprise JavaBeans: Component-Based Development for the J2EE Platform. Java Series, Enterprise edn. Addison-Wesley, Reading (2000)

    Google Scholar 

  37. Meyer, B.: Eiffel: The Language. Prentice-Hall, Englewood Cliffs (1992)

    MATH  Google Scholar 

  38. Meyer, B.: Reusable Software: The Base Object-Oriented Component Libraries. Prentice-Hall, Englewood Cliffs (1994)

    Google Scholar 

  39. Milner, R.: Elements of interaction. Communications of the ACM 36(1), 78–89 (1993)

    Article  Google Scholar 

  40. Milner, R., Parrow, J., Walker, D.: A calculus of mobile processes, parts I and II. Information and Computation 100(1), 1–77 (1992)

    Article  MATH  MathSciNet  Google Scholar 

  41. Moss, L.S.: Coalgebraic logic. Annals of Pure and Applied Logic 96(1- 3), 277–317 (1999)

    Article  MATH  MathSciNet  Google Scholar 

  42. Moss, L.S., Danner, N.: On the foundations of corecursion. Logic. Journal of the IGPL 5(2), 231–257 (1997)

    Article  MATH  MathSciNet  Google Scholar 

  43. Nierstrasz, O., Achermann, F.: A calculus for modeling software components. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2002. LNCS, vol. 2852, pp. 339–360. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  44. Oaks, S., Wong, H.: Jini in a Nutshell. O’Reilly & Associates, Sebastopol (2000)

    Google Scholar 

  45. Papadopoulos, G.A., Arbab, F.: Coordination models and languages. In: Zelkowitz, M. (ed.) Advances in Computers – The Engineering of Large Systems, vol. 46, pp. 329–400. Academic Press, London (1998)

    Google Scholar 

  46. Pattinson, D., Wirsing, M.: Making components move: A separation of concerns approach. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, W.-P. (eds.) FMCO 2002. LNCS, vol. 2852, pp. 487–507. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  47. Reichel, H.: An approach to object semantics based on terminal coalgebras. Mathematical Structures in Computer Science 5, 129–152 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  48. Rutten, J.J.M.M.: Elements of stream calculus an extensive exercise in coinduction. In: Brookes, S., Mislove, M. (eds.) Proc. of 17th Conf. on Mathematical Foundations of Programming Semantics, Aarhus, Denmark, May 23-26. Electronic Notes in Theoretical Computer Science, vol. 45. Elsevier, Amsterdam (2001)

    Google Scholar 

  49. Rutten, J.J.M.M.: Universal coalgebra: A theory of systems. Technical Report CS-R9652, Centrum voor Wiskunde en Informatica, Kruislaan 413, 1098 SJ Amsterdam, The Netherlands (1996), Available on-line http://www.cwi.nl/ftp/CWIreports/AP/CS-R9652.ps.Z

  50. Rutten, J.J.M.M.: Automata and coinduction (an exercise in coalgebra). In: Sangiorgi, D., de Simone, R. (eds.) CONCUR 1998. LNCS, vol. 1466, pp. 194–218. Springer, Heidelberg (1998), Report SEN-R9803, CWI, Available at URL: www.cwi.nl

    Chapter  Google Scholar 

  51. Rutten, J.J.M.M.: Automata, power series, and coinduction: taking input derivatives seriously (extended abstract). In: Wiedermann, J., Van Emde Boas, P., Nielsen, M. (eds.) ICALP 1999. LNCS, vol. 1644, pp. 645–654. Springer, Heidelberg (1999), Report SEN-R9901, CWI, Available at URL: www.cwi.nl

    Chapter  Google Scholar 

  52. Rutten, J.J.M.M.: Coalgebra, concurrency, and control. Report SEN-R9921, CWI (1999), Available at URL: www.cwi.nl ; Boel, R., Stremersch, G. (eds.) Extended abstract in: Discrete Event Systems. Kluwer (2000)

  53. Rutten, J.J.M.M.: Universal coalgebra: a theory of systems. Theoretical Computer Science 249(1), 3–80 (2000)

    Article  MATH  MathSciNet  Google Scholar 

  54. Sangiorgi, D.: Asynchronous process calculi: the first-order and higher-order paradigms (tutorial). Theoretical Computer Science 253 (2001)

    Google Scholar 

  55. Siegel, J.: CORBA: Fundamentals and Programming, 1st edn. John Wiley & Sons Inc., New York (1996)

    Google Scholar 

  56. Snyder, A.: Encapsulation and inheritance in object-oriented programming languages. In: OOPSLA 1986, September 1986, pp. 38–45 (1986)

    Google Scholar 

  57. Wirsing, M., Hennicker, R., Breu, R.: Reusable specification components. Technical Report MIP-8817, Passau University (1988)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2003 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Arbab, F. (2003). Abstract Behavior Types: A Foundation Model for Components and Their Composition. In: de Boer, F.S., Bonsangue, M.M., Graf, S., de Roever, WP. (eds) Formal Methods for Components and Objects. FMCO 2002. Lecture Notes in Computer Science, vol 2852. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-39656-7_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-39656-7_2

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-20303-2

  • Online ISBN: 978-3-540-39656-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics