Concepts and experiments in computational reflection
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
OOPSLA/ECOOP '90 Proceedings of the European conference on object-oriented programming on Object-oriented programming systems, languages, and applications
Architecture-based runtime software evolution
Proceedings of the 20th international conference on Software engineering
Charting past, present, and future research in ubiquitous computing
ACM Transactions on Computer-Human Interaction (TOCHI) - Special issue on human-computer interaction in the new millennium, Part 1
Dynamic weaving for aspect-oriented programming
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
Using Reflection to Support Dynamic Adaptation of System Software: A Case Study Driven Evaluation
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
Computer
Supporting autonomic computing functionality via dynamic operating system kernel aspects
Proceedings of the 4th international conference on Aspect-oriented software development
Transparent shaping of existing software to support pervasive and autonomic computing
DEAS '05 Proceedings of the 2005 workshop on Design and evolution of autonomic application software
Language constructs for context-oriented programming: an overview of ContextL
DLS '05 Proceedings of the 2005 symposium on Dynamic languages
Context-oriented programming: beyond layers
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
From goals to components: a combined approach to self-management
Proceedings of the 2008 international workshop on Software engineering for adaptive and self-managing systems
Ptolemy: A Language with Quantified, Typed Events
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
Dedicated Programming Support for Context-Aware Ubiquitous Applications
UBICOMM '08 Proceedings of the 2008 The Second International Conference on Mobile Ubiquitous Computing, Systems, Services and Technologies
Improving the development of context-dependent Java applications with ContextJ
International Workshop on Context-Oriented Programming
A comparison of context-oriented programming languages
International Workshop on Context-Oriented Programming
Loose compositions for autonomic systems
SC'08 Proceedings of the 7th international conference on Software composition
Programming language support to context-aware adaptation: a case-study with Erlang
Proceedings of the 2010 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems
Context-oriented programming: A software engineering perspective
Journal of Systems and Software
Modeling adaptation with a tuple-based coordination language
Proceedings of the 27th Annual ACM Symposium on Applied Computing
A conceptual framework for adaptation
FASE'12 Proceedings of the 15th international conference on Fundamental Approaches to Software Engineering
Modeling adaptation with Klaim
ACM SIGAPP Applied Computing Review
Context traits: dynamic behaviour adaptation through run-time trait recomposition
Proceedings of the 12th annual international conference on Aspect-oriented software development
An Analysis of Language-Level Support for Self-Adaptive Software
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Hi-index | 0.00 |
In recent years the need for software applications to adapt to the environment in which they are situated has become common. Beside architectural approaches, language-level support for the development of adaptable and context-aware software have been investigated. Many existing solutions adopt ad hoc programming paradigms such as aspect oriented programming (AOP) or context oriented programming (COP). In this paper we investigate the use of the abstractions offered by traditional object-oriented and functional paradigms for the development of context-adaptable systems. We carry out our analysis along a set of conceptual directions which consider the requirement of functional adaptation beside non functional requirements such as safety and effective modularization. Our analysis were validated though the development of several prototypes of an adaptable cache server which is chosen as the running example through the paper. We provide an estimation of the performance advantages of the techniques based traditional programming languages compared with context-oriented programming.