Skip to main content

Reactive programming in Eiffel//

  • Distributed Programming Languages
  • Conference paper
  • First Online:
Object-Based Parallel and Distributed Computation (OBPDC 1995)

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

Abstract

This paper presents how asynchronous reactive programming can be achieved in the Eiffel// language. Our approach makes use of some reflection available in the language and is based on a specific communication semantics. We present some reactive abstractions that can be programmed with this mechanism and illustrate their use. The technique we developed makes it possible to transform a sequential system of objects into a reactive one. A tape-recorder example illustrates the programming technique.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Aksit, K. Wakita, J. Bosch, L. Bergmans, and A. Yonezawa. Abstracting Object Interactions Using Composition Filters. In O. Nierstrasz, R. Guerraoui, and M. Riveill, editors, Proceedings of the ECOOP '93 Workshop on Object-Based Distributed Programming, LNCS 791, pages 152–184. Springer-Verlag, 1994.

    Google Scholar 

  2. J.-P. Bahsoun, J.-P. Briot, D. Caromel, L. Féraud, O. Niestrasz, and P. Wegner. Panel: how could object-oriented concepts and parallelism cohabit ? In Proceedings of the 1994 International Conference on Computer Languages, pages 195–199, Toulouse, France, May 1994. IEEE Computer Society Press.

    Google Scholar 

  3. G. Berry, P. Gonthier, and G. Gonthier. Synchronous Programming of Reactive Systems: an Introduction to ESTEREL. Research report, INRIA, France, 1987.

    Google Scholar 

  4. F. Bertrand and M. Augeraud. Contrôle du comportement d'objets: les objets réactifs asynchrones. Rapport de Recherche No 93-3. Technical report, Laboratoire d'Informatique et d'Imagerie Industrielle, Université de la Rochelle, October 1993. In french.

    Google Scholar 

  5. F. Bertrand and M. Augeraud. Control of Object Behavior: Asynchronous Reactive Objects. May 1994. also available as http://www-13i.univ-lr.fr/ L3I/equipe/fbertran/ pub/dksme94.ps.gz.

    Google Scholar 

  6. F. Boulanger, H. Delebecque, and G. Vidal-Naquet, Intégration de modules synchrones dans un langage à objets. In RTS'94, 1994. In french.

    Google Scholar 

  7. F. Boussinot. Reactive C: An Extension of C to Program Reactive Systems. Software — Practice And Experience, 21(4):401–428, April 1991.

    Google Scholar 

  8. F. Boussinot, G. Doumenc, and J.-B. Stefani. Reactive Objects. Technical Report Technical report RR-2664, INRIA, October 1990.

    Google Scholar 

  9. R.A. Brooks. A Layered Intelligent Control System for a Mobile Robot. In O. Faugeras and G. Giralt, editors, Proceedings of the Third Robotics Research Symposium, 1986.

    Google Scholar 

  10. D. Caromel. Concurrency and Reusability: From Sequential to Parallel. Journal of Object-Oriented Programming, 3(3):34–42, September 1990.

    Google Scholar 

  11. D. Caromel. Programming Abstractions for Concurrent Programming. In J. Bezivin, B. Meyer, J. Potter, and M. Tokoro, editors, Technology of Object-Oriented Languages and Systems (TOOLS Pacific'90), pages 245–253. TOOLS Pacific, November 1990.

    Google Scholar 

  12. D. Caromel. Towards a Method of Object-Oriented Programming. CACM, 36(9), September 1993.

    Google Scholar 

  13. D. Caromel, F. Belloncle, and Y. Roudier. The C++// System. In Parallel Programming Using C++. G. Wilson and P. Lu ed., MIT Press, 1996. to appear.

    Google Scholar 

  14. D. Caromel and Y. Roudier. Programmation Réactive en Eiffel// (expression de synchronisations selon le modèle Electre). In Journées du GDR Programmation — Lille, September 1994. 10 pages. In french. http://alto.unice.fr/~roudier/RR95-10.ps.

    Google Scholar 

  15. D. Caromel, Y. Roudier, and O. Roux. Programmation Réactive en Eiffel// (expression de synchronisations selon le modèle Electre). Technical report, Rapport de Recherche I3S N∘ RR-93-70, December 1993. 100 pages. In french. http://alto.unice.fr/R~roudier/RR93-70.ps.

    Google Scholar 

  16. F. Cassez and O. Roux. Compilation of the ELECTRE Reactive Language into Finite Transition Systems. TCS (Theoretical Computer Science), 146, 1995.

    Google Scholar 

  17. D. Decouchant, P. Le Dot, M. Riveill, C. Roisin, and X. Rousset de Pina. A Synchronization Mechanism for an Object-Oriented Distributed System. In IEEE Eleventh International Conference on Distributed Computing Systems, 1991.

    Google Scholar 

  18. S. Frølund. Inheritance of Synchronization Constraints in Concurrent Object-Oriented Programming. In ECOOP '92 proceedings, June 1992.

    Google Scholar 

  19. D. Gangopadhyay and S. Mitra. ObjChart: Tangible Specification of Reactive Object Behavior. In O. Nierstrasz, editor, Proceedings ECOOP '93, LNCS 707, pages 432–457, Kaiserslautern, Germany, July 1993. Springer-Verlag.

    Google Scholar 

  20. N. Halbwachs, P. Caspi, P. Raymond, and D. Pilaud. The Synchronous Data Flow Programming Language LUSTRE. In Proceedings of the IEEE, pages 1305–1319, September 1991. Published as Proceedings of the IEEE, volume 79, number 9.

    Google Scholar 

  21. D. Harel. Statecharts: A Visual Formalism for Complex System. Science of Computer Programming, 8(3):231–274, 1987.

    Google Scholar 

  22. D. Harel and A. Pnueli. On the Development of Reactive Systems, volume 13, pages 477–498. In Logic and Models of Concurrent Systems, K.R. Apt ed., Springer-Verlag, 1985.

    Google Scholar 

  23. F. Hayes, D. Coleman, and S. Bear. Introducing ObjectCharts or How to Use Statecharts in Object-Oriented Design. IEEE Transactions on Software Engineering, 18(1):9–18, January 1992.

    Google Scholar 

  24. Y. Ishikawa, H. Tokuda, and C.W. Mercer. Object-Oriented Real-Time Language Design: Constructs for Timing Constraints. In Proceedings of ECOOP/OOPSLA '90, October 1990.

    Google Scholar 

  25. I. Jacobs, F. Montagnac, J. Bertot, D. Clément, and V. Prunet. The Sophtalk Reference Manual. Technical Report 150, INRIA, February 1993.

    Google Scholar 

  26. K.-P. Lohr. Concurrency Annotations Improve Reusability. In TOOLS USA'92, August 1992.

    Google Scholar 

  27. S. Matsuoka, K. Wakita, and A. Yonezawa. Synchronization Constraints With Inheritance: What is Not Possible — So What is ? Technical Report Technical report 10, The University of Tokyo, Department of Information Sciences, 1990.

    Google Scholar 

  28. C. Neusius. Synchronizing Actions. In ECOOP '91 proceedings, June 1991.

    Google Scholar 

  29. E. Shibayama. Reuse of Concurrent Object Descriptions. In A. Yonezawa and T. Ito, editors, Concurrency: Theory, Language, and Architecture. Springler Verlag, 1991.

    Google Scholar 

  30. K. Takashio and M. Tokoro. DROL: An Object-Oriented Programming Language for Distributed Real-Time Systems. In Proceedings of OOPSLA '92, 1992.

    Google Scholar 

  31. G. Vidal-Naquet and F. Boulanger. An Object Oriented Execution Model for Synchronous Modules. December 1994. Synchronous Languages Seminar, Invited Conference, Dagstuhl. Available as ftp://supelec.fr/ pub/cs/publications/ iscore.ps.

    Google Scholar 

  32. T. Watanabe and A. Yonezawa. Reflection in an Object-Oriented Concurrent Language. In Proceedings of OOPSLA'88, pages 306–315, September 1988.

    Google Scholar 

  33. A. Yonezawa, E. Shibayama, T. Takada, and Y. Honda. Modelling and Programming in an Object-Oriented Concurrent Language ABCL/1. In Object-Oriented Concurrent Computing. MIT Press, 1987.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jean-Pierre Briot Jean-Marc Geib Akinori Yonezawa

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Caromel, D., Roudier, Y. (1996). Reactive programming in Eiffel//. In: Briot, JP., Geib, JM., Yonezawa, A. (eds) Object-Based Parallel and Distributed Computation. OBPDC 1995. Lecture Notes in Computer Science, vol 1107. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61487-7_25

Download citation

  • DOI: https://doi.org/10.1007/3-540-61487-7_25

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61487-6

  • Online ISBN: 978-3-540-68672-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics