自适应软件能根据系统内部或运行环境的变化,实时调节自身的行为,从而更好地为用户提供服务。但自适应同时也给软件在开发、管理、维护方面带来很大的困难。近十年来,软件工作者在软件工程的各个方面来研究软件自适应问题,甚至从其它领域,如人工智能、控制论、生物学等寻找自适应机制。尽管有了不少工作,但是这些工作相对比较独立,还没有能够从根本上弥补传统软件工程在理论和方法上的不足。模型构造与验证就是其中一个方面。本项目从控制论的角度对自适应软件的模型构造与分析开展研究,试图回答一些问题如如何在模型中表示不确定性,如何在控制结构中设计自适应,如何验证自适应软件运行中的状态等。主要工作有1)用切换系统给软件建模,表达不完整的自适应行为;2)借助于适应控制模型实现软件架构的自适应,获得受控的切换系统;3)分析受控的切换系统,得到软件方面和可控方面的性质;4)建立基于模型维和QoS参数的模型优化体系。
Self-adaptive software;Adaptive model;Switched System;Model verfication;Model accessment
项目的背景: 自适应软件是指由于系统内部需求或实施环境的变化,能在自身运行时,实时收集系统的各种变化信息,并根据预先设定好的策略,修改其行为,从而更好地为用户提供服务。目前已有不少把控制理论用于建立软件自适应模型的研究工作。传统软件模型强调系统的静态的方面,在某种程度上忽视了动态的方面。而自适应模型强调系统和环境的动态交互,因此对软件自适应模型的研究可以完善传统软件的建模理论。另外,由于自适应软件是为新型应用模式服务的,所以软件自适应模型的研究同时也具有重要的应用价值。 主要研究内容研究了自适应软件形式化建模语言,对自适应软件中软件实体和环境进行抽象建模; 结合自适应软件的可控性等需求和特征,建立了自适应软件模型理论; 研究了混合系统、信息物理系统、实时系统、切换模糊系统、随机切换系统的建模与验证; 研究了系统在运行时基于QOS对系统配置来提高软件非功能指标的方法。 重要结果(1)获得了对混合系统、信息物理系统、实时系统、切换模糊系统、随机切换系统的建模与验证的方法;(2)建立一种称为Learning Petri网的语言对自适应软件建模; (3) 得到一种通过自适应在线提高软件可靠性与性能的机制;(4)一个对文本用例合成行为模型的技巧。 关键数据共发表9篇SCI期刊文章(其中6篇IEEE Transactions),1篇软件学报,14篇会议文章(其中一篇软件工程顶级会议ICSE’14),1个软著,1个发明专利(受理中)。 科学意义基于微分方程和控制理论中的建模理论和方法具有较好的领域通用性。所得模型既能表示不完整的软件行为,又具有适应环境变化的功能。对模型的分析可在离散状态、连续状态和由于控制导致的适应状态下进行。