31、基于契约的控制集成到软件系统

基于契约的控制集成到软件系统

1. 引言

自适应性软件系统(SASS)具备在不同运行时条件下持续运行的能力,能基于自身状态和环境状态自主进行调整。这种自适应能力的核心是反馈控制循环(FCL),它通过测量系统输出(如响应时间),依据给定的控制策略自动调整系统控制输入(如并发级别),以实现系统目标。

设计 SASS 有多种技术,其中控制理论为设计控制器提供了完善的数学基础,其设计的控制策略在特定操作条件假设下,稳定性和准确性等属性可得到正式保证。然而,将控制技术系统地应用于软件系统存在诸多困难:
- 非专家难以开发出可用于控制设计的软件行为数学模型。
- 控制器的设计、实现和集成到完整的自适应软件系统中既容易出错又困难,即使有 Matlab、Simulink 或 SysWeaver 等工具提供代码生成功能,在分布式系统中仍需大量手工编写非平凡代码。这导致 FCL 常与目标应用程序的源代码纠缠在一起,或由多个临时脚本组成,可能引发系统的不一致性和不稳定性,原因是设计控制器时的初始操作条件假设通常未明确指定,且缺乏系统验证以确保这些假设在运行时仍然成立。

之前提出的反馈控制定义语言(FCDL)解决了一些与 FCL 可见性相关的集成挑战,它通过底层的面向角色的组件模型,为将外部控制机制集成到现有软件系统提供了系统级抽象。在此基础上,对 FCDL 语言进行扩展,以支持基于契约的设计方法,具体提供了以下语言支持:
- 行为契约:通过状态不变量以及前置和后置条件来断言组件行为。
- 交互契约:表达允许的组件交互。
- 结构和时间不变量:定义架构约束以及设计和执行时的交互不变量。

此外,FCDL 还提供了对系统故障处理的一流支持

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值