Event-Based Programming Without Inversion of Control

  • Philipp Haller
  • Martin Odersky
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4228)

Abstract

Concurrent programming is indispensable. On the one hand, distributed and mobile environments naturally involve concurrency. On the other hand, there is a general trend towards multi-core processors that are capable of running multiple threads in parallel.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Agha, G.A.: ACTORS: A Model of Concurrent Computation in Distributed Systems. Series in Artificial Intelligence. The MIT Press, Cambridge (1986)Google Scholar
  2. 2.
    Anderson, K., Hickey, T., Norvig, P.: JschemeGoogle Scholar
  3. 3.
    Armstrong, J.: Erlang — a survey of the language and its industrial applications. In: INAP 1996 — The 9th Exhibitions and Symposium on Industrial Applications of Prolog, Hino, Tokyo, Japan, October 1996, pp. 16–18 (1996)Google Scholar
  4. 4.
    Armstrong, J., Virding, R., Wikström, C., Williams, M.: Concurrent Programming in Erlang, 2nd edn. Prentice-Hall, Englewood Cliffs (1996)Google Scholar
  5. 5.
    Armstrong, J.L.: The development of erlang. In: ICFP, pp. 196–203 (1997)Google Scholar
  6. 6.
    Black, A., Carlsson, M., Jones, M., Kieburtz, R., Nordlander, J.: Timber: A programming language for real-time embedded systems (2002)Google Scholar
  7. 7.
    Bres, Y., Serpette, B.P., Serrano, M.: Bigloo.NET: compiling scheme to .NET CLR. Journal of Object Technology 3(9), 71–94 (2004)CrossRefGoogle Scholar
  8. 8.
    Briot, J.-P.: Actalk: A testbed for classifying and designing actor languages in the smalltalk-80 environment. In: ECOOP, pp. 109–129 (1989)Google Scholar
  9. 9.
    Burge III, L.L., George, K.M.: JMAS: A Java-based mobile actor system for distributed parallel computation. In: Proceedings of the Fifth USENIX Conference on Object-Oriented Technologies and Systems, pp. 115–129. The USENIX Association (1999)Google Scholar
  10. 10.
    Millstein, T., Chin, B.: Responders: Language Support for Interactive Applications. In: Thomas, D. (ed.) ECOOP 2006. LNCS, vol. 4067, pp. 255–278. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  11. 11.
    Chrysanthakopoulos, G., Singh, S.: An asynchronous messaging library for c#. In: Proceedings of Workshop on Synchronization and Concurrency in Object-Oriented Languages (SCOOL), OOPSLA (2005)Google Scholar
  12. 12.
    Dunkels, A., Grönvall, B., Voigt, T.: Contiki - A lightweight and flexible operating system for tiny networked sensors. In: LCN, pp. 455–462 (2004)Google Scholar
  13. 13.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns. Addison-Wesley, Reading (1995)Google Scholar
  14. 14.
    Garbinato, B., Guerraoui, R., Hulaas, J., Monod, M.: Frugal Mobile Objects. Technical report, EPFL (2005)Google Scholar
  15. 15.
    Gough, J.: Compiling for the .NET Common Language Runtime. .NET series. Prentice-Hall, Englewood Cliffs (2002)Google Scholar
  16. 16.
    Hewitt, C., Bishop, P., Steiger, R.: A universal modular ACTOR formalism for artificial intelligence. In: IJCAI, pp. 235–245 (1973)Google Scholar
  17. 17.
    Hill, J., Szewczyk, R., Woo, A., Hollar, S., Culler, D.E., Pister, K.S.J.: System architecture directions for networked sensors. In: ASPLOS, pp. 93–104 (2000)Google Scholar
  18. 18.
    Kelsey, R., Clinger, W., Rees, J.: Revised5 report on the algorithmic language Scheme. Higher-Order and Symbolic Computation 11(1), 7–105 (1998); Also appears in ACM SIGPLAN Notices 33(9) (September 1998)Google Scholar
  19. 19.
    Kennedy, A.: Pickler combinators. J. Funct. Program. 14(6), 727–739 (2004)MATHCrossRefGoogle Scholar
  20. 20.
    Lawton, G.: Moving Java into mobile phones. Computer 35(6), 17–20 (2002)CrossRefGoogle Scholar
  21. 21.
    Levis, P., Culler, D.: Mate: A tiny virtual machine for sensor networks. In: International Conference on Architectural Support for Programming Languages and Operating Systems, San Jose, CA, USA (October 2002)Google Scholar
  22. 22.
    Lindholm, T., Yellin, F.: The Java Virtual Machine Specification. Addison-Wesley, Reading (1996)Google Scholar
  23. 23.
    Manson, J., Baker, J., Cunei, A., Jagannathan, S., Prochazka, M., Xin, B., Vitek, J.: Preemptible atomic regions for real-time java. In: RTSS, pp. 62–71. IEEE Computer Society Press, Los Alamitos (2005)Google Scholar
  24. 24.
    Matsumoto, Y.: The Ruby Programming Language. Addison-Wesley, Reading (2002)Google Scholar
  25. 25.
    Nyström, J.H., Trinder, P.W., King, D.J.: Evaluating distributed functional languages for telecommunications software. In: Däcker, B., Arts, T. (eds.) Proceedings of the 2003 ACM SIGPLAN Workshop on Erlang, Uppsala, Sweden, August 29, 2003, pp. 1–7. ACM Press, New York (2003)CrossRefGoogle Scholar
  26. 26.
    Odersky, M., et al.: An overview of the scala programming language. Technical Report IC/2004/64, EPFL Lausanne, Switzerland (2004)Google Scholar
  27. 27.
    Pizlo, F., Fox, J.M., Holmes, D., Vitek, J.: Real-time java scoped memory: Design patterns and semantics. In: ISORC, pp. 101–110. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  28. 28.
    Stenman, E., Sagonas, K.: On reducing interprocess communication overhead in concurrent programs. In: Proceedings of the 2002 ACM SIGPLAN Workshop on Erlang, Pittsburgh, PA, USA, October 7, 2002, pp. 58–63. ACM, New York (2002)CrossRefGoogle Scholar
  29. 29.
    Thomas, D.A., Lalonde, W.R., Duimovich, J., Wilson, M., McAffer, J., Berry, B.: Actra A multitasking/multiprocessing smalltalk. In: Proceedings of the ACM SIGPLAN Workshop on Object-Based Concurrent Programming, ACM SIGPLAN Notices, vol. 24(4), pp. 87–90 (April 1989)Google Scholar
  30. 30.
    Varela, C., Agha, G.: Programming dynamically reconfigurable open systems with salsa. SIGPLAN Not. 36(12), 20–34 (2001)CrossRefGoogle Scholar
  31. 31.
    Wikström, C.: Distributed programming in erlang. In: Hong, H. (ed.) Proceedings of the First International Symposium on Parallel Symbolic Computation, PASCO 1994, Hagenberg/Linz, Austria, September 26-28, 1994. Lecture Note Series in Computing, vol. 5, pp. 412–421. World Scientific, Singapore-New Jersey-London-Hong Kong (1994)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Philipp Haller
    • 1
  • Martin Odersky
    • 1
  1. 1.École Polytechnique Fédérale de Lausanne (EPFL)LausanneSwitzerland

Personalised recommendations