第5章 动态软件体系结构

合集下载

动态软件体系结构描述方法

动态软件体系结构描述方法

学号 1206年级 2012级动态软件体系结构描述D-ADL方法理解与研究专业班级计算机(2)班姓名联系方式 15任课教师周2015年5月中国南京摘要D-ADL是一种刻画软件的动态行为的描述方法,该方法是由我国学者李长云提出的。

在D—ADL中,组件、连接件和体系结构风格定义为抽象类型,系统行为被模型化为进程,构件和连接件的交互点则被模型化为通道,它将动态行为从计算行为中分离出来,其结果能够被预先推导。

关键词:动态软件体系结构;D-ADL根据软件体系结构在运行时的演化方式,可以分为静态软件体系结构和动态软件体系结构。

软件体系结构的动态演化包括组件或连接件的创建或删除、组件的更新、调整负载平衡等几种情况。

D-ADL便是一种为动态体系结构建模提供支持的方法。

D-ADL遵循Wright等给出的SA描述框架,并且D-ADL将高阶多型π演算作为行为语义基础,凭借高阶π演算描述动态系统的特征,D-ADL允许构件、连接件和配置产生变更,并使得对SA的自动化分析成为可能。

D-ADL将类型与实例区分开来,构件类型是实现构件重用的手段。

构件具有三个基本组成部分:接口部分、行为部分和属性部分。

构件分有原子构件和复合构件两种。

原子构件是指不具备内部结构的构件。

为了进一步促进原子构件的重用,构件可以参数化,通过输入不同的参数,来提高构件的灵活性。

复合构件是由多个构件实例和连接件实例组装而成的,它在规约层次上表达了成员之间的组合。

与原子构件类似,复合构件也可进行参数化,从而提高构件的可重用性。

连接件是一种特殊的构件,同样地,连接件也分为原子连接件和复合连接件两类。

原子连接件语法规约类似于原子构件,仅仅是计算行为描述换成了路由行为。

通过结构化组合,多个连接件和构件也能形成复合连接件。

在D-ADL中,动态行为规约是通过choreographer来处理的.动态行为本质上是对体系结构的动态重配置,涉及到如下的体系结构变动:(1)动态创建新的构件实例和连接件实例以及新的端口和通道;(2)动态删除构件实例和连接件实例以及端口和通道;(3)体系结构元素之间连接的改变。

第5章 动态软件体系结构

第5章 动态软件体系结构

◇ 基于构件的动态系统结构模型
◎ 更新执行步骤
◇ 检测更新的范围 ◇ 更新准备工作 ◇ 执行更新 ◇ 存储更新
第5章 动态软件动态系统结构模型
◎ 实例分析
◇ 局部更新
第5章 动态软件体系结构
5.2 软件体系结构动态模型
◇ 基于构件的动态系统结构模型
第5章 动态软件体系结构
第5章 动态软件体系结构 ◇ 软件体系结构动态性
◎ 交互式动态性 ◎ 结构化动态性
5.1 动态软件体系结构概述
◎ 体系结构动态性
第5章 动态软件体系结构 ◇ 动态体系结构的研究
5.1 动态软件体系结构概述
◎ 模拟和描述体系结构动态更新 ◎ 体系结构动态更新的执行
第5章 动态软件体系结构
◎ 实例分析
◇ 全局更新
第5章 动态软件体系结构 πADL动态体系结构 ◇ πADL动态体系结构
5.2 软件体系结构动态模型
选读
第5章 动态软件体系结构 ◇ 动态体系结构描述语言
◎ Dynamic Wright
5.2 动态体系结构的描述
静态描述
动态描述
第5章 动态软件体系结构 ◇ 动态体系结构描述语言
◎ Darwin
5.3 动态体系结构的描述
第5章 动态软件体系结构
5.3 动态体系结构的描述
◇ 动态软件体系结构的形式化描述
◎ 图形化方法
第5章 动态软件体系结构
5.3 动态体系结构的描述
◇ 动态软件体系结构的形式化描述
◎ 进程代数方法
第5章 动态软件体系结构
5.3 动态体系结构的描述
◇ 动态软件体系结构的形式化描述
◎ 逻辑化描述方法
第5章 动态软件体系结构 ◇ 可构造性动态特征

软件体系结构课件第5章统一建模语言

软件体系结构课件第5章统一建模语言

