Managed Data: Modular Strategies For Data Abstraction - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Communication Dans Un Congrès Année : 2012

Managed Data: Modular Strategies For Data Abstraction

Résumé

Managed Data is a two-level approach to data abstraction in which programmers first define data description and manipulation mechanisms, and then use these mechanisms to define specific kinds of data. Managed Data allows programmers to take control of many important aspects of data, including persistence, access/change control, reactivity, logging, bidirectional relationships, resource management, invariants and validation. These features are implemented once as reusable strategies that can apply to many different data types. Managed Data is a general concept that can be implemented in several ways, including reflection, metaclasses, and macros. In this paper we argue for the importance of Managed Data and present a novel implementation of Managed Data based on interpretation of data models. We show how to inherit and compose interpreters to implement the features described above. Our approach allows Managed Data to be used in object-oriented languages that support reflection over field access (overriding the "dot" operator) or dynamic method creation. We also show how self-describing data models are useful for bootstrapping, allowing Managed Data to be used definition of Data Managers themselves. As a case study, we used Managed Data in a web development framework from the Ensō project to reuse database management and access control mechanisms across different data definitions.

Dates et versions

hal-00756886 , version 1 (23-11-2012)

Identifiants

Citer

Alex Loh, Tijs van Der Storm, William Cook. Managed Data: Modular Strategies For Data Abstraction. Onward! 2012 - ACM international symposium on New ideas, new paradigms, and reflections on programming and software, Oct 2012, Tucson, United States. pp.179-194, ⟨10.1145/2384592.2384609⟩. ⟨hal-00756886⟩

Collections

INRIA INRIA2
85 Consultations
0 Téléchargements

Altmetric

Partager

Gmail Facebook X LinkedIn More