Abstract
A new field in distributed computing, called Ambient Intelligence, has emerged as a consequence of the increasing availability of wireless devices and the mobile networks they induce. Developing software for mobile networks is extremely hard in conventional programming languages because the network is dynamically demarcated. This leads us to postulate a suite of characteristics of future Ambient-Oriented Programming languages. A simple reflective programming language, called AmbientTalk, that meets the characteristics is presented. It is validated by implementing a collection of high level language features that are used in the implementation of an ambient messenger application.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Agha, G.: Actors: a Model of Concurrent Computation in Distributed Systems. MIT Press, Cambridge (1986)
Agha, G., Hewitt, C.: Concurrent programming using actors. Object-oriented concurrent programming, 37–53 (1987)
Briot, J.-P., Guerraoui, R., Lohr, K.-P.: Concurrency and distribution in object-oriented programming. ACM Computing Surveys 30(3), 291–329 (1998)
Callsen, C.J., Agha, G.: Open heterogeneous computing in ActorSpace. Journal of Parallel and Distributed Computing 21(3), 289–300 (1994)
Caporuscio, M., Carzaniga, A., Wolf, A.L.: Design and evaluation of a support service for mobile, wireless publish/subscribe applications. IEEE Transactions on Software Engineering 29(12), 1059–1071 (2003)
Cardelli, L.: A Language with Distributed Scope. In: Proceedings of the 22nd ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, pp. 286–297. ACM Press, New York (1995)
Cugola, G., Jacobsen, H.-A.: Using publish/subscribe middleware for mobile systems. SIGMOBILE Mob. Comput. Commun. Rev. 6(4), 25–33 (2002)
Dedecker, J., Van Cutsem, T., Mostinckx, S., D’Hondt, T., De Meuter, W.: Ambient-Oriented Programming. In: OOPSLA 2005: Companion of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, ACM Press, New York (2005)
D’Hondt, T., De Meuter, W.: Of first-class methods and dynamic scope. RSTI - L’objet no. 9/ 2003. LMO 2003, pp. 137–149 (2003)
Eugster, P., Felber, P., Guerraoui, R., Kermarrec, A.-M.: The many faces of publish/subscribe. ACM Comput. Surv. 35(2), 114–131 (2003)
Gelernter, D.: Generative communication in Linda. ACM Transactions on Programming Languages and Systems 7(1), 80–112 (1985)
IST Advisory Group. Ambient intelligence: from vision to reality (September 2003)
Haahr, M., Cunningham, R., Cahill, V.: Supporting corba applications in a mobile environment. In: MobiCom 1999: Proceedings of the 5th annual ACM/IEEE international conference on Mobile computing and networking, pp. 36–47. ACM Press, New York (1999)
Halstead Jr., R.: Multilisp: a language for concurrent symbolic computation. ACM Trans. Program. Lang. Syst. 7(4), 501–538 (1985)
Hewitt, C.: Viewing control structures as patterns of passing messages. Artificial Intelligence 8, 323–364 (1977)
Hui, B.: Go wild wirelessly with bluetooth and java. Java Developer’s Journal 9(2) (February 2004)
Jefferson, D.R.: Virtual time. ACM TOPLAS 7(3), 404–425 (1985)
Joseph, A.D., Tauber, J.A., Kaashoek, M.F.: Mobile computing with the rover toolkit. IEEE Transactions on Computers 46(3), 337–352 (1997)
Jul, E., Levy, H., Hutchinson, N., Black, A.: Fine-grained mobility in the Emerald system. ACM Transactions on Computer Systems 6(1), 109–133 (1988)
Kahn, K., Saraswat, V.A.: Actors as a special case of concurrent constraint (logic) programming. In: OOPSLA/ECOOP 1990: Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications, pp. 57–66. ACM Press, New York (1990)
Kaminsky, A., Bischof, H.-P.: Many-to-many invocation: a new object oriented paradigm for ad hoc collaborative systems. In: OOPSLA 2002: Companion of the 17th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications, pp. 72–73. ACM Press, New York (2002)
Lieberman, H.: Using prototypical objects to implement shared behavior in object-oriented systems. In: Conference proceedings on Object-oriented Programming Systems, Languages and Applications, pp. 214–223. ACM Press, New York (1986)
Liskov, B., Shrira, L.: Promises: linguistic support for efficient asynchronous procedure calls in distributed systems. In: Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation, pp. 260–267. ACM Press, New York (1988)
Mamei, M., Zambonelli, F.: Programming pervasive and mobile computing applications with the TOTA middleware. In: PERCOM ’04: Proceedings of the Second IEEE International Conference on Pervasive Computing and Communications, p. 263. IEEE Computer Society Press, Los Alamitos (2004)
Mascolo, C., Capra, L., Emmerich, W.: Mobile Computing Middleware. In: Advanced lectures on networking, pp. 20–58. Springer, Heidelberg (2002)
Masuhara, H., Matsuoka, S., Yonezawa, A.: Implementing parallel language constructs using a reflective object-oriented language. In: Proceedings of Reflection Symposium 1996, April 1996, pp. 79–91 (1996)
Miller, M., Tribble, E.D., Shapiro, J.: Concurrency Among Strangers. In: De Nicola, R., Sangiorgi, D. (eds.) TGC 2005. LNCS, vol. 3705, pp. 195–229. Springer, Heidelberg (2005)
Murphy, A., Picco, G., Roman, G.-C.: Lime: A middleware for physical and logical mobility. In: Proceedings of the The 21st International Conference on Distributed Computing Systems, pp. 524–536. IEEE Computer Society Press, Los Alamitos (2001)
Reynolds, P., Brangeon, R.: DOLMEN - service machine development for an open long-term mobile and fixed network environment (1996)
Schill, A., Bellmann, B., Bohmak, W., Kummel, S.: Infrastructure support for cooperative mobile environments. In: Proceedings of the Fourth Workshop on Enabling Technologies: Infrastructure for Collaborative Enterprises, pp. 171–178 (1995)
Taura, K., Matsuoka, S., Yonezawa, A.: Abcl/f: A future-based polymorphic typed concurrent object-oriented language - its design and implementation. In: Proceedings of the DIMACS workshop on Specification of Parallel Algorithms. Dimacs Series in Discrete Mathematics and Theoretical Computer Science, vol. 18, pp. 275–292 (1994)
Terry, D.B., Petersen, K., Spreitzer, M.J., Theimer, M.M.: The case for non-transparent replication: Examples from Bayou. IEEE Data Engineering Bulletin 21(4), 12–20 (1998)
Ungar, D., Chambers, C., Chang, B.-W., Hölzle, U.: Organizing programs without classes. Lisp Symbolic Computing 4(3), 223–242 (1991)
Ungar, D., Smith, R.: Self: The power of simplicity. In: Conference proceedings on Object-oriented Programming Systems, Languages and Applications, pp. 227–242. ACM Press, New York (1987)
Varela, C., Agha, G.: Programming dynamically reconfigurable open systems with salsa. SIGPLAN Not. 36(12), 20–34 (2001)
Varela, C., Agha, G.: What after java? from objects to actors. In: WWW7: Proceedings of the seventh international conference on World Wide Web 7, pp. 573–577. Elsevier Science Publishers B. V., Amsterdam (1998)
Watanabe, T., Yonezawa, A.: Reflection in an object-oriented concurrent language. In: Conference proceedings on Object-oriented programming systems, languages and applications, pp. 306–315. ACM Press, New York (1988)
Weiser, M.: The computer for the twenty-first century. Scientific American, 94–100 (September 1991)
Yonezawa, A., Briot, J.-P., Shibayama, E.: Object-oriented concurrent programming in ABCL/1. In: Conference proceedings on Object-oriented programming systems, languages and applications, pp. 258–268. ACM Press, New York (1986)
Zachariadis, S., Capra, L., Mascolo, C., Emmerich, W.: Xmiddle: information sharing middleware for a mobile environment. In: ICSE 2002: Proceedings of the 24th International Conference on Software Engineering, pp. 712–712. ACM Press, New York (2002)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2006 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Dedecker, J., Van Cutsem, T., Mostinckx, S., D’Hondt, T., De Meuter, W. (2006). Ambient-Oriented Programming in AmbientTalk. In: Thomas, D. (eds) ECOOP 2006 – Object-Oriented Programming. ECOOP 2006. Lecture Notes in Computer Science, vol 4067. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11785477_16
Download citation
DOI: https://doi.org/10.1007/11785477_16
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-35726-1
Online ISBN: 978-3-540-35727-8
eBook Packages: Computer ScienceComputer Science (R0)