DynamicSchema
2012, Proceedings of the International Workshop on Context-Oriented Programming - COP '12
https://doi.org/10.1145/2307436.2307441…
7 pages
1 file
Sign up for access to the world's latest research
Abstract
While context-oriented programming technology so far has focused mostly on behavioral adaptation, context-oriented data management has received much less attention. In this paper we make a case for the problem of context-oriented data management, using a concrete example of a mobile application. We illustrate some of the issues involved and propose a lightweight persistency framework, called Dynam-icSchema, that resolves some of these issues. The solution consists in a flexible reification of the database schema, as a convenient dynamic data structure that can be adapted at execution time, according to sensed context changes. Implementing our mobile application using this framework enabled us to reduce the complexity of the domain modeling layer, to facilitate the production of code with low memory footprint, and to simplify the implementation of certain scenarios related to context-dependent security concerns.
Related papers
Context is any information used to characterize the situation of an entity. Examples of contexts include time, location, identity, and activity of a user. This paper proposes a general context-aware DBMS, named Chameleon, that will eliminate the need for having specialized database engines, e.g., spatial DBMS, temporal DBMS, and Hippocratic DBMS, since space, time, and identity can be treated as contexts in the general context-aware DBMS. In Chameleon, we can combine multiple contexts into more complex ones using the proposed context composition, e.g., a Hippocratic DBMS that also provides spatio-temporal and location contextual services. As a proof of concept, we construct two case studies using the same context-aware DBMS platform within Chameleon. One treats identity as a context to realize a privacy-aware (Hippocratic) database server, while the other treats space as a context to realize a spatial database server using the same proposed constructs and interfaces of Chameleon.
2002
Mobile computing is becoming popular because it allows computation elements to be moved or carried around. The breakthrough is partly achieved using mobile applications that allow computation execution to break spatial and temporal constraints. Mobile application development has to address two key factors. The rst is the penetration of physical elements from its execution environment into a program's computation. Handling and manipulation of abstractions of the physical elements in the program is crucial because the penetration is in uential to the application's computation. The other factor is the type of mobile entities represented in a program. This is signi cant as di erent types of mobile entities require di erent kind of support. Many development proposals only o er partial solutions in addressing the two important development factors. They cannot deliver a generic and uniform approach, producing software that cannot handle problems with complex mobility requirements. ...
2004
Context-aware computing, an emerging paradigm in which applications sense and adapt their behavior to changes in their operational environment, is key to developing dependable software for use in the often unpredictable settings of ad hoc networks. However, designing an application which gathers, maintains, and adapts to context can be a difficult undertaking, even for a seasoned programmer. Our goal is to simplify the programming task by hiding such issues from the programmer, allowing one to quickly and reliably produce a context-aware application for use in ad hoc networks. With this goal in mind, we introduce a novel abstraction called context-sensitive data structures (CSDS). The programmer interacts with the CSDS through a familiar programming interface, without direct knowledge of the context gathering and maintenance tasks that occur behind the scenes. In this paper, we define a model of context-sensitive data structures and present protocols which enable the programmer to construct and maintain a CSDS as a distributed structure over a mobile ad hoc network in a state of flux.
2011
Pervasive access–often by means of mobile devices–to the massive amount of available (Web) data suggests to deliver, anywhere at any time, exactly the data that are needed in the current specific situation. The literature has introduced the possibility to describe the context in which the user is involved, and to tailor the available data on its basis.
Issues in Informing Science …, 2007
non-volatile storage such as a file system or a relational database (Wikipedia, 2003). There is a growing need to simplify the interactions among separate systems and to build complex software systems that are made out of components with well-defined services. At the base-level of such complex systems lies a persistence framework – a set of classes tailored to save, retrieve, update and delete objects to and from their persistence stores, such as databases and flat files. This paper presents the design, and implementation of the transparent persistence framework called PersistF. Design patterns (Gamma, Helm, Johnson, & Vlissides, 1995) have been widely accepted in the software engineering community as the recommended approach to developing software. Part of the research effort of this work included the application of well-known design patterns in order to build the framework. We present how consistent application of design patterns allowed us to build a fully working persistence framework. In order to support development of modern complex applications, some recent application development environments for different programming languages are built in with some kind of persistence framework. To use these frameworks in target applications, the developer often must go through a steep learning curve as each framework is specific in some way, but namely in respect of configuring the framework’s runtime engine with enough information about the domain application. This configuration is often time consuming and error prone. Most of the existing frameworks require complicated configuration steps that are imposed onto the developer. Our aim with this work was to present a framework that will not require such complicated configuration steps and would provide its service to the target application with virtually no configuration of the framework's handling of domain classes.
Lecture Notes in Computer Science, 2007
Today, one can observe an ever increasing trend in the use of mobile systems. This change inevitably affects the software running on such devices by necessitating additional functionality such as context awareness and adaptive behavior. While some developers design their systems to be fully self-reliant with regard to context awareness, others aim for more synergistic approaches by allowing context sharing across devices. This paper describes our experience with first designing and implementing a basic context management system, and then with extending it to allow context distribution. In the proposed architecture, the developers define the context dependencies for their software independently of the availability of context information in their corresponding devices. An automated mechanism is then used to match these needs to the corresponding providers, even when those reside across distributed devices. This approach enables them to utilize shared context information at runtime thus reducing both development efforts and hardware costs.
Journal of Systems and …, 2007
With an increasing diversity of pervasive computing devices integrated in our surroundings and an increasing mobility of users, it will be important for computer systems and applications to be context-aware. Lots of works have already been done in this direction on how to capture context data and how to carry it to the application. Among the remaining challenges are to create the intelligence to analyze the context information and deduce the meaning out of it, and to integrate it into adaptable applications. Our work focuses on these challenges by defining generic context storage and processing model and by studying its impact on the application core. We propose a reusable context ontology model that is based on two levels: a generic level and a domain specific level. We propose a generic adaptation framework to guarantee adaptation of applications to the context in a pervasive computing environment. We also introduce a comprehensive adaptation approach that involves content adaptation and presentation adaptation inline with the adaptation of the core services of applications. Our case study shows that the context model and the application adaptation strategies provide promising service architecture.
Revue Dintelligence Artificielle, 2008
Context management solutions aim to implement tasks related to dealing with context clearly separating them from those related to a system's features. An important issue in managing context is how to structure and represent it. We chose to represent context as a set of contextual elements and thus we are interested in defining a structure for those elements and their relation to context management dynamics. Generic context models are of interest since they can be reused by different applications and ease context sharing between systems. In this paper, we propose a generic context model that explicitly separates generic context concepts from specific concepts of an application domain. It is a top-down approach that can be reused as a base model on different context-sensitive systems.

Loading Preview
Sorry, preview is currently unavailable. You can download the paper by clicking the button above.
References (6)
- REFERENCES
- S. W. Ambler. Agile Database Techniques. Wiley Publishing, third edition edition, 2003.
- M. Fowler. Patterns of Enterprise Application Architecture. Pearson Education, 2003.
- G. King. Hibernate. http://www.hibernate.org/.
- M. Pardo. Activeandroid. https://www.activeandroid.com/.
- G. Watson. Ormlite. http://ormlite.com/.