高动态软件的运行时演化解析
1. 运行时模型的重要性
运行时模型在软件系统运行时演化中扮演着关键角色。它为系统提供关于自身及其环境的最新信息,并且自身会随着系统一起演化,属于软件演化“是什么”维度中定义的设计规范。从研究社区的定义来看,运行时模型是关联系统的因果连接自表示,强调从问题空间视角的系统结构、行为或目标。在自适应性和运行时演化的背景下,影响系统目标实现的环境也需要运行时模型来进行规范。
运行时模型为软件系统的运行时演化提供了有效手段。以电子商务场景为例,管理员可以修改指定要实现的软件架构的运行时模型,以提高系统处理采购订单的能力。软件架构模型的修改会触发软件系统的自适应。这种基于模型的演化机制可以使用ACRA来实现。
运行时模型还支持基于自适应控制的运行时演化机制,特别是模型参考自适应控制(MRAC)和模型识别自适应控制(MIAC)。在MRAC中,自适应算法使用的参考模型对应于一个可以动态调整以改变控制器参数的运行时模型,通过前馈控制(如人工管理员)进行调整;在MIAC中,参考模型同样是运行时模型,但通过系统识别方法进行调整,即基于系统边界内产生的刺激自动适应。
在运行时软件演化的背景下,运行时模型对于表示演化条件、必须保证的需求和属性、监控需求和策略,以及通过模型操作来演化系统或演化机制等方面都非常重要。
2. 运行时监控
运行时软件演化的“为什么”维度描述了系统演化的原因。运行时监控涉及对执行环境(包括系统本身)的上下文信息进行感知和分析,以确定是否需要进行演化。
上下文可以定义为任何有助于描述单个实体状态及其之间关系的信息。实体是任何可以影响系统行为和/或其与用户交互的主体。上下文
超级会员免费看
订阅专栏 解锁全文
5479

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



