The Vision of Autonomic Computing
Computer
Recovery Oriented Computing (ROC): Motivation, Definition, Techniques,
Recovery Oriented Computing (ROC): Motivation, Definition, Techniques,
Research directions in reflective middleware: the Lancaster experience
ARM '04 Proceedings of the 3rd workshop on Adaptive and reflective middleware
Supporting autonomic computing functionality via dynamic operating system kernel aspects
Proceedings of the 4th international conference on Aspect-oriented software development
A middleware for experimentation on dynamic adaptation
ARM '05 Proceedings of the 4th workshop on Reflective and adaptive middleware systems
Self-adaptive multithreaded applications: a case for dynamic aspect weaving
ARM '05 Proceedings of the 4th workshop on Reflective and adaptive middleware systems
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
Evolving self-adaptive services using planning-based reflective middleware
Proceedings of the 5th workshop on Adaptive and reflective middleware (ARM '06)
A distributed architecture meta-model for self-managed middleware
Proceedings of the 5th workshop on Adaptive and reflective middleware (ARM '06)
Adapta: a framework for dynamic reconfiguration of distributed applications
Proceedings of the 5th workshop on Adaptive and reflective middleware (ARM '06)
A commensalistic software system
Companion to the 21st ACM SIGPLAN symposium on Object-oriented programming systems, languages, and applications
Autonomic Computing
Java-MOP: a monitoring oriented programming environment for java
TACAS'05 Proceedings of the 11th international conference on Tools and Algorithms for the Construction and Analysis of Systems
abc: an extensible AspectJ compiler
Transactions on Aspect-Oriented Software Development I
DS-RT '09 Proceedings of the 2009 13th IEEE/ACM International Symposium on Distributed Simulation and Real Time Applications
Weaving the fabric of the control loop through aspects
SOAR'09 Proceedings of the First international conference on Self-organizing architectures
Aspect of assembly: from theory to performance
Transactions on Aspect-Oriented Software Development IX
Hi-index | 0.01 |
Conscientious software is a recently proposed paradigm for developing reliable, self-sustaining software systems. Conscientious software systems consist of an allopoietic part, which encapsulates application functionality, and an autopoietic part that is responsible for keeping the system alive by monitoring the application and adapting it to environmental changes. Practical application of the conscientious software paradigm requires solutions to two open problems: The design of suitable autopoietic programming languages and the proposal of concrete architectures for combining the autopoietic and allopoietic parts. In this paper, we tackle the second challenge, and propose a concrete, aspect-oriented architecture for realizing conscientious software. Here, we introduce epi-aspects, a construct for upgrading new and existing applications into conscientious software. This paper provides the architectural design of epi-aspects, an autopoietic simulator, and a concrete framework for developing epi-aspects in Java. The framework and the simulator are used to conduct a case study in which we develop and test a conscientious Java application.