面向代理的软件工程:现状、挑战与未来发展
1. 质量保证
在复杂系统中,质量保证是一个至关重要的问题,而代理范式在这类系统中往往能带来最大的益处。一系列有助于实现质量保证的技术,从自动化测试到形式验证,以及如安全案例等方法,都可能具有重要价值。然而,在代理系统的背景下,一些确保正确剂量等相关理念尚未得到充分探索。
2. 软件维护
2.1 软件维护的重要性
软件在设计、实现、验证和部署后,需要进行持续的维护,包括纠正错误(“纠错维护”)、适应应用环境的变化(“适应性维护”)或满足用户需求的变化(“完善性维护”)。软件维护活动可能占软件总成本的大部分(高达三分之二),因此是一个重要的问题。对于非基于代理的软件,软件维护(也称为“软件演化”)是一个活跃的研究领域。
2.2 面向代理方法的优势
面向代理的设计和实现方法由于其模块化的性质,在维护方面具有内在优势,特别是在适应性或完善性维护方面。例如,Bartish和Thevathayan比较了将一个游戏实现为有限状态机和代理系统时进行扩展和修改所需的工作量和代码量,发现代理系统更加高效;Jayatilleke等人将一个基于温度和风力预测的飞机天气警报系统扩展到包括火山灰警报,该扩展构建和集成效率极高,且对现有代码的修改很少。
2.3 代理系统软件维护的研究现状
然而,针对基于代理的软件的维护工作做得很少。目前已知的关于代理系统软件维护的工作仅有Dam等人的研究。他们处理设计模型中的变更传播问题,即对软件系统进行更改时,初始更改往往会产生后果,需要进行额外的二次更改。他们的方法是关注设计模型而非代码,定义一致性约束(用OCL表
超级会员免费看
订阅专栏 解锁全文
1351

被折叠的 条评论
为什么被折叠?



