基于模型的自适应方法综述
作者:
基金项目:

国家自然科学基金(61620106007,61690201,61272163);国家重点基础研究发展计划(973)(2015CB352201)


Survey of Model-Based Self-Adaptation Methods
Author:
Fund Project:

National Natural Science Foundation of China (61620106007, 61690201, 61272163); National Basic Research Program of China (973) (2015CB352201)

  • 摘要
  • | |
  • 访问统计
  • |
  • 参考文献 [67]
  • |
  • 相似文献 [20]
  • | | |
  • 文章评论
    摘要:

    自适应为管理现代软件系统的复杂性提供了有效的解决方案,被设计为自适应系统的软件能够持续地演化以应对环境中的不确定性.在现有的研究工作中,基于模型的自适应方法是一类广泛使用的方法,它将模型驱动工程技术的应用从设计时扩展到运行时,以支持自适应能力的实现.通过利用软件模型对运行时丰富和不确定的信息进行管理,这类方法避免了将自适应逻辑与程序语言交织带来的复杂性,从而简化了自适应系统的开发.对近些年来国内外学者在该研究领域取得的成果进行了系统总结.首先给出了6个研究问题,包括相关工作常用的需求模型、结构模型、行为模型、环境模型、模型与模型或模型与系统间的同步方式、自适应规划算法等;然后,依次总结了相关工作在这6个研究问题上的已有研究成果;最后,对未来研究可能面临的挑战进行了展望.

    Abstract:

    Self-Adaptation provides a promising approach to managing the complexity of modern software systems, and in particular, to enabling systems to continuously adapt themselves to uncertainty in the environment. In existing works, model-based self-adapatation is a type of widely used methods that extend the applicability of model-driven engineering techniques to the runtime environment to facilitate self-adaptation. By leveraging software models to manage the abundant information associated with runtime phenomena, model-based self-adaptation methods are able to avoid the complexity introduced by intertwining adaptation and application behaviors and therefore simplify the development of self-adaptive systems. This paper first lays out six research questions from existing studies concerning system models, environment models, relationship among models, and model-based adaptation planning methods. It then answers the research questions by investigating relevant studies. Finally, the paper offers some suggestions for future research.

    参考文献
    [1] Cheng BH, Lemos R, Giese H, Inverardi P, Magee J, Andersson J, Becker B, Bencomo N, Brun Y, Cukic B, Serugendo GM, Dustdar S, Finkelstein A, Gacek C, Geihs K, Grassi V, Karsai G, Kienle HM, Kramer J, Litoiu M, Malek S, Mirandola R, Müller HA, Park S, Shaw M, Tichy M, Tivoli M, Weyns D, Whittle J. Software engineering for self-adaptive systems:A research roadmap. In:Proc. of the Software Engineering for Self-Adaptive Systems. Springer-Verlag, 2009. 1-26.[doi:10.1007/978-3-642-02161-9_1]
    [2] de Lemos R, Giese H, Müller HA, Shaw M, Andersson J, Litoiu M, Schmerl B, Tamura G, Villegas NM, Vogel T, Weyns D, Baresi L, Becker B, Bencomo N, Brun Y. Software engineering for selfadaptive systems:A second research roadmap. In:Proc. of the Software Engineering for Self-Adaptive Systems Ⅱ. Dagstuhl Castle:Int'l Seminar, 2010.[doi:10.1007/978-3-642-35813-5_1]
    [3] Wang QX, Shen JR, Mei H An introduction to self-adaptive software. Computer Science, 2004,31(10):168-171(in Chinese with English abstract).[doi:10.3969/j.issn.1002-137X.2004.10.045]
    [4] Brun Y, Serugendo GDM, Gacek C, Giese H, Kienle H, Litoiu M, Müller H, Pezzè M, Shaw M. Engineering self-adaptive systems through feedback loops. In:Proc. of the Software Engineering for Self-Adaptive Systems. Berlin, Heidelberg:Springer-Verlag, 2009. 48-70.[doi:10.1007/978-3-642-02161-9_3]
    [5] Feng YD, Huang G, Mei H. A method for modeling and realizing self-adaptive software architecture. Acta Scientiarum Naturalium Universitatis Pekinensis, 2008,44(1):67-76(in Chinese with English abstract).[doi:10.3321/j.issn:0479-8023.2008.01.014]
    [6] Zhao XP, Li MS, Wang Q, Chen ZC, Liang JN. An agent-based self-adaptive software process model. Ruan Jian Xue Bao/Journal of Software, 2004,15(3):348-359(in Chinese with English abstract). http://www.jos.org.cn/1000-9825/20040304.htm
    [7] Morin B, Barais O, Jezequel JM, Fleurey F, Solberg A. Models@run. Time to support dynamic adaptation. Computer, 2009, 42(10).
    [8] Floch J, Hallsteinsen S, Stav E, Eliassen F, Lund K, Gjorven E. Using architecture models for runtime adaptability. IEEE Software, 2006,23(2):62-70.[doi:10.1109/MS.2006.61]
    [9] Blair G, Bencomo N, France RB. Models@run. Time. Computer, 2009,42(10).[doi:10.1109/MC.2009.326]
    [10] Elkhodary A, Esfahani N, Malek S. FUSION:A framework for engineering self-tuning self-adaptive software systems. In:Proc. of the 18th ACM SIGSOFT Int'l Symp. on Foundations of Software Engineering. ACM Press, 2010. 7-16.[doi:10.1145/1882291. 1882296]
    [11] Cetina C, Giner P, Fons J, Pelechano V. Autonomic computing through reuse of variability models at runtime:The case of smart homes. Computer, 2009,42(10):37-43.[doi:10.1109/MC.2009.309]
    [12] Swanson J, Cohen MB, Dwyer MB, Garvin B, Firestone J. Beyond the rainbow:Self-Adaptive failure avoidance in configurable systems. In:Proc. of the 22nd ACM SIGSOFT Int'l Symp. on Foundations of Software Engineering. ACM Press, 2014. 377-388.[doi:10.1145/2635868.2635915]
    [13] Alferez GH, Pelechano V. Context-Aware autonomous Web services in software product lines. In:Proc. of the 15th Int'l Software Product Line Conf. (SPLC). IEEE, 2011. 100-109.[doi:10.1109/SPLC.2011.21]
    [14] Acher M, Collet P, Fleurey F, Lahire P, Moisan S, Rigault J. Modeling context and dynamic adaptations with feature models. In:Proc. of the 4th Int'l Workshop Models@run. Time at Models 2009(MRT 2009). 2009. 10. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.204.5778
    [15] Fleurey F, Delhen V, Bencomo N, Morin B, Jézéquel JM. Modeling and validating dynamic adaptation. In:Proc. of the 3rd Int'l Workshop on Models@Runtime, at MoDELS 2008. Toulouse, 2008.[doi:10.1007/978-3-642-01648-6_11]
    [16] Ghezzi C, Sharifloo AM. Dealing with non-functional requirements for adaptive systems via dynamic software product-lines. In:Proc. of the Software Engineering for Self-Adaptive Systems Ⅱ. Berlin, Heidelberg:Springer-Verlag, 2013. 191-213.[doi:10. 1007/978-3-642-35813-5_8]
    [17] Zhao TQ, Zan T, Zhao HY, Hu ZJ, Jin Z. Integrating Goal model into rule-based adaptation. In:Proc. of the 23rd Asia-Pacific Software Engineering Conf. 2016. 289-296.[doi:10.1109/APSEC.2016.048]
    [18] Bencomo N, Sawyer P, Blair GS, Grace P. Dynamically adaptive systems are product lines too:Using model-driven techniques to capture dynamic variability of adaptive systems. In:Proc. of the Int'l Conf. Software Product Lines, Vol.2. Limerick, 2008. 23-32. https://link.springer.com/chapter/10.1007/978-3-642-35813-5_8
    [19] Chen B, Peng X, Yu Y, Nuseibeh B, Zhao W. Self-Adaptation through incremental generative model transformations at runtime. In:Proc. of the 36th Int'l Conf. on Software Engineering. ACM Press, 2014. 676-687.[doi:10.1145/2568225.2568310]
    [20] Qian W, Peng X, Chen B, Mylopoulos J, Wang H, Zhao W. Rationalism with a dose of empiricism:Case-Based reasoning for requirements-driven self-adaptation. In:Proc. of the 22nd IEEE Int'l Requirements Engineering Conf. (RE). IEEE, 2014. 113-122.[doi:10.1109/RE.2014.6912253]
    [21] Lapouchnian A, Yu Y, Liaskos S, Mylopoulos J. Requirements-Driven design of autonomic application software. In:Proc. of the 2006 Conf. of the Center for Advanced Studies on Collaborative Research. IBM Corp., 2006. 7.[doi:10.1145/1188966. 1188976]
    [22] Cheng BHC, Sawyer P, Bencomo N, Whittle G. A goal-based modeling approach to develop requirements of an adaptive system with environmental uncertainty. In:Proc. of the Int'l Conf. on Model Driven Engineering Languages and Systems. Berlin, Heidelberg:Springer-Verlag, 2009. 468-483.[doi:10.1007/978-3-642-04425-0_36]
    [23] Chen B, Peng X, Yu Y, Zhao W. Are your sites down? Requirements-Driven self-tuning for the survivability of Web systems. In:Proc. of the 19th IEEE Int'l Requirements Engineering Conf. (RE). IEEE, 2011. 219-228.[doi:10.1109/RE.2011.6051650]
    [24] Bencomo N, Belaggoun A. Supporting decision-making for self-adaptive systems:From goal models to dynamic decision networks. In:Proc. of the REFSQ 2013. 2013. 221-236.[doi:10.1007/978-3-642-37422-7_16]
    [25] Calinescu R, Ghezzi C, Kwiatkowska M, Mirandola R. Self-Adaptive software needs quantitative verification at runtime. Communications of the ACM, 2012,55(9):69-77.[doi:10.1145/2330667.2330686]
    [26] Ghezzi C, Pinto LS, Spoletini P, Tamburrelli G. Managing non-functional uncertainty via model-driven adaptivity. In:Proc. of the 2013 Int'l Conf. on Software Engineering. IEEE Press, 2013. 33-42.[doi:10.1109/ICSE.2013.6606549]
    [27] D'Ippolito N, Braberman V, Kramer J, Magee J, Sykes D, Uchitel S. Hope for the best, prepare for the worst:Multi-Tier control for adaptive systems. In:Proc. of the 36th Int'l Conf. on Software Engineering. ACM Press, 2014. 688-699.[doi:10.1145/2568225. 2568264]
    [28] Sykes D, Corapi D, Magee J, Inoue K. Learning revised models for planning in adaptive systems. In:Proc. of the 35th Int'l Conf. on Software Engineering (ICSE). IEEE, 2013. 63-71.[doi:10.1109/ICSE.2013.6606552]
    [29] Tsigkanos C, Pasquale L, Ghezzi C, Nuseibeh B. On the interplay between cyber and physical spaces for adaptive security. IEEE Trans. on Dependable and Secure Computing, 2016.[doi:10.1109/TDSC.2016.2599880]
    [30] Vogel T, Giese H. A language for feedback loops in self-adaptive systems:Executable runtime mega models. In:Proc. of the 2012 ICSE Workshop on Software Engineering for Adaptive and Self-Managing Systems (SEAMS). IEEE, 2012. 129-138.[doi:10. 1109/SEAMS.2012.6224399]
    [31] Grassi V, Mirandola R, Randazzo E. Model-Driven assessment of QoS-aware self-adaptation. In:Proc. of the Software Engineering for Self-Adaptive Systems. Berlin, Heidelberg:Springer-Verlag, 2009. 201-222.[doi:10.1007/978-3-642-02161-9_11]
    [32] Moreno GA, Cámara J, Garlan D, Schmerl B. Proactive self-adaptation under uncertainty:A probabilistic model checking approach. In:Proc. of the 10th Joint Meeting on Foundations of Software Engineering. ACM Press, 2015. 1-12.[doi:10.1145/2786805. 2786853]
    [33] Esfahani N, Kouroshfar E, Malek S. Taming uncertainty in self-adaptive software. In:Proc. of the 19th ACM SIGSOFT Symp. and the 13th European Conf. on Foundations of Software Engineering. ACM Press, 2011. 234-244.[doi:10.1145/2025113.2025147]
    [34] Filieri A, Hoffmann H, Maggio M. Automated design of self-adaptive software with control-theoretical formal guarantees. In:Proc. of the 36th Int'l Conf. on Software Engineering. ACM Press, 2014. 299-310.[doi:10.1145/2568225.2568272]
    [35] Rosa L, Rodrigues LET, Lopes A. Self-Management of distributed systems using high-level Goal policies. In:Proc. of the Software Engineering for Self-Adaptive Systems. 2010. 162-190.[doi:10.1007/978-3-642-35813-5_7]
    [36] Filieri A, Hoffmann H, Maggio M. Automated multi-objective control for self-adaptive software design. In:Proc. of the 10th Joint Meeting on Foundations of Software Engineering. ACM Press, 2015. 13-24.[doi:10.1145/2786805.2786833]
    [37] Kim DS, Park SY. Reinforcement learning-based dynamic adaptation planning method for architecture-based self-managed software. In:Proc. of the SEAMS 2009. 2009. 76-85.[doi:10.1109/SEAMS.2009.5069076]
    [38] Tajalli H, Garcia J, Edwards G, Medvidovic N. PLASMA:A plan-based layered architecture for software model-driven adaptation. In:Proc. of the IEEE/ACM Int'l Conf. on Automated Software Engineering. ACM Press, 2010. 467-476.[doi:10.1145/1858996. 1859092]
    [39] Pietschmann S. A model-driven development process and runtime platform for adaptive composite Web applications. Int'l Journal on Advances in Internet Technology, 2010,2:277-299.
    [40] Morin B, Fleurey F, Bencomo N, Jezequel J, Solberg A, Dehlen V, Blair G. An aspect-oriented and model-driven approach for managing dynamic variability. In:Proc. of the Int'l Conf. on Model Driven Engineering Languages and Systems. Berlin, Heidelberg:Springer-Verlag, 2008. 782-796.[doi:10.1007/978-3-540-87875-9_54]
    [41] Rouvoy R, Barone P, Ding Y, Eliassen F, Hallsteinsen S, Lorenzo J, Mamelli A, Scholz U. Music:Middleware support for self-adaptation in ubiquitous and service-oriented environments. In:Proc. of the Software Engineering for Self-Adaptive Systems. Berlin, Heidelberg:Springer-Verlag, 2009. 164-182.[doi:10.1007/978-3-642-02161-9_9]
    [42] Garlan D, Cheng SW, Huang AC, Schmerl B, Steenkiste P. Rainbow:Architecture-Based self-adaptation with reusable infrastructure. Computer, 2004,37(10):46-54.[doi:10.1109/MC.2004.175]
    [43] Geihs K, Reichle R, Wagner M, Khan MU. Modeling of context-aware self-adaptive applications in ubiquitous and service-oriented environments. In:Proc. of the Software Engineering for Self-Adaptive Systems. Berlin, Heidelberg:Springer-Verlag, 2009. 146-163.[doi:10.1007/978-3-642-02161-9_8]
    [44] Salehie M, Pasquale L, Omoronyia I, Ali R, Nuseibeh B. Requirements-Driven adaptive security:Protecting variable assets at runtime. In:Proc. of the 20th IEEE Int'l Requirements Engineering Conf. (RE). IEEE, 2012. 111-120.[doi:10.1109/RE.2012. 6345794]
    [45] Amoui M, Salehie M, Mirarab S, Tahvildari L. Adaptive action selection in autonomic software using reinforcement learning. In:Proc. of the 4th Int'l Conf. on Autonomic and Autonomous Systems. 2008.[doi:10.1109/ICAS.2008.35]
    [46] Ho HN, Lee E. Model-Based reinforcement learning approach for planning in self-adaptive software system. In:Proc. of the 9th Int'l Conf. on Ubiquitous Information Management and Communication (IMCOM 2015). 2015.[doi:10.1145/2701126.2701191]
    [47] Fernandes P, Werner C, Murta LGP. Feature modeling for context-aware software product lines. In:Proc. of the 20th Int'l Conf. on Software Engineering & Knowledge Engineering (SEKE 2008). World Scientific, 2008. 758-763. http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.525.1191
    [48] Mylopoulos J, Chung L, Nixon B. Representing and using non-functional requirements:A process-oriented approach. IEEE Trans. on Software Engineering, 1992,18(6).[doi:10.1109/32.142871]
    [49] Chung L, Nixon B, Yu E, Mylopoulos J. Non-Functional Requirements in Software Engineering. Kluwer, 2000. http://www.springer.com/us/book/9780792386667
    [50] Mylopoulos J, Chung L, Nixon B. On non-functional requirements in software engineering. In:Proc. of the Conceptual Modeling:Foundations and Applications. Berlin, Heidelberg:Springer-Verlag, 2009. 363-379.[doi:10.1007/978-3-642-02463-4_19]
    [51] Darimont R, Delor E, Massonet P, Lamsweerde AV. GRAIL/KAOS:An environment for Goal-driven requirements engineering. In:Proc. of the 19th Int'l Conf. on Software Engineering. ACM Press, 1997. 612-613.[doi:10.1145/253228.253499]
    [52] Whittle J, Sawyer P, Bencomo N, Cheng BHC, Bruel JM. Relax:Incorporating uncertainty into the specification of self-adaptive systems. In:Proc. of the 17th IEEE Int'l Requirements Engineering Conf. 2009. (RE 2009). IEEE, 2009. 79-88.[doi:10.1109/RE. 2009.36]
    [53] Vardi MY. An automata-theoretic approach to linear temporal logic. In:Proc. of the Logics for Concurrency. Berlin, Heidelberg:Springer-Verlag, 1996. 238-266.[doi:10.1007/3-540-60915-6_6]
    [54] Van Lamsweerde A. Goal-Oriented requirements engineering:A guided tour. In:Proc. of the 5th IEEE Int'l Symp. on Requirements Engineering. IEEE, 2001. 249-262.[doi:10.1109/ISRE.2001.948567]
    [55] Batory D. Feature models, grammars, and propositional formulas. In:Proc. of the Int'l Conf. on Software Product Lines. Berlin, Heidelberg:Springer-Verlag, 2005. 7-20.[doi:10.1007/11554844_3]
    [56] Kang KC, Cohen SG, Hess JA, Novak WE, Peterson AS. Feature oriented design analysis (FODA) feasibility study. Technical Report, CMU/SEI-90-TR-21-ESD-90/TR-222, Carnegie Mellon University, 1990.
    [57] Roos-Frantz F, Benavides D, Ruiz-Cortés A, Heuer A, Lauenroth K. Quality-Aware analysis in product line engineering with the orthogonal variability model. Software Quality Journal, 2012,20(3-4):519-565.[doi:10.1007/s11219-011-9156-5]
    [58] Clements P, Bachmann F, Bass L, Garlan D, Ivers J, Little R, Merson P, Nord R, Stafford J. Documenting Software Architectures:Views and Beyond. Addison-Wesley, 2003. https://resources.sei.cmu.edu/library/asset-view.cfm?assetid=30386
    [59] Rumbaugh J, Jacobson I, Booch G. Unified Modeling Language Reference Manual. Pearson Higher Education, 2004. https://dl.acm.org/citation.cfm?id=993859
    [60] Kemeny JG, Snell JL. Finite Markov Chains. Princeton:van Nostrand, 1960.
    [61] Kwiatkowska M, Norman G, Parker D. Prism:Probabilistic model checking for performance and reliability analysis. ACM Performance Evaluation Review, 2009,36(4):40-45.[doi:10.1145/1530873.1530882]
    [62] Gu T, Pung HK, Zhang DQ. Toward an OSGi-based infrastructure for context-aware applications. IEEE Pervasive Computing, 2004,3(4):66-74.[doi:10.1109/MPRV.2004.19]
    [63] Lee EB, Markus L. Foundations of optimal control theory. Journal of the Royal Statistical Society, 1967, 589.[doi:10.2307/2343766]
    附中文参考文献:
    [3] 王千祥,申峻嵘,梅宏.自适应软件初探.计算机科学,2004,31(10):168-171.[doi:10.3969/j.issn.1002-137X.2004.10.045]
    [5] 冯耀东,黄罡,梅宏.一种自适应软件体系结构建模及其实施方法.北京大学学报(自然科学版),2008,44(1):67-76.[doi:10.3321/j. issn:0479-8023.2008.01.014]
    [6] 赵欣培,李明树,王青,陈振冲,梁金能.一种基于Agent的自适应软件过程模型.软件学报,2004,15(3):348-359. http://www.jos.org.cn/1000-9825/20040304.htm
    引证文献
    网友评论
    网友评论
    分享到微博
    发 布
引用本文

赵天琪,赵海燕,张伟,金芝.基于模型的自适应方法综述.软件学报,2018,29(1):23-41

复制
分享
文章指标
  • 点击次数:7125
  • 下载次数: 10869
  • HTML阅读次数: 4484
  • 引用次数: 0
历史
  • 收稿日期:2017-02-03
  • 最后修改日期:2017-03-23
  • 在线发布日期: 2017-07-20
文章二维码
您是第19893279位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号