Abstract
Current programming languages do not offer adequate abstractions to discover and compose heterogenous objects over unreliable networks. This forces programmers to discover objects one by one, compose them manually, and keep track of their individual connectivity state at all times. In this paper we propose Ambient Contracts, a novel programming abstraction to deal with the difficulties of composing objects connected over unreliable networks. Ambient Contracts provide declarative heterogenous group discovery and composition while dealing with the unreliability of the network. An ambient contract allows runtime verification and enforcement of the messages sent between the participants in the contract. The use of our abstraction significantly reduces the code base and allows programmers to focus on the core functionality of their application. Our claims are reinforced by comparing the implementation of an example scenario in our contracts with a Java implementation using M2MI.
Similar content being viewed by others
Notes
Available as part of the AmbientTalk distribution: http://tiny.cc/tl6ho
References
Chen H, Finin T, Joshi A (2004) Semantic web in the context broker architecture. In: Proceedings of percom 2004, pp 277–286
Costanza P, Hirschfeld R (2005) Language constructs for context-oriented programming: an overview of contextl. In: DLS ’05. ACM, New York, pp 1–10
Van Cutsem T, Dedecker J, Mostinckx S, Gonzalez E, D’Hondt T, De Meuter W (2006) Ambient references: addressing objects in mobile networks. In: OOPSLA ’06. ACM Press, New York, pp 986–997
Dedecker J, Van Cutsem T, Mostinckx S, D’Hondt T, De Meuter W (2005) Ambient-oriented programming. In: OOPSLA ’05. ACM Press, New York
Findler RB, Felleisen M (2002) Contracts for higher-order functions. SIGPLAN Not 37:48–59
Fuentes L, Gámez N (2009) Modeling the context-awareness service in an aspect-oriented middleware for ami. 3rd Symposium of Ubiquitous computing and ambient intelligence 2008, pp 159–167
Gu T, Pung HK, Zhang DQ (2004) A middleware for building context-aware mobile services. In: Proceedings of IEEE Vehicular Technology Conference (VTC)
Helm R, Holland IM, Gangopadhyay D (1990) Contracts: specifying behavioral compositions in object-oriented systems. ACM SIGPLAN Notices 25(10):169–180
Kaminsky A, Bischof HP (2002) Many-to-many invocation: a new object oriented paradigm for ad hoc collaborative systems. In: OOPSLA 2002. Citeseer
Tanter E, Gybels K, Denker M, Bergel A (2006) Context-aware aspects. In: Proceedings of the 5th international symposium on software composition (SC 2006) LNCS 4089. Springer, New York, pp 227–249
Urbieta A, Barrutieta G, Parra J, Uribarren A (2008) A survey of dynamic service composition approaches for ambient systems. In: SOMITAS ’08. ICST, Brussels, Belgium, Belgium, pp 1–8
Van Cutsem T, Mostinckx S, Boix EG, Dedecker J, De Meuter W (2007) Ambienttalk: object-oriented event-driven programming in mobile ad hoc networks. In: SCCC. IEEE Computer Society, pp 3–12
Acknowledgments
Christophe Scholliers is funded by a doctoral scholarship of the IWT-Flanders. Dries Harnie is funded by the Prospective Research for Brussels (PRFB) program of IWOIB-IRSIB. É. Tanter is partially funded by FONDECYT Project 1110051.
Author information
Authors and Affiliations
Corresponding author
Rights and permissions
About this article
Cite this article
Scholliers, C., Harnie, D., Tanter, É. et al. Ambient contracts: verifying and enforcing ambient object compositions à la carte. Pers Ubiquit Comput 15, 341–351 (2011). https://doi.org/10.1007/s00779-010-0355-z
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00779-010-0355-z