Abstract
In this paper we introduce the concept of Distributed Abstract Data Type (dadt), a new programming model simplifying the development of distributed, context-aware applications. A dadt instance logically encapsulates a collection of adt instances distributed throughout the system. dadt operations specify the semantics of access to this distributed state by using dedicated programming constructs. The scope of these operations can be restricted using dadt views, i.e., projections over the target adt instances, defined declaratively and dynamically based on adt properties. Interestingly, dadt constructs can be used to deal not only with application data, but also with the space where it resides. This leads to a uniform treatment of the data and space concerns, simplifying the development of context-aware applications and providing the programmer with considerable flexibility and expressive power. We argue that dadts are amenable to incorporation in existing object-oriented programming languages, as demonstrated by our prototype implementation.
An erratum to this chapter can be found at http://dx.doi.org/10.1007/11914952_55.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
ANTLR Web page: http://www.antlr.org
Borcea, C., Intanagonwiwat, C., Kang, P., Kremer, U., Iftode, L.: Spatial programming using smart messages: Design and implementation. In: Proc. of the 24th Int. Conf. on Distributed Computing Systems (ICDCS) (March 2004)
Chien, A.A., Dally, W.J.: Concurrent Aggregates (CA). In: Proc. of the Symp. on Principles & practice of parallel programming, pp. 187–196 (1990)
Fuggetta, A., Picco, G.P., Vigna, G.: Understanding Code Mobility. IEEE Trans. on Soft. Eng. 24(5) (1998)
Goodeve, D.M., et al.: Toward a model for shared data abstraction with performance. J. of Parallel and Distributed Computing 49(1), 156–167 (1998)
Jul, E., Levy, H., Hutchinson, N., Black, A.: Fine-grained Mobility in the Emerald System. ACM Trans. on Computer Systems 6(2), 109–133 (1988)
Julien, C., Roman, G.-C.: Active Coordination in Ad Hoc Networks. In: Proc. of COORDINATION (2004)
Picco, G.P., Murphy, A.L., Roman, G.-C.: Lime: Linda Meets Mobility. In: Proc. of the Int. Conf. on Software Engineering, pp. 368–377 (May 1999)
Ni, Y., Kremer, U., Stere, A., Iftode, L.: Programming ad-hoc networks of mobile and resource-constrained devices. In: Proc. of the ACM SIGPLAN Conf. on Programming language design and implementation (PLDI) (2005)
Picco, G.P., Migliavacca, M., Murphy, A.L., Roman, G.-C.: Distributed Abstract Data Types. Technical report, Politecnico di Milano (2004), Available at: www.elet.polimi.it/upload/~picco
Schwartz, J.T., et al.: Programming with sets; an introduction to SETL. Springer, Heidelberg (1986)
Studman, M., et al.: Java 1.5 Grammar, www.antlr.org/grammar/1109874324096/java1.5.zip
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
Picco, G.P., Migliavacca, M., Murphy, A.L., Roman, GC. (2006). Distributed Abstract Data Types. In: Meersman, R., Tari, Z. (eds) On the Move to Meaningful Internet Systems 2006: CoopIS, DOA, GADA, and ODBASE. OTM 2006. Lecture Notes in Computer Science, vol 4276. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11914952_40
Download citation
DOI: https://doi.org/10.1007/11914952_40
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-48274-1
Online ISBN: 978-3-540-48283-3
eBook Packages: Computer ScienceComputer Science (R0)