Generative communication in Linda
ACM Transactions on Programming Languages and Systems (TOPLAS)
Concepts and experiments in computational reflection
OOPSLA '87 Conference proceedings on Object-oriented programming systems, languages and applications
Object-oriented concurrent reflective languages can be implemented efficiently
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
The Apertos reflective operating system: the concept and its implementation
OOPSLA '92 conference proceedings on Object-oriented programming systems, languages, and applications
Artificial Intelligence
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
AgentSpeak(L): BDI agents speak out in a logical computable language
MAAMAW '96 Proceedings of the 7th European workshop on Modelling autonomous agents in a multi-agent world : agents breaking away: agents breaking away
Architecture-based runtime software evolution
Proceedings of the 20th international conference on Software engineering
N degrees of separation: multi-dimensional separation of concerns
Proceedings of the 21st international conference on Software engineering
A methodology for benchmarking Java Grande applications
JAVA '99 Proceedings of the ACM 1999 conference on Java Grande
Dynamic weaving for aspect-oriented programming
AOSD '02 Proceedings of the 1st international conference on Aspect-oriented software development
The case for reflective middleware
Communications of the ACM - Adaptive middleware
AspectC++: an aspect-oriented extension to the C++ programming language
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
The Art of the Metaobject Protocol
The Art of the Metaobject Protocol
An aspect-oriented approach to dynamic adaptation
WOSS '02 Proceedings of the first workshop on Self-healing systems
A survey of customizability in operating systems research
ACM Computing Surveys (CSUR)
The Vision of Autonomic Computing
Computer
Modularisation and composition of aspectual requirements
Proceedings of the 2nd international conference on Aspect-oriented software development
JAsCo: an aspect-oriented approach tailored for component based software development
Proceedings of the 2nd international conference on Aspect-oriented software development
Just-in-time aspects: efficient dynamic weaving for Java
Proceedings of the 2nd international conference on Aspect-oriented software development
Web cache prefetching as an aspect: towards a dynamic-weaving based solution
Proceedings of the 2nd international conference on Aspect-oriented software development
Design Patterns: Abstraction and Reuse of Object-Oriented Design
ECOOP '93 Proceedings of the 7th European Conference on Object-Oriented Programming
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Supporting Unanticipated Dynamic Adaptation of Application Behaviour
ECOOP '02 Proceedings of the 16th European Conference on Object-Oriented Programming
Component Libraries and Language Features
Ada Europe '01 Proceedings of the 6th Ade-Europe International Conference Leuven on Reliable Software Technologies
Proceedings of the Workshop on Object-Oriented Technology
JAC: A Flexible Solution for Aspect-Oriented Programming in Java
REFLECTION '01 Proceedings of the Third International Conference on Metalevel Architectures and Separation of Crosscutting Concerns
Security Through Aspect-Oriented Programming
Proceedings of the IFIP TC11 WG11.4 First Annual Working Conference on Network Security: Advances in Network and Distributed Systems Security
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
OpenJava: A Class-Based Macro System for Java
Proceedings of the 1st OOPSLA Workshop on Reflection and Software Engineering: Reflection and Software Engineering, Papers from OORaSE 1999
AspectS - Aspect-Oriented Programming with Squeak
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
Next Generation Middleware: Requirements, Architecture, and Prototypes
FTDCS '99 Proceedings of the 7th IEEE Workshop on Future Trends of Distributed Computing Systems
Reflection and semantics in LISP
POPL '84 Proceedings of the 11th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Making Meta-Object Protocols Practial for Operating Systems
IWOOOS '95 Proceedings of the 4th International Workshop on Object-Orientation in Operating Systems
A new approach to scalable Linda-systems based on swarms
Proceedings of the 2003 ACM symposium on Applied computing
A selective, just-in-time aspect weaver
Proceedings of the 2nd international conference on Generative programming and component engineering
Hood: a neighborhood abstraction for sensor networks
Proceedings of the 2nd international conference on Mobile systems, applications, and services
Computer
JAC: an aspect-based distributed dynamic framework
Software—Practice & Experience
Supporting autonomic computing functionality via dynamic operating system kernel aspects
Proceedings of the 4th international conference on Aspect-oriented software development
Proceedings of the 4th international conference on Aspect-oriented software development
Research challenges of autonomic computing
Proceedings of the 27th international conference on Software engineering
Towards aspect weaving applications
Proceedings of the 27th international conference on Software engineering
An execution layer for aspect-oriented programming languages
Proceedings of the 1st ACM/USENIX international conference on Virtual execution environments
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
An Architectural Approach to Autonomic Computing
ICAC '04 Proceedings of the First International Conference on Autonomic Computing
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
LIME: A coordination model and middleware supporting mobility of hosts and agents
ACM Transactions on Software Engineering and Methodology (TOSEM)
Adapting virtual machine techniques for seamless aspect support
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Efficient control flow quantification
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Developing Multi-Agent Systems with JADE (Wiley Series in Agent Technology)
Developing Multi-Agent Systems with JADE (Wiley Series in Agent Technology)
Reflective layer activation in ContextL
Proceedings of the 2007 ACM symposium on Applied computing
Self-Managed Systems: an Architectural Challenge
FOSE '07 2007 Future of Software Engineering
Using meta-objects to support optimisation in the Apertos operating system
COOTS'95 Proceedings of the USENIX Conference on Object-Oriented Technologies on USENIX Conference on Object-Oriented Technologies (COOTS)
Highly dynamic behaviour adaptability through prototypes with subjective multimethods
Proceedings of the 2007 symposium on Dynamic languages
Controlled, systematic, and efficient code replacement for running java programs
Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer Systems 2008
2APL: a practical agent programming language
Autonomous Agents and Multi-Agent Systems
Monitoring in adaptive systems using reflection
Proceedings of the 2008 international workshop on Software engineering for adaptive and self-managing systems
Runtime software adaptation: framework, approaches, and styles
Companion of the 30th international conference on Software engineering
A survey of autonomic computing—degrees, models, and applications
ACM Computing Surveys (CSUR)
CARISMA: Context-Aware Reflective mIddleware System for Mobile Applications
IEEE Transactions on Software Engineering
The Design and Implementation of Open ORB 2
IEEE Distributed Systems Online
MobiPADS: A Reflective Middleware for Context-Aware Mobile Computing
IEEE Transactions on Software Engineering
Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations
Multiagent Systems: Algorithmic, Game-Theoretic, and Logical Foundations
Self-adaptive software: Landscape and research challenges
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
Programming pervasive and mobile computing applications: The TOTA approach
ACM Transactions on Software Engineering and Methodology (TOSEM)
Model evolution by run-time parameter adaptation
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
A comparison of context-oriented programming languages
International Workshop on Context-Oriented Programming
A universal modular ACTOR formalism for artificial intelligence
IJCAI'73 Proceedings of the 3rd international joint conference on Artificial intelligence
AspectJ in Action: Enterprise AOP with Spring Applications
AspectJ in Action: Enterprise AOP with Spring Applications
Framework for application management with dynamic aspects J-EARS case study
Information and Software Technology
Configuring resource managers using model fuzzing: a case study of the .NET thread pool
IM'09 Proceedings of the 11th IFIP/IEEE international conference on Symposium on Integrated Network Management
Bytecodes meet combinators: invokedynamic on the JVM
Proceedings of the Third Workshop on Virtual Machines and Intermediate Languages
AAOP-based dynamically reconfigurable monitoring system
Information and Software Technology
Adaptability mechanisms for autonomic system implementation with AAOP
Software—Practice & Experience
Event-specific software composition in context-oriented programming
SC'10 Proceedings of the 9th international conference on Software composition
Designing event-based context transition in context-oriented programming
Proceedings of the 2nd International Workshop on Context-Oriented Programming
Layered method dispatch with INVOKEDYNAMIC: an implementation study
Proceedings of the 2nd International Workshop on Context-Oriented Programming
EventCJ: a context-oriented programming language with declarative event-based context transition
Proceedings of the tenth international conference on Aspect-oriented software development
Spatial Coordination of Pervasive Services through Chemical-Inspired Tuple Spaces
ACM Transactions on Autonomous and Adaptive Systems (TAAS)
An evaluation of the adaptation capabilities in programming languages
Proceedings of the 6th International Symposium on Software Engineering for Adaptive and Self-Managing Systems
An open implementation for context-oriented layer composition in ContextJS
Science of Computer Programming
METE: meeting end-to-end QoS in multicores through system-wide resource management
ACM SIGMETRICS Performance Evaluation Review - Performance evaluation review
A context management infrastructure with language integration support
Proceedings of the 3rd International Workshop on Context-Oriented Programming
JavaCtx: seamless toolchain integration for context-oriented programming
Proceedings of the 3rd International Workshop on Context-Oriented Programming
Efficient layer activation for switching context-dependent behavior
JMLC'06 Proceedings of the 7th joint conference on Modular Programming Languages
ContextErlang: introducing context-oriented programming in the actor model
Proceedings of the 11th annual international conference on Aspect-oriented Software Development
An aspect-oriented approach for developing self-adaptive fractal components
SC'06 Proceedings of the 5th international conference on Software Composition
Transactions on Aspect-Oriented Software Development I
A framework for policy driven auto-adaptive systems using dynamic framed aspects
Transactions on Aspect-Oriented Software Development II
Context-oriented programming: A software engineering perspective
Journal of Systems and Software
Efficient Layer Activation in Context JS
C5 '12 Proceedings of the 2012 10th International Conference on Creating, Connecting and Collaborating through Computing
Hi-index | 0.00 |
Self-adaptive software has become increasingly important to address the new challenges of complex computing systems. To achieve adaptation, software must be designed and implemented by following suitable criteria, methods, and strategies. Past research has been mostly addressing adaptation by developing solutions at the software architecture level. This work, instead, focuses on finer-grain programming language-level solutions. We analyze three main linguistic approaches: metaprogramming, aspect-oriented programming, and context-oriented programming. The first two are general-purpose linguistic mechanisms, whereas the third is a specific and focused approach developed to support context-aware applications. This paradigm provides specialized language-level abstractions to implement dynamic adaptation and modularize behavioral variations in adaptive systems. The article shows how the three approaches can support the implementation of adaptive systems and compares the pros and cons offered by each solution.