Simplifying Autonomic Enterprise Java Bean Applications Via Model-Driven Development: A Case Study

  • Jules White
  • Douglas C. Schmidt
  • Aniruddha Gokhale
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3713)


Autonomic computer systems aim to reduce the configuration, operational, and maintenance costs of distributed applications by enabling them to self-manage, self-heal, self-optimize, self-configure, and self-protect. This pa-per provides two contributions to the model-driven development (MDD) of autonomic computing systems using Enterprise Java Beans (EJBs). First, we describe the structure and functionality of an MDD tool that formally captures the design of EJB applications, their quality of service (QoS) requirements, and the autonomic properties applied to the EJBs to support the rapid development of autonomic EJB applications via code generation, automatic checking of model correctness, and visualization of complex QoS and autonomic properties. Second, the paper describes how MDD tools can generate code to plug EJBs into a Java component framework that provides an autonomic structure to monitor, configure, and execute EJBs and their adaptation strategies at run-time. We present a case study that evaluates how these tools and frameworks work to reduce the complexity of developing autonomic applications.


Adaptation Plan Autonomic Computing Maximum Response Time Generic Modeling Environment Autonomic Application 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Kephart, J.O., Chess, D.M.: The Vision of Autonomic Computing. IEEE Computer (January 2003)Google Scholar
  2. 2.
    Oppenheimer, D., Ganapathi, A., Patterson, D.: Why do Internet services fail, and what can be done about it? In: Proc. USENIX Symposium on Internet Technologies and Systems (March 2003)Google Scholar
  3. 3.
    Matena, V., Hapner, M.: Enterprise Java Beans Specification, Version 1.1. Sun Microsystems (December 1999) Google Scholar
  4. 4.
  5. 5.
    Candea, G., Fox, A.: Designing for High Availability and Measurability. In: Proc. of the 1st Workshop on Evaluating and Architecting System Dependability (2001)Google Scholar
  6. 6.
    Wang, N., Schmidt, D., Gokhale, A., Rodrigues, C., Natarajan, B., Loyall, J., Schantz, R., Gill, C.: QoS-enabled Middleware. In: Mahmoud, Q. (ed.) Middleware for Communications, Wiley and Sons, New York (2003)Google Scholar
  7. 7.
    Ledeczi, A., Bakay, A., Maroti, M., Volgysei, P., Nordstrom, G., Sprinkle, J., Karsai, G.: Composing Domain-Specific Design Environments. IEEE Computer (November 2001)Google Scholar
  8. 8.
    Eymann, T., Reinicke, M., et al.: Self-Organizing Resource Allocation for Autonomic Networks. In: Proc. DEXA Workshops (2003)Google Scholar
  9. 9.
    Ledeczi, A.: The Generic Modeling Environment. In: Proc. Workshop on Intelligent Signal Processing, Budapest, Hungary (2001)Google Scholar
  10. 10.
    Alur, D., Crupi, J., Malks, D.: J2EE Core Patterns. Sun Microsystems Press (2003)Google Scholar
  11. 11.
    Gray, J., Roychoudhury, S.: A Technique for Constructing Aspect Weavers Using a Program Transformation Engine. In: Proc. of AOSD 2004, Lancaster, UK, March 22-26 (2004)Google Scholar
  12. 12.
    Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading (1995)Google Scholar
  13. 13.
    Giguere, E.: Create GLA components using Release 2 of the Autonomic Computing Toolkit. IBM Developerworks,
  14. 14.
    Specification: Common Base Event. IBMDeveloperworks,
  15. 15.
    Loyall, J., Bakken, D., Schantz, R., Zinky, J., Karr, D., Vanegas, R.: QoS Aspect Languages and Their Runtime Integration. In: Proc. of the Fourth Workshop on Languages, Compilers and Runtime Systems for Scalable Components (1998)Google Scholar
  16. 16.
    Hatcliff, J., Deng, W., Dwyer, M., Jung, G., Prasad, V.: Cadena: An Integrated Development, Analysis, and Verification Environment for Component-based Systems. In: Proc. of the 25th International Conference on Software Engineering, Portland, OR (2003)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2005

Authors and Affiliations

  • Jules White
    • 1
  • Douglas C. Schmidt
    • 1
  • Aniruddha Gokhale
    • 1
  1. 1.Department of Electrical Engineering and Computer ScienceVanderbilt UniversityNashville

Personalised recommendations