正在加载图片...
许畅等:可成长软件理论方法和实现技术:从范型到跨越 环境和需求的感知与理解 软件自适应与持续演进 “先验”的环境和需求 可适应软件系统 抽象 予盈老 适应逻辑 业务逻辑 静态构成 物理 软件定义体 系结构模型 境处理中间件 系统的适 感知 情境感知应用上下驱动 )应和演化 基础设施 文处理 行为 运行机制 图4(网络版彩图)面向自适应和持续演化的可成长软件体系结构 Figure 4 (Color online)Architecture of growing software with self-adaptation and continuous-evolution support 现了软件定义的系统结构模型,其中上层(红色)是元级部分,下层(紫色)是新的目标级部分 有了前述的可成长软件设计蓝图和构建思路,我们回答“可成长软件怎么做”这一问题,还需解决 众多的技术挑战.比如说,在运行时刻,如何做到环境上下文的高效处理,在演化时刻,如何做到软件 版本的无缝更替,以及在整个过程中,如何评估和保障环境上下文处理和软件适应演化的质量等.针 对这些挑战,我们在第4节中探讨支撑软件可成长性的关键技术,并分析和总结当前的研究进展, 4 支撑软件可成长性的关键技术 本节讨论支撑软件可成长性的关键技术,包括赋能关键技术和外围关键支撑,其涉及软件开放环 境感知与自适应、无缝演化和过程演进,以及演化质量评估方法和保障机制等重要方面 4.1软件可成长性关键技术及其支撑角色 支撑软件可成长性的关键技术主要覆盖可成长网构软件的几个重要方面.包括开放环境感知与自 适应方法和技术、软件无缝演化和过程演进支撑技术,以及软件演化质量评估方法和保障机制.其中, 开放环境感知与自适应方法和技术负责准确、高效地理解环境和资源的变化,软件无缝演化和过程演 进支撑技术负责软件在线更新并挖掘用户需求的变化,软件演化质量评估方法和保障机制负责评估和 保障环境质量和软件一致性演化. 开放环境感知与自适应方法和技术.这是支撑可成长软件内化自主适应能力的核心技术,需要做 到:高效的环境上下文一致性处理.以提升检测和修复环境上下文一致性错误的处理性能:资源使用 的在线监控和优化,以从资源配置和调度角度为软件运行提供有效资源支撑和性能优化:以及多维多 粒度的资源调度优化,以为异构资源进行抽象并建立优先级资源调度.这方面的几项技术协作实现准 确、高效理解环境和资源变化的目标 软件无缝演化和过程演进支撑技术.这是支撑可成长软件内化过程演进能力的核心技术,需要做 到:高一致、低干扰的软件在线更新和版本热部署,以提供一致性保障并最小化对服务干扰:软件运行 环境的可配置定义,以实现软件在线演化中的资源保障:以及面向开发生态的运维推荐和用户需求分 析,以支撑智能化开发成员推荐和用户隐式需求分析.这方面的几项技术协作实现软件在线更新并挖 掘用户需求变化的目标. 软件演化质量评估方法和保障机制.这是支撑可成长软件持续演化服务质量评估和保障的核心技 术,需要做到:环境上下文一致性处理效率和效果的科学评估和保障,如以处理性能、漏报数量、误报 数量和修复效果评估质量,以增量式检测、并行式检测和跨越式调度保障质量等;软件在线更新安全 1602 https://engine.scichina.com/doi/10.1360/SSI-2020-0079许畅等: 可成长软件理论方法和实现技术: 从范型到跨越 图 4 (网络版彩图) 面向自适应和持续演化的可成长软件体系结构 Figure 4 (Color online) Architecture of growing software with self-adaptation and continuous-evolution support 现了软件定义的系统结构模型, 其中上层 (红色) 是元级部分, 下层 (紫色) 是新的目标级部分. 有了前述的可成长软件设计蓝图和构建思路, 我们回答 “可成长软件怎么做” 这一问题, 还需解决 众多的技术挑战. 比如说, 在运行时刻, 如何做到环境上下文的高效处理, 在演化时刻, 如何做到软件 版本的无缝更替, 以及在整个过程中, 如何评估和保障环境上下文处理和软件适应演化的质量等. 针 对这些挑战, 我们在第 4 节中探讨支撑软件可成长性的关键技术, 并分析和总结当前的研究进展. 4 支撑软件可成长性的关键技术 本节讨论支撑软件可成长性的关键技术, 包括赋能关键技术和外围关键支撑, 其涉及软件开放环 境感知与自适应、无缝演化和过程演进, 以及演化质量评估方法和保障机制等重要方面. 4.1 软件可成长性关键技术及其支撑角色 支撑软件可成长性的关键技术主要覆盖可成长网构软件的几个重要方面, 包括开放环境感知与自 适应方法和技术、软件无缝演化和过程演进支撑技术, 以及软件演化质量评估方法和保障机制. 其中, 开放环境感知与自适应方法和技术负责准确、高效地理解环境和资源的变化, 软件无缝演化和过程演 进支撑技术负责软件在线更新并挖掘用户需求的变化, 软件演化质量评估方法和保障机制负责评估和 保障环境质量和软件一致性演化. 开放环境感知与自适应方法和技术. 这是支撑可成长软件内化自主适应能力的核心技术, 需要做 到: 高效的环境上下文一致性处理, 以提升检测和修复环境上下文一致性错误的处理性能; 资源使用 的在线监控和优化, 以从资源配置和调度角度为软件运行提供有效资源支撑和性能优化; 以及多维多 粒度的资源调度优化, 以为异构资源进行抽象并建立优先级资源调度. 这方面的几项技术协作实现准 确、高效理解环境和资源变化的目标. 软件无缝演化和过程演进支撑技术. 这是支撑可成长软件内化过程演进能力的核心技术, 需要做 到: 高一致、低干扰的软件在线更新和版本热部署, 以提供一致性保障并最小化对服务干扰; 软件运行 环境的可配置定义, 以实现软件在线演化中的资源保障; 以及面向开发生态的运维推荐和用户需求分 析, 以支撑智能化开发成员推荐和用户隐式需求分析. 这方面的几项技术协作实现软件在线更新并挖 掘用户需求变化的目标. 软件演化质量评估方法和保障机制. 这是支撑可成长软件持续演化服务质量评估和保障的核心技 术, 需要做到: 环境上下文一致性处理效率和效果的科学评估和保障, 如以处理性能、漏报数量、误报 数量和修复效果评估质量, 以增量式检测、并行式检测和跨越式调度保障质量等; 软件在线更新安全 1602 https://engine.scichina.com/doi/10.1360/SSI-2020-0079
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有