Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
Declarative specialization of object-oriented programs
Proceedings of the 12th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Generative programming: methods, tools, and applications
Generative programming: methods, tools, and applications
Specialization classes: an object framework for specialization
IWOOOS '96 Proceedings of the 5th International Workshop on Object Orientation in Operating Systems (IWOOOS '96)
Proceedings of the 3rd ACM international workshop on Data engineering for wireless and mobile access
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Java(TM) Language Specification, The (3rd Edition) (Java (Addison-Wesley))
Programming in Objective-C
Quantitative resource-oriented analysis of Java (Adaptable) applications
WOSP '07 Proceedings of the 6th international workshop on Software and performance
A survey on context-aware systems
International Journal of Ad Hoc and Ubiquitous Computing
A Resource-Oriented Static Analysis Approach to Adaptable Java Applications
COMPSAC '08 Proceedings of the 2008 32nd Annual IEEE International Computer Software and Applications Conference
Context-aware systems: A literature review and classification
Expert Systems with Applications: An International Journal
Context-Aware Adaptive Services: The PLASTIC Approach
FASE '09 Proceedings of the 12th International Conference on Fundamental Approaches to Software Engineering: Held as Part of the Joint European Conferences on Theory and Practice of Software, ETAPS 2009
Software Engineering for Self-Adaptive Systems
Software Engineering for Self-Adaptive Systems
Advanced runtime adaptation for Java
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
HotWave: creating adaptive tools with dynamic aspect-oriented programming in Java
GPCE '09 Proceedings of the eighth international conference on Generative programming and component engineering
Developing context-aware pervasive computing applications: Models and approach
Pervasive and Mobile Computing
SC'06 Proceedings of the 5th international conference on Software Composition
A hybrid approach for resource-based comparison of adaptable Java applications
Science of Computer Programming
Hi-index | 0.00 |
Adaptable applications are becoming the main drivers of the pervasive computing paradigm. The development and the context-aware execution of such applications on mobile devices, often characterized by their heterogeneity and limitedness, is a big challenge and it is far to be solved. The main difficulty is to provide (i) an easy-to-use and powerful programming technique for developers to actually code adaptable applications, and (ii) a context-aware run-time support to properly handle contextual situations. This paper presents a programming model that provides developers with a set of agile and user-friendly extensions to Java for easily specifying generic code in a flexible and declarative way. The generic code specifies both the invariant semantics and the degree of variability of the application. Variability is expressed in terms of adaptable classes that declare adaptable methods, and alternative classes that define them. Then, an ad-hoc preprocessor resolves variability by generating standard Java methods within standard Java classes that, opportunely combined with the core code, make-up different application alternatives, i.e., standard Java applications that represent different ways of implementing an adaptable application specification. The programming model and the generic code preprocessor have been fully implemented in and for Java as Eclipse plugins. They are part of Chameleon, a framework that provides both an integrated development environment and a proper context-aware run-time support to adaptable Java applications for limited devices.