2:GetPrefSet()
10:PrefSet(date_mg)
1:GetPrefSet()
:MeetingInitiator
第5章 统一建模语言 直接使用UML建模 – 会议安排系统的类图
Person
StronglyConflicts With
Conflicts With
Important Attendee
0..* 0..*
0..* Profers
Attendee
1..* 1..* 0..* 0..*
11 1 1
1
Meeting Initiator
Find.exe
Query .dll
部署图 定义系 统中软 硬件的 物理体
系结构
第5章 统一建模语言 部署图
客户端:个人PC QueryClient.exe
服务器
《TCP/IP》 查询
QueryServer.exe 部署图
定义系
统中软
Find.exe
硬件的
物理体
Query.dll系结构
第5章 统一建模语言
第5章 统一建模语言
直接使用UML建模 – UML中的通用表示
➢ 字符串:表示有关模型的信息; ➢ 名字:表示模型元素; ➢ 标号:不同于编程语言中的标号,是用于表示或说明图形符号的字
符串; ➢ 特殊字符串:表示某一模型元素的特性; ➢ 类型表达式:声明属性、变量及参数,含义同编程语言中的类型表
0
10
20
30s 时间刻度
第5章 统一建模语言 状态图
提交订单 已审核 印前处理
客户付钱
已付款
已处理
进行冲印
冲印中 冲印完成
描述满足 用例要求 所要进行 的活动以 及活动间 的完约成束关 系,有利 于识别并 行活动

5章 动态软件体系结构(张有生)

5章 动态软件体系结构(张有生)

17
第5章 动态软件体系结构 ◇ 基于构件的动态系统结构模型
◎ 实例分析
5.2 软件体系结构动态模型
局部更新:只作用于需要更新的构件内部,不 影响系统的其他部分
1.请求 更新 5.成功 更 新 返回 发起者 构件A 构件配置 接口
3. 执行 更新
2.准备 4.重新 连接
连接件B
构件C 构件配置
连接配置 接口 构件连接 执行
结构化动态性
eg.允许在复合构件的固定连接中改变数据 eg.允许对系统添加或删除构建或连接件 eg.允许构件的整个配置改变

体系结构动态性
第5章 动态软件体系结构 ◇ 动态体系结构的研究
5.1 动态软件体系结构概述
◎ 模拟和描述体系结构动态更新的语言 ◎ 支持体系结构动态更新的执行工具
Change scripts Changes applies to Model Architecture Model Design environment Changes implicitly affect implementation Implementation
第5章 动态软件体系结构 ◇ 动态更新的执行
5.1 动态软件体系结构概述
◎ 目前,支持动态体系结构机制的主要有ArchStudio
工具集和软件体系结构助理(SAA)。
· ArchStudio工具集由加州大学提出,支持交互式图形化描 述和C2风格描述的体系结构的动态修改。 〃 SAA是由伦敦皇家学院提出的,可以用来描述、分析和建 立动态体系结构。
第5章 动态软件体系结构 ◇ πADL动态体系结构
◎ ∏ADL体系结构描述框架定义
围绕体系结构抽象级别的实体,如构件、连 接件、系统配置、体系结构风格等进行体系 结构建模。 书中利用扩充的BNF范式给出∏ADL描述体 系结构的框架。

Chap05.3_动态软件体系结构_动态体系结构的描述汇总

Chap05.3_动态软件体系结构_动态体系结构的描述汇总
wangzhiming@
6
2018/9/14
§5.3.2 动态体系结构的形式化描述 (续)
Architectural Structure Architectural Style Le Metayer approach Hirsch et al approach Taentzer et al approach Context-free graph grammar Context-free graph grammar System Architecture Graph(formally defined as a multiset) hypergraph Architectural Element Behavior components nodes of a graph and a csp like behavior specification edges of a graph with CCS labels local graph of each network graph node and local transformations between local graphs molecule connectors edges of a graph nodes of a graph[pointpoint communication and broadcast communication] edges of a graph links between two component molecules Architectural Reconfiguration graph rewriting rules with side conditions to refer to the status of public variables graph rewriting rules

软件体系结构-完整PPT课件张友生.doc

软件体系结构-完整PPT课件张友生.doc

软件体系结构课程性质:必修学时/学分:40/2.5关于教材◇出版社:清华大学出版社◇作者:张友生课程内容◇软件体系结构概论◇软件体系结构建模◇软件体系结构风格◇软件体系结构描述◇动态软件体系结构◇Web服务体系结构◇基于体系结构的软件开发◇软件体系结构的分析与测试◇软件体系结构评估◇软件产品线体系结构◇软件危机的表现◎软件成本日益增长◎开发进度难以控制◎软件质量差◎软件维护困难第1章软件体系结构概论1.1 从软件危机谈起◇软件危机的表现◎软件成本日益增长20世纪50年代,软件成本在整个计算机系统成本中所占的比例为10%-20%。

到20世纪60年代中期,软件成本在计算机系统中所占的比例已经增长到50%左右。

而且,该数字还在不断地递增,下面是一组来自美国空军计算机系统的数据:1955年,软件费用约占总费用的18%,1970年达到60%,1975年达到72%,1980年达到80%,1985年达到85%左右。

