收藏本站
收藏 | 手机打开
二维码
手机客户端打开本文

一个自适应软件应用框架的设计与实现

葛海龙  
【摘要】:自适应软件在周围环境发生改变的时候,能够利用其自适应逻辑来调整自身的行为,确保既定的任务可以完成。这类软件的开发存在一定的难度,主要表现在以下几个方面: ●自适应逻辑的修改不够灵活。自适应逻辑的微小变化可能引起功能代码的大量改动;且在修改的过程中极易引入新的错误。 ●难以应对自适应过程中的意外情况。在软件运行时经常会出现一些在设计自适应逻辑时没有考虑到的情况,如环境突然发生变化或对环境的感知出现较大的误差等。此时自适应软件系统会出现异常的行为。这种现象在运行于物理环境中的嵌入式设备上十分常见。从自适应软件构造技术的角度看,我们认为其主要原因在于: ●自适应逻辑和应用逻辑、环境感知、系统执行逻辑等紧密耦合。在设计自适应软件的时候,软件体系结构设计不良,对软件模块的功能划分不当,导致上述几部分的代码过分相互依赖,所以修改一处就会影响到其他部分,这就使得自适应逻辑的修改很不方便,容易引入新的问题。 ●缺少应对环境意外情况的自适应逻辑自动修复机制。每个自适应软件都有其自己的应用场景,其自适应逻辑也是根据这个场景而编写的;对于复杂的场景,开发人员在设计自适应逻辑时难免会考虑的不全面,一旦出现自适应逻辑无法处理的情况,软件就可能会运行异常甚至失败。除非运行环境与预想的一样,否则意外情况的发生总是无法避免的。为了解决上述困难,方便开发出适应性强、鲁棒性高的自适应软件,本文提出了一个层次式的自适应软件应用框架,主要工作如下: ●基于关注点分离的原则,设计并实现了一个基于组件的层次式自适应软件框架。该框架将软件自适应逻辑划分为执行层、支持层和决策层三个不同的层次。只有相邻层次的组件才可以互相通信,且只有上层组件可以向其下层组件发送命令。应用逻辑只能直接调用框架中最上层的组件。该框架使用基于自动机的规则模型抽象表述自适应逻辑,从而将其从功能代码中分离出来,最大限度的降低其与高层的应用逻辑、底层的环境感知和系统执行机制之间的耦合度,方便独立修改。 ●给出了一种基于异常处理理念的自适应意外应对途径。在框架中提供异常情况的检测和处理机制。通过自适应规则的环境条件检测,在意外情况发生时触发异常;并提交异常处理器处理。后者利用自适应逻辑模型、当前的环境信息以及软件在正常运行时所保留下来的一些有用的信息,制定一个行为方案来指导软件处理已经发生的意外情况,之后会交回对软件的控制权。 ●分别在三轮小车和履带小车上实现了上述层次化自适应软件框架。通过一个简单的物理环境探索应用测试了框架的使用情况,并通过一组实验初步地评估了上述框架的应用效果及其异常恢复能力。


知网文化
中国知网广告投放
 快捷付款方式  订购知网充值卡  订购热线  帮助中心
  • 400-819-9993
  • 010-62982499
  • 010-62783978