ABSTRACT
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.
- P. Avgustinov, A. S. Christensen, L. Hendren, S. Kuzins, J. Lhotk, O. Lhotk, O. de Moor, D. Sereni, G. Sittampalam, and J. Tibble. abc: An extensible aspectj compiler. Transactions on AOSD, (1):293--334, 2006. Google Scholar
Digital Library
- G. S. Blair, G. Coulson, and P. Grace. Research directions in reflective middleware: the lancaster experience. In ARM'04: Proceedings of the 3rd workshop on Adaptive and reflective middleware, pages 262--267, New York, NY, USA, 2004. ACM Press. Google Scholar
Digital Library
- F. Chen and G. Roşu. Towards monitoring-oriented programming: A paradigm combining specification and implementation. In Workshop on Runtime Verification (RV'03), volume 89(2) of ENTCS, pages 108--127, 2003.Google Scholar
- F. Chen and G. Roşu. Java-mop: A monitoring oriented programming environment for java. In Proceedings of the Eleventh International Conference on Tools and Algorithms for the construction and analysis of systems (TACAS'05), volume 3440 of LNCS, pages 546--550. Springer-Verlag, 2005. Google Scholar
Digital Library
- F. Chen and G. Roşsu. Mop: Reliable software development using abstract aspects. Technical Report UIUCDCS-R-2006-2776, Department of Computer Science, University of Illinois at Urbana-Champaign, 2006.Google Scholar
- F. Eliassen, E. Gjørven, V. S. W. Eide, and J. A. Michaelsen. Evolving self--adaptive services using planning--based reflective middleware. In ARM'06: Proceedings of the 5th workshop on Adaptive and reflective middleware (ARM'06), page 1, New York, NY, USA, 2006. ACM Press. Google Scholar
Digital Library
- M. Engel and B. Freisleben. Supporting autonomic computing functionality via dynamic operating system kernel aspects. In AOSD'05: Proceedings of the 4th international conference on Aspect-Oriented software development, pages 51--62, New York, NY, USA, 2005. ACM Press. Google Scholar
Digital Library
- S. Fleissner and E. Baniassad. A commensalistic software system. In OOPSLA'06: Companion to the 21st annual ACM SIGPLAN conference on Object-Oriented programming, systems, languages, and applications. ACM Press, 2006. Google Scholar
Digital Library
- R. P. Gabriel, R. Goldman, and K. A. McIntyre. Conscientious software. In OOPSLA'06: Proceedings of the 21st annual ACM SIGPLAN conference on Object-Oriented programming, systems, languages, and applications, New York, NY, USA, 2006. ACM Press. Google Scholar
Digital Library
- D. Garlan, S.-W. Cheng, A.-C. Huang, B. Schmerl, and P. Steenkiste. Rainbow: Architecture-based selfadaptation with reusable infrastructure. Computer, 37(10):46--54, 2004. Google Scholar
Digital Library
- P. Grace, G. Coulson, G. S. Blair, and B. Porter. A distributed architecture meta-model for self-managed middleware. In ARM'06: Proceedings of the 5th workshop on Adaptive and reflective middleware (ARM'06), page 3, New York, NY, USA, 2006. ACM Press. Google Scholar
Digital Library
- P. Greenwood and L. Blair. Using dynamic aop to implement an autonomic system. In Proceedings of the 2004 Dynamic Aspects Workshop (DAW04), Lancaster, pages 76--88. RICAS, March 2006.Google Scholar
- J. O. Kephart and D. M. Chess. The vision of autonomic computing. Computer, 36(1):41--50, January 2003. Google Scholar
Digital Library
- R. Maia, R. Cerqueira, and F. Kon. A middleware for experimentation on dynamic adaptation. In ARM'05: Proceedings of the 4th workshop on Reflective and adaptive middleware systems, New York, NY, USA, 2005. ACM Press. Google Scholar
Digital Library
- B. McMullin. Computational autopoiesis: The original algorithm. Working Paper 97-01-001, Santa Fe Institute, Santa Fe, NM 87501, USA, 1997.Google Scholar
- B. McMullin and F. J. Varela. Rediscovering computational autopoiesis. In Fourth European Conference on Artificial Life (ECAL'97), pages 38--47, 1997.Google Scholar
- R. Murch. Autonomic Computing. IBM Press, March 2004. Google Scholar
Digital Library
- D. Patterson, A. Brown, P. Broadwell, G. Candea, M. Chen, J. Cutler, P. Enriquez, A. Fox, E. Kiciman, M. Merzbacher, D. Oppenheimer, N. Sastry, W. Tetzlaff, J. Traupman, and N. Treuhaft. Recovery oriented computing (roc): Motivation, definition, techniques,. Technical report, Berkeley, CA, USA, 2002. Google Scholar
Digital Library
- A. Rasche, W. Schult, and A. Polze. Self-adaptive multithreaded applications: a case for dynamic aspect weaving. In ARM'05: Proceedings of the 4th workshop on Reflective and adaptive middleware systems, New York, NY, USA, 2005. ACM Press. Google Scholar
Digital Library
- M. A. S. Sallem and F. J. da Silva e Silva. Adapta: a framework for dynamic reconfiguration of distributed applications. In ARM'06: Proceedings of the 5th workshop on Adaptive and reflective middleware (ARM'06), page 10, New York, NY, USA, 2006. ACM Press. Google Scholar
Digital Library
- F. J. Varela, H. R. Maturana, and R. Uribe. Autopoiesis: The organization of living systems, its characterization and a model. BioSystems, 5:187--196, 1974.Google Scholar
- M. Zeleny. Self-organization of living systems: A formal model of autopoiesis. International Journal of General Systems, 4:13--28, 1977.Google Scholar
Cross Ref
Index Terms
Epi-aspects: aspect-oriented conscientious software
Recommendations
Epi-aspects: aspect-oriented conscientious software
Proceedings of the 2007 OOPSLA conferenceConscientious 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 ...
Rapid development of extensible profilers for the Java virtual machine with aspect-oriented programming
WOSP/SIPEW '10: Proceedings of the first joint WOSP/SIPEW international conference on Performance engineeringMany profilers for Java applications are implemented with low-level bytecode instrumentation techniques, which is tedious, error-prone, and complicates maintenance and extension of the tools. In order to reduce development time and cost, we promote ...
Comprehensive aspect weaving for Java
Aspect-oriented programming (AOP) has been successfully applied to application code thanks to techniques such as Java bytecode instrumentation. Unfortunately, with existing AOP frameworks for Java such as AspectJ, aspects cannot be woven into the ...







Comments