Skip to main content

Using Filtered Cartesian Flattening and Microrebooting to Build Enterprise Applications with Self-adaptive Healing

  • Chapter
Book cover Software Engineering for Self-Adaptive Systems

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5525))

Abstract

Building enterprise applications that can self-adapt to eliminate component failures is hard. Existing approaches for building adaptive applications exhibit significant limitations, such as requiring developers to manually handle healing side-effects, such as lock release, thread synchronization, and transaction cancellation. Moreover, these techniques require developers to write the complex recovery logic needed to self-adapt without exceeding resource constraints.

This paper provides two contributions to R&D on self-adaptive applications. First, it describes a microrebooting technique called Refresh that uses (1) feature models and a heuristic algorithm to derive a new and correct application configuration that meets resource constraints and (2) an application’s component container to shutdown the failed subsystems and reboot the subsystem with the new component configuration. Second, we present results from experiments that evaluate how fast Refresh can adapt an enterprise application to eliminate failed components. These results show that Refresh can reconfigure and reboot failed application subsystems in approximately 150ms. This level of performance enables Refresh to significantly improve enterprise application recovery time compared to standard system or application container rebooting.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Choco constraint programming system, http://choco.sourceforge.net/

  2. Barbier, F.: MDE-based Design and Implementation of Autonomic Software Components. In: 5th IEEE International Conference on Cognitive Informatics, 2006. ICCI 2006, vol. 1 (2006)

    Google Scholar 

  3. Barki, H., Rivard, S., Talbot, J.: Toward an assessment of software development risk. Journal of Management Information Systems 10(2), 203–225 (1993)

    Article  Google Scholar 

  4. Batory, D.: Feature Models, Grammars, and Prepositional Formulas. In: Obbink, H., Pohl, K. (eds.) SPLC 2005. LNCS, vol. 3714, pp. 7–20. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  5. Benavides, D., Trinidad, P., Ruiz-Cortés, A.: Automated Reasoning on Feature Models. In: Pastor, Ó., Falcão e Cunha, J. (eds.) CAiSE 2005. LNCS, vol. 3520, pp. 491–503. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  6. Bhat, V., Parashar, M., Liu, H., Khandekar, M., Kandasamy, N., Abdelwahed, S.: Enabling Self-Managing Applications using Model-based Online Control Strategies. In: Proceedings of the 3rd IEEE International Conference on Autonomic Computing, Dublin, Ireland (June 2006)

    Google Scholar 

  7. Calinescu, R.: Model-Driven Autonomic Architecture. In: Proceedings of the 4th IEEE International Conference on Autonomic Computing, Jacksonville, Florida, USA (June 2007)

    Google Scholar 

  8. Candea, G., Kawamoto, S., Fujiki, Y., Friedman, G., Fox, A.: Microreboot-a technique for cheap recovery. In: Proceedings of the 6th Symposium on Operating Systems Design and Implementation, pp. 31–44 (2004)

    Google Scholar 

  9. Czarnecki, K., Antkiewicz, M., Kim, C., Lau, S., Pietroszek, K.: FMP and FMP2RSM: Eclipse Plug-ins for Modeling Features Using Model Templates. In: Conference on Object Oriented Programming Systems Languages and Applications, pp. 200–201 (October 2005)

    Google Scholar 

  10. Oppenheimer, D.P.D., Ganapathi, A.: Why do Internet Services Fail, and What can be Done about It? In: Proceedings of the USENIX Symposium on Internet Technologies and Systems (March 2003)

    Google Scholar 

  11. Denaro, G., Pezze, M., Tosi, D.: Designing Self-Adaptive Service-Oriented Applications. In: 4th IEEE International Conference on Autonomic Computing, Jacksonville, Florida (June 2007)

    Google Scholar 

  12. Elkorobarrutia, X., Izagirre, A., Sagardui, G.: A Self-Healing Mechanism for State Machine Based Components. In: Proceedings of the 1st International Conference on Ubiquitous Computing: Applications, Technology and Social Issues, Alcalá de Henares, Madrid, Spain (June 2006)

    Google Scholar 

  13. Johnson, R., Hoeller, J.: Expert one-on-one J2EE development without EJB. Wrox (2004)

    Google Scholar 

  14. Joshi, K., Sanders, W., Hiltunen, M., Schlichting, R.: Automatic Model-Driven Recovery in Distributed Systems. In: The 24th IEEE Symposium on Reliable Distributed Systems (SRDS 2005), pp. 25–38 (2005)

    Google Scholar 

  15. Kang, K., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: FORM: A feature-; oriented reuse method with domain-; specific reference architectures. Annals of Software Engineering 5, 143–168 (1998)

    Article  Google Scholar 

  16. Lapouchnian, A., Liaskos, S., Mylopoulos, J., Yu, Y.: Towards Requirements-driven Autonomic Systems Design. In: Proceedings of the 2005 workshop on Design and evolution of autonomic application software, pp. 1–7 (2005)

    Google Scholar 

  17. Linberg, K.: Software developer perceptions about software project failure: a case study. The Journal of Systems & Software 49(2-3), 177–192 (1999)

    Article  Google Scholar 

  18. Mannion, M.: Using First-order Logic for Product Line Model Validation. In: Chastek, G.J. (ed.) SPLC 2002. LNCS, vol. 2379, pp. 176–187. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  19. Mostofa Akbar, M., Sohel Rahman, M., Kaykobad, M., Manning, E., Shoja, G.: Solving the Multidimensional Multiple-choice Knapsack Problem by constructing convex hulls. Computers and Operations Research 33(5), 1259–1273 (2006)

    Article  MATH  MathSciNet  Google Scholar 

  20. Schach, S.: Object-oriented and classical software engineering. McGraw-Hill Higher Education, Boston (2005)

    Google Scholar 

  21. Trinidad, P., Benavides, D., Durán, A., Ruiz-Cortés, A., Toro, M.: Automated error analysis for the agilization of feature modeling. Journal of Systems and Software (in press) (2007)

    Google Scholar 

  22. White, J., Czarnecki, K., Schmidt, D.C., Lenz, G., Wienands, C., Wuchner, E., Fiege, L.: Automated Model-based Configuration of Enterprise Java Applications. In: EDOC 2007 (October 2007)

    Google Scholar 

  23. White, J., Dougherty, B., Schmidt, D.: Filtered Cartesian Flattening. In: Workshop on Analysis of Software Product-Lines at the International Conference on Software Product-lines (October 2008)

    Google Scholar 

  24. White, J., Nechypurenko, A., Wuchner, E., Schmidt, D.C.: Optimizing and Automating Product-Line Variant Selection for Mobile Devices. In: 11th International Software Product Line Conference (September 2007)

    Google Scholar 

  25. White, J., Strowd, H., Schmidt, D.C.: Creating Self-healing Service Compositions with Feature Modeling and Microrebooting. In: The International Journal of Business Process Integration and Management (IJBPIM), Special issue on Model-Driven Service-Oriented Architectures (2008)

    Google Scholar 

  26. Whittaker, B.: What went wrong? Unsuccessful information technology projects. Information Management And Computer Security 7, 23–29 (1999)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

White, J., Dougherty, B., Strowd, H.D., Schmidt, D.C. (2009). Using Filtered Cartesian Flattening and Microrebooting to Build Enterprise Applications with Self-adaptive Healing. In: Cheng, B.H.C., de Lemos, R., Giese, H., Inverardi, P., Magee, J. (eds) Software Engineering for Self-Adaptive Systems. Lecture Notes in Computer Science, vol 5525. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02161-9_13

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-02161-9_13

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-02160-2

  • Online ISBN: 978-3-642-02161-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics