第5章 动态软件体系结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第5章动态软件体系结构
原来研究静态,运行时结构不变。
动态软件体系结构,研究由于特殊需要必须连续运行时的变化。
5.1 概述
基于软件体系结构成为开发主流,灵活—>动态、可扩展、自定义、可演化
动态性三类:P151下。
研究分两方面:研究动态更新语言,研究支持工具。
1.动态ADL,C2支持动态
2.工具,ArchStudio,SAA。图5-1
研究不成熟。
5.2 动态模型
5.2.1 基于构件的模型
1.模型简介
CBDSAM,分三层。应用层,中间层,体系结构层,图5-2。
应用层可添加删除、更新构件。
中间层添加版本控制机制,运载方法。
体系结构层更改扩展更新机制,改拓扑,改映射。
2.更新请求描述
表5-1,add,remove,updata。包括几个方面,P155(①-⑥)
3.更新执行步骤,4个,P155
4.实例分析,局部更新,不影响系统运行,图5-3,A构件动态隔离和恢复。全局更新,图5-4,服务器更新。
5.2.2 πADL动态体系结构
1.定义,表5-2,BNF范式
2.建模方法,πADL借鉴Wright框架,用π演算动态建模能力。
基本思路:P159上,(1)(2)(3)
建模具体方法,P159中,(1)(2)(3)(4) (8)
表5-3,解释P160-161 (1)-(6)
3.建模语义,π进程作形式语义
基本思想,各进程并发运行,关键要点,表达动态创建和删除,动态连接。
动态体系结构行为推导算法,P161,步骤一二三步。
5.3 动态体系结构的描述
5.3.1 描述语言
1.Dynamic Wright,扩展了Wright,试图模拟或标记,以解决动态性。
图5-5,与两个Server交互,静态。
图5-6,动态描述,虚线,配置C,非常适合描述动态。
2.Darwin,描述系统配置规则。
ADL不同之处,有指定服务规则,图5-7,P163。
5.3.2 形式化描述
包括体系结构描述,重配置,行为描述。用图形化,代数进程,逻辑等。
1.图形化,图5-8
2.进程代数方法,图5-9
3.逻辑化描述,图5-10
5.4 动态体系结构特征
1.可构造性,三种一起用,图5-11
2.适应性,立即反应能力,图5-12
3.智能性,动态构造候选配置,图5-13
5.5 化学抽象机
1.CHAM,动态有用的形式化描述
计算看成分子反应,规则模式
方法——>膜操作——>分子
2.描述软件体系结构
把构件作为分子,表示其状态。
分子结构语法,P167。
C/S风格,P167中。
演化,P167下。
管道过滤器风格,P168中,图5-14。
采用熟悉概念,很适合动态。