第1章软件体系结构概论1.1 从软件危机谈起◇软件危机的表现◎开发进度难以控制由于软件是逻辑、智力产品,软件的开发需建立庞大的逻辑体系,这是与其他产品的生产不一样的。

在软件开发过程中,用户需求变化等各种意想不到的情况层出不穷,令软件开发过程很难保证按预定的计划实现,给项目计划和论证工作带来了很大的困难。

盲目增加软件开发人员并不能成比例地提高软件开发能力。

相反,随着人员数量的增加,人员的组织、协调、通信、培训和管理等方面的问题将更为严重。

第1章软件体系结构概论1.1 从软件危机谈起◇软件危机的表现◎软件质量差软件项目即使能按预定日期完成,结果却不尽人意。

1965年至1970年,美国范登堡基地发射火箭多次失败,绝大部分故障是由应用程序错误造成的。

在“软件作坊”里,由于缺乏工程化思想的指导,程序员几乎总是习惯性地以自己的想法去代替用户对软件的需求,软件设计带有随意性,很多功能只是程序员的“一厢情愿”而已,这是造成软件不能令人满意的重要因素。

软件工程软件体系结构

软件工程软件体系结构

通用语言运行规范(CLS)
Web服务 数据和XML 用户接口
基本类库
通用语言运行时刻环境(CLR)
某制造企业的架构
用户界面 子 系 统
销 售 公 司
生 产 计 划 部 生 产 设 备 处
采 购
财 务 处
人 事 处
劳 资 处
专 卖 处
科 技 处
仓 库
办 公 室
市 场 部

DDL 专用 构件库
查 询 统 计 采 购 管 理 计 帐 分 析 对 比 报 表 财 务 管 理 计 划 销 售 管 理 … 计 划 管 理 汇 总 执 行 录 入 … 文 档 审 计 … 文 档 批 阅 归 档 特 权 管 理 恢 复 文 档 转 发 转 储 …
• 什么是软件体系结构 • 软件体系结构的发展
• 软件体系结构的研究范畴
软件设计的目标
•设计应该是便于维护和升级的,因而应
该是模块化的
•设计应该是便于移植的 •设计应该具有适应性 •设计过程应该受到理性化的控制 •设计应该表现出概念的完整性
软件设计思想
•强调信息隐蔽的单元概念 •应用基于操作和数据封装构成的单元设计
计算机硬件体系结构分类
指令1 指令2
数据1 指令 1 控制1 处理1
存储1
控制2
…… 控制n
指令2
处理2
……
数据2
存储2
……
指令n
指令n
处理n
数据n
存储n
MIMD多指令流多数据流计算机
多处理机系统
控制 处理
MAP
…… ……
控制 处理
MAP
……
互连网络
……
通道
存储

【软件体系结构】 复习

【软件体系结构】 复习

第一章1. 体系结构发现、演化、重用体系结构发现解决如何从已经存在的系统中提取软件的体系结构,属于逆向工程范畴。

由于系统需求、技术、环境、分布等因素的变化而最终导致软件体系结构的变动,称之为软件体系结构演化。

体系结构重用属于设计重用,比代码重用更抽象。

由于软件体系结构是系统的高层抽象,反映了系统的主要组成元素及其交互关系,因而较算法更稳定,更适合于重用。

2.基于软件体系结构的软件开发方法:问题定义—>软件需求—>软件体系结构—>软件设计—>软件实现3.评价软件体系结构的方法权衡分析方法(ATAM方法),软件体系结构分析方法(SAAM方法),中间设计的积极评审(ARID方法)第二章1. 建模结构模型:研究结构模型的核心是体系结构描述语言。

以体系结构的构件,连接件和其他概念来刻画结构。

并力图通过结构来反映系统的重要语义内容。

框架模型:与结构模型类似,但不太侧重细节,而侧重于整体结构。

动态模型:是对结构和框架模型的补充,研究系统大颗粒的行为性质。

过程模型:研究构造系统的步骤和过程,结构是遵循某些过程脚本的结果。

功能模型:认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。

功能模型可以看作是一种特殊的框架模型。

4+1视图模型:逻辑视图、进程视图、物理视图、开发视图和场景视图逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。

在逻辑视图中,系统分解成一系列的功能抽象,这些抽象主要来自问题领域。

这种分解不但可以用来进行功能分析,而且可用作标识在整个系统的各个不同部分的通用机制和设计元素。

在面向对象技术中,通过抽象、封装和继承,可以用对象模型来代表逻辑视图,用类图来描述逻辑视图开发视图通过系统输入输出关系的模型图和子系统图来描述。

进程视图侧重于系统的运行特性,主要关注一些非功能性的需求。

物理视图主要考虑如何把软件映射到硬件上。

逻辑视图和开发视图描述系统的静态结构,而进程视图和物理视图描述系统的动态结构。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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。

采用熟悉概念,很适合动态。

相关文档
最新文档