Skip to content The Open University

Model-Based Self-Adaptation from Requirements to Architectures: A Decision-Making Process

Model-based self-adaptation has been proposed as one way to dynamically tune parameters, change structures and behaviors of software systems in response to the changing environments. Specifically, requirements and architecture models have been used for self-adaptation. However, requirements-driven approaches usually assume that requirements elements can be directly mapped to architectural elements, and architecture-based approaches usually assume that requirements are well-understood at design time and unchanged at runtime. In this talk, we propose to combine requirements-driven and architecture-based self-adaptations. Requirements adaptations capture requirements as goal models to reason about the best plan within the problem space, and architecture-based adaptations capture architectural design decisions as decision trees to search for the best design for the desired requirements. Following these adaptations, component-based architecture models are reconfigured using incremental and generative model transformations.


[1] G. S. Blair, N. Bencomo, and R. B. France. Models@run.time. Computer, 42(10):22-27, 2009.
[2] D. Garlan, S.-W. Cheng, A.-C. Huang, B. Schmerl, and P. Steenkiste. Rainbow: Architecture-based self-adaptation with reusable infrastructure. Computer, 37(10):46-54, 2004.
[3] Y. Wang and J. Mylopoulos. Self-repair through reconfiguration: A requirements engineering approach. In ASE, pages 257-268, 2009.
[4] B. Chen, X. Peng, Y. Yu, and W. Zhao. Are your sites down? Requirements-driven self-tuning for the survivability of Web systems. In RE, pages 219-228, 2011.
[5] X. Peng, B. Chen, Y. Yu, and W. Zhao. Self-tuning of software systems through dynamic quality tradeoff and value-based feedback control loop. J. Syst. Softw., 85(12):2707-2719, 2012.