AmbientTalk: Object-oriented Event-driven Programming in Mobile Ad hoc Networks

In this paper, we describe AmbientTalk: a domain- specific language for orchestrating service discovery and composition in mobile ad hoc networks. AmbientTalk is a distributed object-oriented language whose actor-based, event-driven concurrency model makes it highly suitable for composing service objects across a mobile network. The language is a so-called ambient-oriented programming language which treats network partitions as a normal mode of operation. We describe AmbientTalk's object model, concurrency model and distributed communication model in detail. We also highlight influences from other languages and middleware that have shaped AmbientTalk's design.

[1]  Mark S. Miller,et al.  Robust composition: towards a unified approach to access control and concurrency control , 2006 .

[2]  Cecilia Mascolo,et al.  Mobile Computing Middleware , 2002, NETWORKING Tutorials.

[3]  B. Garbinato,et al.  Pervaho: A Development & Test Platform for Mobile Ad hoc Applications , 2006, 2006 Third Annual International Conference on Mobile and Ubiquitous Systems: Networking & Services.

[4]  Martin Odersky,et al.  Event-Based Programming Without Inversion of Control , 2006, JMLC.

[5]  M. Weiser The Computer for the Twenty-First Century , 1991 .

[6]  Andreas Paepcke,et al.  Conference proceedings on Object-oriented programming systems, languages, and applications , 1991, Conference on Object-Oriented Programming Systems, Languages, and Applications.

[7]  Akinori Yonezawa,et al.  Object-oriented concurrent programming ABCL/1 , 1986, OOPLSA '86.

[8]  Jim Waldo Constructing ad hoc networks , 2001, Proceedings IEEE International Symposium on Network Computing and Applications. NCA 2001.

[9]  David R. Cheriton,et al.  Leases: an efficient fault-tolerant mechanism for distributed file cache consistency , 1989, SOSP '89.

[10]  Mark Weiser The computer for the 21st century , 1991 .

[11]  J.-P. Briot,et al.  From objects to actors: study of a limited symbiosis in smalltalk-80 , 1988, OOPSLA/ECOOP '88.

[12]  Rachid Guerraoui,et al.  Concurrency and distribution in object-oriented programming , 1998, CSUR.

[13]  Luca Cardelli,et al.  A language with distributed scope , 1995, POPL '95.

[14]  Theo D'Hondt,et al.  Ambient-oriented programming in ambientTalk , 2005, OOPSLA '05.

[15]  M. Frans Kaashoek,et al.  Mobile Computing with the Rover Toolkit , 1997, IEEE Trans. Computers.

[16]  Amy L. Murphy,et al.  LIME: a middleware for physical and logical mobility , 2001, Proceedings 21st International Conference on Distributed Computing Systems.

[17]  Siobhán Clarke,et al.  Proximity-Based Service Discovery in Mobile Ad Hoc Networks , 2005, DAIS.

[18]  Franco Zambonelli,et al.  Programming pervasive and mobile computing applications with the TOTA middleware , 2004, Second IEEE Annual Conference on Pervasive Computing and Communications, 2004. Proceedings of the.

[19]  Patrick Th. Eugster,et al.  Location-based Publish/Subscribe , 2005, Fourth IEEE International Symposium on Network Computing and Applications.

[20]  Henry Lieberman,et al.  Concurrent object-oriented programming in Act 1 , 1987 .

[21]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[22]  Henri E. Bal,et al.  Programming languages for distributed computing systems , 1989, CSUR.

[23]  Gul A. Agha,et al.  Open Heterogeneous Computing in Actor Space , 1994, J. Parallel Distributed Comput..

[24]  Andrew P. Black,et al.  Fine-grained mobility in the Emerald system , 1987, TOCS.

[25]  Jonathan S. Shapiro,et al.  Concurrency among strangers: programming in E as plan coordination , 2005 .

[26]  Vivek Sarkar,et al.  X10: an object-oriented approach to non-uniform cluster computing , 2005, OOPSLA '05.

[27]  Eric Dean Tribble,et al.  Concurrency Among Strangers , 2005, TGC.

[28]  Akinori Yonezawa,et al.  Object-oriented concurrent programming in ABCL/1 , 1986, OOPSLA 1986.

[29]  M. Frans Kaashoek,et al.  Rover: a toolkit for mobile information access , 1995, SOSP.

[30]  Anne-Marie Kermarrec,et al.  The many faces of publish/subscribe , 2003, CSUR.

[31]  Henry Lieberman,et al.  Using prototypical objects to implement shared behavior in object-oriented systems , 1986, OOPLSA '86.

[32]  Benoît Garbinato,et al.  From ad hoc networks to ad hoc applications , 2003, Proceedings of the 7th International Conference on Telecommunications, 2003. ConTEL 2003..

[33]  Gul A. Agha,et al.  ACTORS - a model of concurrent computation in distributed systems , 1985, MIT Press series in artificial intelligence.

[34]  Denis Caromel,et al.  Toward a method of object-oriented concurrent programming , 1993, CACM.

[35]  Liuba Shrira,et al.  Promises: linguistic support for efficient asynchronous procedure calls in distributed systems , 1988, PLDI '88.

[36]  Barbara Liskov,et al.  Distributed programming in Argus , 1988, CACM.