skip to main content
10.1145/1297027.1297076acmconferencesArticle/Chapter ViewAbstractPublication PagessplashConference Proceedingsconference-collections
Article

Epi-aspects: aspect-oriented conscientious software

Published:21 October 2007Publication History

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.

References

  1. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  2. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  3. 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 ScholarGoogle Scholar
  4. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  5. 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 ScholarGoogle Scholar
  6. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  7. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  8. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  9. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  10. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  11. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  12. 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 ScholarGoogle Scholar
  13. J. O. Kephart and D. M. Chess. The vision of autonomic computing. Computer, 36(1):41--50, January 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  15. B. McMullin. Computational autopoiesis: The original algorithm. Working Paper 97-01-001, Santa Fe Institute, Santa Fe, NM 87501, USA, 1997.Google ScholarGoogle Scholar
  16. B. McMullin and F. J. Varela. Rediscovering computational autopoiesis. In Fourth European Conference on Artificial Life (ECAL'97), pages 38--47, 1997.Google ScholarGoogle Scholar
  17. R. Murch. Autonomic Computing. IBM Press, March 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  19. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  20. 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 ScholarGoogle ScholarDigital LibraryDigital Library
  21. 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 ScholarGoogle Scholar
  22. M. Zeleny. Self-organization of living systems: A formal model of autopoiesis. International Journal of General Systems, 4:13--28, 1977.Google ScholarGoogle ScholarCross RefCross Ref

Index Terms

  1. Epi-aspects: aspect-oriented conscientious software

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader
    About Cookies On This Site

    We use cookies to ensure that we give you the best experience on our website.

    Learn more

    Got it!