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.
Access provided by Autonomous University of Puebla. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
Keywords
- Resource Constraint
- Service Composition
- Constraint Satisfaction Problem
- Remote Service
- Application Component
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.
References
Choco constraint programming system, http://choco.sourceforge.net/
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)
Barki, H., Rivard, S., Talbot, J.: Toward an assessment of software development risk. Journal of Management Information Systems 10(2), 203–225 (1993)
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)
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)
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)
Calinescu, R.: Model-Driven Autonomic Architecture. In: Proceedings of the 4th IEEE International Conference on Autonomic Computing, Jacksonville, Florida, USA (June 2007)
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)
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)
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)
Denaro, G., Pezze, M., Tosi, D.: Designing Self-Adaptive Service-Oriented Applications. In: 4th IEEE International Conference on Autonomic Computing, Jacksonville, Florida (June 2007)
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)
Johnson, R., Hoeller, J.: Expert one-on-one J2EE development without EJB. Wrox (2004)
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)
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)
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)
Linberg, K.: Software developer perceptions about software project failure: a case study. The Journal of Systems & Software 49(2-3), 177–192 (1999)
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)
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)
Schach, S.: Object-oriented and classical software engineering. McGraw-Hill Higher Education, Boston (2005)
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)
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)
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)
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)
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)
Whittaker, B.: What went wrong? Unsuccessful information technology projects. Information Management And Computer Security 7, 23–29 (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)