ABSTRACT
A system of systems (SoS) integrates independently useful systems into a larger system. Examples are integrated surveillance systems and networked smart homes. A SoS offers functions to users that cannot be provided by its individual parts, but emerge as a combination of these. However, providing these functions with a required level of quality is difficult due to inherent uncertainties, such as systems that attach and detach at will and faults that are difficult to predict. Self-adaptation is a well-studied approach that enables a system to reason about itself and adapt to achieve particular quality objectives in the face of uncertainties and change. However, the inherently decentralized nature of SoS raises fundamental challenges to self-adaptation. This paper presents three architectural styles to realize self-adaptation in SoS, discusses key challenges for each style, and outlines starting points that could help to tackle these challenges.
- T. Abdelzaher, Y. Diao, J. Hellerstein, C. Lu, and X. Zhu. Introduction to control theory and its application to computing systems. In Performance Modeling and Engineering. Springer, 2008.Google Scholar
- T. Abdelzaher, J. Stankovic, C. Lu, R. Zhang, and Y. Lu. Feedback performance control in software services. Control Systems, IEEE, 23(3), 2003.Google Scholar
- L. Bakule. Decentralized control: An overview. Annual Reviews in Control, 32(1):87--98, 2008.Google ScholarCross Ref
- J. Boardman and B. Sauser. System of systems-the meaning of of. In International Conference on System of Systems Engineering. IEEE, 2006.Google ScholarCross Ref
- R. Calinescu, L. Grunske, M. Kwiatkowska, R. Mirandola, and G. Tamburrelli. Dynamic qos management and optimization in service-based systems. IEEE Transactions on Software Engineering, 37(3):387--409, 2011. Google ScholarDigital Library
- B. Cheng, R. de Lemos, H. Giese, P. Inverardi, J. Magee, J. Andersson, B. Becker, N. Bencomo, Y. Brun, B. Cukic, G. M. Serugendo, S. Dustdar, A. Finkelstein, C. Gacek, K. Geihs, V. Grassi, G. Karsai, H. Kienle, J. Kramer, M. Litoiu, S. Malek, R. Mirandola, H. Müller, S. Park, M. Shaw, M. Tichy, M. Tivoli, D. Weyns, and J. Whittle. Software engineering for self-adaptive systems: A research roadmap. In Software Engineering for Self-Adaptive Systems, volume 5525. Springer, 2009. Google ScholarDigital Library
- G. Denaro, M. Pezze, and D. Tosi. Ensuring interoperable service-oriented systems through engineered self-healing. In ESEC/SIGSOFT FSE, 2009. Google ScholarDigital Library
- Y. Diao, N. Gandhi, J. Hellerstein, S. Parekh, and D. Tilbury. Using MIMO feedback control to enforce policies for interrelated metrics with application to the Apache Web server. In Network Operations and Management Symposium, 2002.Google Scholar
- J. Dowling and V. Cahill. The k-component architecture meta-model for self-adaptive software. 3rd Metalevel Architectures and Separation of Crosscutting Concerns. Springer, 2001. Google ScholarDigital Library
- D. Garlan, S. Cheng, A. C. Huang, B. Schmerl, and P. Steenkiste. Rainbow: Architecture-based self-adaptation with reusable infrastructure. IEEE Computer, 37:46--54, 2004. Google ScholarDigital Library
- D. Gil de la Iglesia and D. Weyns. Guaranteeing robustness in a mobile learning application using formally verified mape loops. In 8th International Symposium on Software Engineering for Adaptive and Self-Managing Systems, 2013. Google ScholarDigital Library
- R. Hafner and M. Riedmiller. Reinforcement learning in feedback control. Machine Learning, 84(1-2):137--169, 2011. Google ScholarDigital Library
- J. Hellerstein, Y. Diao, S. Parekh, and D. Tilbury. Feedback Control of Computing Systems. Wiley, 2004. Google ScholarDigital Library
- J. H. Holland. Emergence: From Chaos to Order. Redwood City, California: Addison-Wesley, 1998. Google ScholarDigital Library
- W. Jiao and Y. Sun. Supporting adaptation of decentralized software based on application scenarios. Journal of Systems and Software, 86(7), 2013. Google ScholarDigital Library
- J. Kephart and D. Chess. The vision of autonomic computing. Computer, 36(1):41--50, 2003. Google ScholarDigital Library
- J. Kramer and J. Magee. Self-managed systems: An architectural challenge. Future of Software Engineering, 2007. Google ScholarDigital Library
- K. Kucher and D. Weyns. A self-adaptive software system to support elderly care. In Modern Information Technology, MIT, 2013.Google Scholar
- R. Lemos, H. Giese, H. Mueller, M. Shaw, J. Andersson, M. Litoiu, B. Schmerl, G. Tamura, N. Villegas, T. Vogel, D. Weyns, L. Baresi, B. Becker, N. Bencomo, Y. Brun, B. Cukic, R. Desmarais, S. Dustdar, G. Engels, K. Geihs, K. Goaschka, A. Gorla, V. Grassi, P. Inverardi, G. Karsai, J. Kramer, A. Lopes, J. Magee, S. Malek, S. Mankovskii, R. Mirandola, J. Mylopoulos, O. Nierstrasz, M. Pezze, C. Prehofer, W. Schaefer, R. Schlichting, D. Smith, J.-P. Sousa, L. Tahvildari, K. Wong, and J. Wuttke. Software engineering for self-adaptive systems: A second research roadmap. In Software Engineering for Self-Adaptive Systems II, volume 7475 of Lecture Notes in Computer Science. Springer, 2013.Google ScholarCross Ref
- M. W. Maier. Architecting principles for systems-of-systems. Systems Engineering, 1(4):267--284, 1998.Google ScholarCross Ref
- L. Northrop, P. Feiler, R. P. Gabriel, J. Goodenough, R. Linger, T. Longstaff, R. Kazman, M. Klein, D. Schmidt, K. Sullivan, and K. Wallnau. Ultra-Large-Scale Systems - the software challenge of the future. Technical report, SEI, Carnegie Mellon, 2006.Google Scholar
- P. Oreizy, M. Gorlick, R. Taylor, D. Heimbigner, G. Johnson, N. Medvidovic, A. Quilici, D. Rosenblum, and A. Wolf. An architecture-based approach to self-adaptive software. IEEE Intelligent Systems, 14(3):54--62, 1999. Google ScholarDigital Library
- A. P. Sage and C. D. Cuppan. On the systems engineering and management of systems of systems and federations of systems. Inf. Knowl. Syst. Manag., 2(4):325--345, Dec. 2001. Google ScholarDigital Library
- M. Usman Iftikhar and D. Weyns. A Case Study on Formal Verification of Self-Adaptive Behaviors in a Decentralized System. ArXiv e-prints, Aug. 2012.Google Scholar
- J. H. van Schuppen. Decentralized control with communication between controllers. In Unsolved problems in mathematical systems and control theory. Princeton University Press, Princeton, 2004.Google Scholar
- R. Wang and N. Kandasamy. On the design of decentralized control architectures for workload consolidation in large-scale server clusters. In Int'l. Conference on Autonomic Computing, 2012. Google ScholarDigital Library
- X. Wang, D. Jia, C. Lu, and X. Koutsoukos. Deucon: Decentralized end-to-end utilization control for distributed real-time systems. Parallel and Distributed Systems, IEEE Transactions on, 18(7):996--1009, 2007. Google ScholarDigital Library
- D. Weyns, S. Malek, and J. Andersson. Forms: Unifying reference model for formal specification of distributed self-adaptive systems. ACM Transactions on Autonomous and Adaptive Systems, 7(1), 2012. Google ScholarDigital Library
- D. Weyns, B. Schmerl, V. Grassi, S. Malek, R. Mirandola, C. Prehofer, J. Wuttke, J. Andersson, H. Giese, and K. Goeschka. On patterns for decentralized control in self-adaptive systems. Lecture Notes in Computer Science vol. 7475, Springer, 2012.Google Scholar
- T. Zheng, M. Woodside, and M. Litoiu. Performance model estimation and tracking using optimal filters. IEEE TSE, 34(3):391--406, 2008. Google ScholarDigital Library
Index Terms
- On the challenges of self-adaptation in systems of systems
Recommendations
Formal Design and Verification of Self-Adaptive Systems with Decentralized Control
Feedback control loops that monitor and adapt managed parts of a software system are considered crucial for realizing self-adaptation in software systems. The MAPE-K (Monitor-Analyze-Plan-Execute over a shared Knowledge) autonomic control loop is the ...
Dealing with Drift of Adaptation Spaces in Learning-based Self-Adaptive Systems Using Lifelong Self-Adaptation
Recently, machine learning (ML) has become a popular approach to support self-adaptation. ML has been used to deal with several problems in self-adaptation, such as maintaining an up-to-date runtime model under uncertainty and scalable decision-making. ...
Uncertainty in Self-adaptive Systems: A Research Community Perspective
One of the primary drivers for self-adaptation is ensuring that systems achieve their goals regardless of the uncertainties they face during operation. Nevertheless, the concept of uncertainty in self-adaptive systems is still insufficiently understood. ...
Comments