当前位置:
文档之家› 软件体系结构_软件体系结构形式化描述
软件体系结构_软件体系结构形式化描述
Architecture
System
软件体系结构
Model 1 View 1
Model 2 View 2
Model 3 View 3
软件体系结构描述
9
THU SAGroup
体系结构描述方式 使用不同的策略和方法可对同一软件体系结构 作不同的理解和描述
如:描述一块石头的重量
• • • • • • • 比较轻 比另一块重一些 大约2公斤 四斤六两 2.32Kg 5.114751207磅 „„
7
THU SAGroup
软件体系结构的描述 软件体系结构和软件体系结构描述不同的两个 概念
软件体系结构是附属于系统之中。只要存在系统,体 系结构就存在
• 如:每个石头都会有重量
软件体系结构描述是将体系结构可视化的手段和产物
• 如:表示一个石头的重量
8
THU SAGroup
如何理解体系结构描述
35
THU SAGroup
形式化方法的进化——ADL
纯形式化方法的不足 形式化方法不能直接支持软件的各种概念,因此难以 在实践中应用 体系结构描述语言ADL (Architecture Description Language) 应用通用的形式化方法对体系结构和风格进行建模和 分析,在体系结构的抽象级上提供一个精确的语义。 提供了强有力的分析能力、抽象和与实现的细节无关 性。 为体系结构元素定义了一系列符号,可以应用于实际 的复杂系统的描述。
• 如WRIGHT、Aesop
根据与实现细节的关系的描述语言 实现无关语言(Implementation Independent Languages) 实现相关语言(Implementation Constraining Languages)
39
THU SAGroup
几种ADL简介
Darwin 系统
基于OO的软件体系结构描述方法
OO描述方法的优点:
1. 采用面向对象方法,更能反映软件体系结构的本质特 征。 2. 提供了多个视图直观形象地反映体系结构元素所具有 的功能、特征。 3. 通过类图、包图等反映体系结构的静态特征,并通过 协作图、序列图、部署图等反映体系结构的动态特征。
23
THU SAGroup
OOADL 形式化ADL
Wright 系统
DSADL
XYZ/ADL
40
THU SAGroup
几种ADL简介(续) Darwin
采用π演算来分析、描述带有演化通信结构的并发系 统。在π演算中,一个系统被表述成一组具有独立功 能的进程集,集合中的每个进程可以与其它进程建立 连接,每个连接都有一个连接名。Darwin采用π演算 对系统行为进行建模,利用其强类型系统进行静态检 查。
31
THU SAGroup
软件体系结构的形式化描述 软件体系机构形式化描述风格
风格的多样性问题 风格的通用性问题 风格的专用性问题
32
THU SAGroup
何谓形式化方法 形式化方法:
借助抽象的方法将软件系统转化为数学模型 如何抽象取决于关注点
33
THU SAGroup
16
THU SAGroup
UML特性 特点
语义极其丰富 语义相对精确 有少量的形式化基础
用途
需求分析 OO类设计 行为设计和分析 代码自动生成
17
THU SAGroup
UML图实例 类图(Class Diagram)
18
THU SAGroup
UML图实例 用例图(Use Case Diagram)
11
THU SAGroup
非标准图形符号描述
非标准图形符号描述 用由矩形框和有向线段组合而成的图形表达工具。其 中,矩形框代表抽象构件,有向线段代表辅助各构件 进行通讯、控制或关联的连接件。 特点 语义丰富 语义极不精确 没有形式化基础 用途 商业展示 设计草图
36
THU SAGroup
ADL应当有什么功能
定义和描述结构概念(Capture) 描述一个系统是如何被构件建立起来的(Construction) 描述如何通过现有的构件生成新的系统(Composition) 指导从多个不同的设计和实现中挑选最优方案(Selection) 检验一个设计是否能够满足需求(Verification) 检测一个需求对系统的隐含影响(Analysis) 根据需求自动化构建系统(Automation)
41
THU SAGroup
几种ADL简介(续) XYZ/ADL
针对国内唐稚松院士提出基于时序逻辑的XYZ语言进 行扩充,用来描述验证具有实时性、可靠性要求的软 件体系结构。
42
THU SAGroup
几种ADL简介(续)
DSADL 采用属性文法(AG)来形式化描述软件体系结构。传 统的属性文法是在一上下文无关文法(Context Free Grammar,CFG)-G=(VN,VT,P,Z)上附加上下文有关 的属性和规则。其中, VN是非终结符号集;VT是 终结符号集;P是产生式集;Z是开始符号。假设G是 规范CFG。P中的产生式为 p: Xp,,0→Xp,1…Xp,np,np≥1,表示的右部所含符号 的长度;Xp,0∈VN,Xp,i∈V;V= VN∪VT; 1≤i≤np。 DSADL针对分布式软件的特征引入了并行描述机制 、 特殊的终结符号、条件产生式 。
a m F
dm v F dt s v0t at2 / 2
5
THU SAGroup
形式化的抽象
实际事物
形式化方法
形式化描述
• 计 算 和 预 测
• 分 析 与 评 估
• 精 确 描 述
6
THU SAGroup
内容概要 形式化描述简介 软件体系结构的描述 软件体系结构形式化描述 实例:WRIGHT WRIGHT应用范例
19
THU SAGroup
UML图实例 序列图(Sequence Diagram)
20
THU SAGroup
UML图实例 协作图(Collaboration Diagram)
21
THU SAGroup
UML图实例 构件图(Component Diagram)
22
THU SAGroup
26
THU SAGroup
模块接口语言MIL MIL的优点:
具有严格的语义基础,能够支持对较大的软件单元进 行诸如:定义/使用(Definition/Use)、接口定义 (Interface Definition)和导入/导出 (Import/Export)等操作。 一般来讲,MIL与实际的实现语言无关,只关注构件 的对外表现协议以及构件之间的通讯关系
14
THU SAGroup
项目管理
静态分析器
时间分析器
测试配置
测试结果库
缓冲
最优/最劣时间 计算
布图算法
复杂度计算
带时间特性的 流程图
函数调用关系 图
程序复杂度
测试结果打印
15
THU SAGroup
UML 基于UML技术的软件体系结构描述方法
1996年,Rational、Catapulse公司发起workshop, 倡议用UML进行体系结构描述和建模、特定领域体 系结构建模;对UML中的stereotypes、profiles等 进行扩充,支持体系结构的表示 2004年,UML2.0发布,增强了通用软件体系结构的 描述能力。 本质上UML是侧重于面向对象(OO, Object Oriented)软件系统设计的语言
•精确程度不同 •单位不同 •测量基准不同
10
THU SAGroup
体系结构描述方式
体系结构描述方式标准 语义丰富性 语义精确性 形式化程度 主要描述方式 非标准的图形符号 UML 模块接口语言MIL Preciseness ADL
Richness
O
Formalization
29
THU SAGroup
我们在哪里
抽象描述 体系结构描述 非形式化描述
非标准图形符号描述: 用于粗略描述和展示
UML: 用于系统设计和理解
MIL: 用于实现体系结构的设计
形式化描述
30
THU SAGroup
软件体系结构的形式化描述 为什么需要形式化描述
需要严格、精确无歧异的描述,以便在系统众多的涉 众中进行交流 需要演算的能力,使得在判断系统质量的时候可以由 计算得出,而不是仅仅凭借经验推测 需要进行体系结构分析自动化
27
THU SAGroup
模块接口语言MIL MIL的缺点
这些语言处理和描述的软件设计开发层次过于依赖程 序设计语言,限制了它们处理和描述比程序设计语言 元素更为抽象的高层次软件构架元素的能力。
28
THU SAGroup
内容概要 形式化描述简介 软件体系结构的描述 软件体系结构形式化描述 实例:WRIGHT WRIGHT应用范例
前两者不能被认为是真正意义上的ADL
38
THU SAGroup
ADL分类(续)
根据研究范围分类 研究体系结构配置结构的描述语言
• 如Darwin、CHAM(Chemical Abstract Machine)
研究体系结构实例的描述语言
• 如Rapide、UniCon
研究体系结构风格的描述语言
37
THU SAGroup
ADL分类 根据结构分类
隐式配置语言(Implicit Configuration Languages) 嵌入式配置语言(Inline Configuration Languages) 显式配置语言(Explicit Configuration Languages)