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

合集下载

软件体系结构建模

软件体系结构建模

软件体系结构建模设计软件体系结构的首要问题是如何表示软件体系结构,即如何对软件体系结构建模。

根据建模的侧重点不同,可以将软件体系结构的模型分为5种,分别是结构模型、框架模型、动态模型、过程模型和功能模型。

在这5种模型中,最常用的是结构模型和动态模型。

(1)结构模型:这是一个最直观、最普遍的建模方法。

这种方法以体系结构的构件、连接件(connector)和其他概念来刻画结构,并力图通过结构来反映系统的重要语义内容,包括系统的配置、约束、隐含的假设条件、风格、性质等。

研究结构模型的核心是体系结构描述语言。

(2)框架模型:框架模型与结构模型类似,但它不太侧重描述结构的细节而更侧重于整体的结构。

框架模型主要以一些特殊的问题为目标建立只针对和适应该问题的结构。

(3)动态模型:动态模型是对结构或框架模型的补充,研究系统的“大颗粒”的行为性质。

例如,描述系统的重新配置或演化。

动态可以指系统总体结构的配置、建立或拆除通信通道或计算的过程。

这类系统常是激励型的。

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

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

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

上述5种模型各有所长,将5种模型有机地统一在一起,形成一个完整的模型来刻画软件体系结构更合适。

例如,Kruchten提出了一个“4+1”的视图模型。

“4+1”视图模型从5个不同的视角来描述软件体系结构。

每一个视图只关心系统的一个侧面,5个视图结合在一起才能反映系统的软件体系结构的全部内容。

“4+1”视图模型如图2-8所示。

图2-8“4+1”视图模型(1)逻辑视图(logic view):主要支持系统的功能需求,即系统提供给最终用户的服务。

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

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

Chap05.2_动态软件体系结构_动态模型(精)

Chap05.2_动态软件体系结构_动态模型(精)
wangzhiming@
13
2018/9/14
§5.2.2 πADL动态体系结构(续)

2、πADL体系结构建模方法(续) 具体方法:


2018/9/14
wangzhiming@
12
§5.2.2 πADL动态体系结构(续)

2、πADL体系结构建模方法 基本思想:



在构件的计算、连接件的胶水进程中,插入用 于体系结构动态演化的特定控制名字,表达体 系结构动态演化的起因和安全地进行动态演化 的时间; 运用π演算作为统一的形式语义基础,建立单 独的动态配置进程,形式化描述体系结构动态 演化方案; 运用π演算固有的动态建模能力,通过连接件 动态输入不同构件的交互行为名字,实现与构 件的动态连接和交互,并据此给出体系结构动 态配置的形式语义。
本层可添加、删除、更新构件。

2018/9/14
wangzhiming@
4
§5.2.1 基于构件的动态系统结构 模型(续)

中间层:包括连接件配置、构件配置、构件 描述和执行。

连接件配置管理连接件及其接口的通信配置; 构件配置管理构件行为;构件描述对构件的内 部结构、行为、功能和版本等信息加以描述;
9
执行
2018/9/14
wangzhiming@

全局更新:
体系结构 配置器 Client 配置器 连接件 Server构件 执行
Server构件 配置器 请求更新
提交更新请求 判 断 通知有更新请求 通知有更新请求 返回准备 就绪信息 返回准备 就绪信息 通知一切就绪 准备执行更新 通知更新执行完毕并返回结果 通知更新 结束 通知更新结束 返回相应信息 通知更新结束 通知更新结束

软件体系结构习题答案

软件体系结构习题答案
答:层次结构将系统进行分级组织,其组织思想是:在层次结构中,每一层向上层提供服务,并作为客户向下层请求服务。分层系统的优点:
支持基于抽象程度递增的系统设计;支持功能增强;支持重用。分层系统的缺点:并不是每个系统都可以很容易的划分为分层的模式,甚至即使是层次化的,出于性能的考虑,也不得不吧一些低及或高级的功能综合起来;很难找到一个合适的、正确的层次抽象方法。
(1)
(2)
(3)应用层:处于最底层,包括构件链接,构件接口和执行中间层:包括连接件配置,构件配置,构件描述及执行体系结构层:位于最上层,控制和管理整个体系结构,包括体系结构配置,体系结构描述和执行。
1、请把基于体系结构的软件开发模型与其他软件开发模型进行比较。
答:软件开发模型有演化模型、螺旋模型、喷泉模型、智能模型等。传统软件开发模型存在开发效率不高,不能很好地支持软件重用等缺点。在
b/s风格就是上述三层应用结构的一种实现方式,其具体结构为:浏览器/web服务器/数据库服务器。优点(1)基于b/s体系结构的软件,
系统安装,修改和维护全在服务器端解决。(2)提供了异种机,异种网,异种应用服务的联机,联网,同意服务的最现实的开放性基础。缺点(1)缺乏对动态页面的支持能力,没有集成有效的数据库处理能力。(2)在数据查询等响应速度上,要远远低于c/s体系结构。(3)数据提交一般以页面为单位,数据的动态交互性不强,不利于在线事务处理应用。
3、sis和dssa分别用在哪些场合?
答:1.dssa只对某一个领域进行设计专家知识的提取,存储和组织,但可以同时使用多种体系结构风格;而在某个体系结构风格中进行体系结
构设计专家知识的组织时,可以将提取的公共结构和设计方法扩展到多个领域。
2.dssa的特定领域参考体系结构通常选用一个或多个适合所研究领域的体系结构风格,并设计一个该领域专用的体系结构分析设计工具。

软件体系结构

软件体系结构

软件体系结构软件体系结构是指软件系统中各个组件之间的关系和结构的抽象描述。

它是构建软件系统的基础,对软件系统的设计和开发起着重要的指导作用。

本文将从软件体系结构的定义、目标和应用领域等方面对其进行详细的介绍。

一、软件体系结构的定义软件体系结构是指软件系统中各个组件之间的关系和结构的抽象描述,它包括软件系统的静态结构和动态行为。

静态结构是指软件系统中组件的组织方式和相互之间的关系,动态行为是指软件系统中组件的交互方式和相互之间的通信方式。

二、软件体系结构的目标软件体系结构的目标是实现软件系统的可重用性、可维护性、可扩展性和可伸缩性。

可重用性是指软件系统中的组件能够被多次使用,可维护性是指软件系统中的组件能够被轻松地修改和维护,可扩展性是指软件系统能够根据需求进行功能的扩展,可伸缩性是指软件系统能够根据需求进行性能的扩展。

三、软件体系结构的应用领域软件体系结构广泛应用于各个领域的软件系统开发,特别是大型跨平台和分布式系统的开发。

在金融领域,软件体系结构被应用于交易系统和风险管理系统的开发;在电子商务领域,软件体系结构被应用于在线购物系统和支付系统的开发;在物流领域,软件体系结构被应用于供应链管理系统和运输管理系统的开发。

四、软件体系结构的基本原则软件体系结构的设计应遵循以下基本原则:1. 模块化:将软件系统分为独立的模块,每个模块只负责特定的功能,通过接口进行通信和交互。

2. 松耦合:各个模块之间的依赖应尽量降低,避免模块之间的紧密耦合,以提高系统的灵活性和可维护性。

3. 高内聚:模块内部的各个元素之间应紧密关联,功能相关的元素应放在同一个模块中,以提高系统的内聚性。

4. 分层:将软件系统分为多个层次,每个层次负责不同的功能,上层层次通过接口调用下层层次的功能。

5. 可伸缩性:系统的设计应考虑未来的扩展需求,能够根据需求进行功能和性能的扩展。

六、软件体系结构的设计方法软件体系结构的设计方法有很多种,常用的有面向对象的体系结构设计方法、服务导向的体系结构设计方法和领域驱动设计方法。

动态软件体系结构研究综述倡

动态软件体系结构研究综述倡

收稿日期:2008唱11唱06;修回日期:2008唱12唱08 基金项目:国家自然科学基金资助项目(60703116);云南省应用基础研究计划资助项目(2006F0024Q) 作者简介:李琼(1982唱),女,云南人,硕士研究生,主要研究方向为软件工程与软件测试(hellolqg@163.com);姜瑛(1974唱),女,浙江余姚人,副教授,硕导,博士,主要研究方向为软件工程、软件构件与测试技术.动态软件体系结构研究综述倡李 琼,姜 瑛(昆明理工大学信息工程与自动化学院,昆明650051)摘 要:近年来,随着Internet的迅猛发展和应用形式的不断更新,传统的软件体系结构(SA)已无法完全适应需求,动态软件体系结构(dynamicsoftwarearchitecture,DSA)逐渐成为SA研究人员关注的焦点之一。

描述了DSA的研究背景及研究意义;总结了DSA的研究内容及国内外的研究现状;最后探讨了DSA研究的主要发展方向。

关键词:软件体系结构;动态软件体系结构;动态演化;描述语言;执行工具中图分类号:TP311 文献标志码:A 文章编号:1001唱3695(2009)06唱2352唱04doi:10.3969/j.issn.1001唱3695.2009.06.106OverviewonresearchofdynamicsoftwarearchitectureLIQiong,JIANGYing(SchoolofInformationEngineering&Automation,KunmingUniversityofScience&Technology,Kunming650051,China)Abstract:Inrecentyears,withtherapidgrowthofInternetandthecontinuousimprovementoftheapplicationstyles,tradi唱tionalSAcouldnotfullymeettherequirements.Dynamicsoftwarearchitecture(DSA)graduallybecamethefocusofattentionofSAresearchers.Atfirst,describedthebackgroundandmeaningoftheDSA,summarizedthemainresearchareasoftheDSAanditspresentresearchsituationbothathomeandabroad.FinallydiscussedsomesignificantlypromisingtendencyaboutDSAresearch.Keywords:(softwarearchitecture)SA;DSA;dynamicevolution;descriptionlanguage;implementationtool0 DSA研究背景及意义SA是对软件系统整体组织结构和控制结构的刻画,包括系统中各计算单元(构件)的功能分配、各单元之间的高层交互说明(连接件)以及SA的约束。

4+1架构体系的内容_解释说明以及概述

4+1架构体系的内容_解释说明以及概述

4+1架构体系的内容解释说明以及概述1. 引言1.1 概述在软件开发领域,架构体系(Architecture)扮演着关键的角色,它定义了软件系统的整体结构和组织,并对系统的功能、性能和可扩展性等方面产生深远影响。

而4+1架构体系是一种被广泛采用和认可的架构设计方法。

本文将详细解释和说明4+1架构体系的内容,并对其概述进行阐述。

1.2 文章结构本文共分为五个部分。

首先,在引言部分我们给出了文章的概述,明确了文章对于4+1架构体系的解释说明以及概述要探讨的内容。

接下来,第二部分将详细介绍什么是4+1架构体系,并重点讨论其核心要素——架构视图和场景描述。

此后,我们将在第三部分和第四部分中探讨该架构体系下涉及到的具体要点,从而更加全面地了解这一设计框架。

最后,在第五部分中,我们将总结回顾本文所探讨的主要观点和进展,并给出未来发展的展望和建议。

1.3 目的通过本文对于4+1架构体系内容的解释说明以及概述,旨在帮助读者深入理解这一软件架构设计方法,并为软件开发人员在实践中应用4+1架构体系提供指导和参考。

同时,本文也着重强调了该架构体系的重要性和实用价值,以及对未来软件系统开发领域的发展前景作出探讨。

以上是对于“1. 引言”部分内容的详细清晰撰写,如有需要,请继续咨询其他部分的内容。

2. 4+1架构体系的内容解释说明概述2.1 什么是4+1架构体系?4+1架构体系是一种在软件工程领域中常用的软件体系结构描述方法。

该方法由美国计算机科学家Philippe Kruchten于1995年提出,并被广泛应用于软件系统设计和开发中。

这一软件体系结构描述方法将系统的架构划分为四个视图(Views)以及一个场景描述(Scenarios)。

它强调了以多视图和用例为基础的方式来描述和显示系统的各个方面,从而帮助团队成员更好地理解和沟通软件系统体系结构。

2.2 架构视图(Views)在4+1架构体系中,架构视图指的是通过不同角度来描述系统的多个视角。

05动态软件体系结构

05动态软件体系结构
◎ 体系结构动态更新的执行
5.1 动态软件体系结构概述
目前支持动态体系结构机制的主要有 ArchStudio 工具 集 和 软 件 体 系 结 构 助 理 ( Software Architecture Assistant,SAA)。
• ArchStudio 工具集由加州大学Irwine 分校提出,支持交互 式图形化描述和C2风格描述的体系结构的动态修改。 • SAA 由伦敦皇家学院提出,也是一种交互式图形工具,可 以用来描述、分析和建立动态体系结构。
22/33
第5章 动态软件体系结构
5.3 动态体系结构的描述
◇ 动态软件体系结构的形式化描述
◎ 形式化描述主要包括
• 软件体系结构的描述 • 体系结构的重新配置 • 系统行为的描述
23/33
第5章 动态软件体系结构
5.3 动态体系结构的描述
◇ 动态软件体系结构的形式化描述
◎ 形式化描述的方法
• 图形化方法 • 进程代数方法 • 逻辑方法
5.2 软件体系结构动态模型
◇ 基于构件的动态系统结构模型
◎ 实例分析
Server构件 配置器 请求更新 提交更新请求 判 断 通知有更新请求 通知有更新请求 返回准备 就绪信息 返回准备 就绪信息 通知一切就绪 准备执行更新 通知更新执行完毕并返回结果 通知更新 结束 通知更新结束 返回相应信息 通知更新结束 通知更新结束 返回准备 就绪信息 执行 更新 体系结构 配置器 Client 配置器 连接件 Server构件 执行
5.1 动态软件体系结构概述
◎ 由于系统需求、技术、环境、分布等因素的变化而最终 导致软件体系结构的变动,称之为软件体系结构演化。
◎ 软件系统在运行时刻的体系结构变动称为体系结构的动 态性。 ◎ 体系结构的静态修改称为体系结构扩展。 ◎ 体系结构的扩展和动态性都是体系结构适应性和演化性 的研究范畴。

软件体系结构描述

软件体系结构描述
◇ 软件体系构造旳定义
◎ Mary Shaw和David Garlan (1993年)
软件体系构造是软件设计过程中旳一种层次,这一层次超越 计算过程中旳算法设计和数据构造设计。
体系构造问题涉及总体组织和全局控制,通讯协议,同步,数 据存取,给设计元素分配特定功能,设计元素旳组织、规模和性能, 在各设计方案间进行选择等。
构件之间不能发送消息,必须经过连接件。构件之间 旳通信只能经过消息传递来实现,不允许使用共享内存方 式通信。
◇ C2风格旳中心原则
C2风格旳中心原则是有限可视原则,或者说是下层独 立旳原则:
在C2风格旳体系构造中,某一构件只能感知层次高于 自己旳构件所提供旳服务,而不能感知到层次比自己更低 旳构件旳服务。
◎ ADL与建模语言旳区别:后者对整体行为旳关注要不 小于对部分旳关注,而ADL集中在构件旳表达上。
◎ ADL与老式旳程序设计语言旳构成元素既有许多相同 和相同之处,又各自有着很大旳不同。
第四章 软件体系构造描述
◇ 经典元素含义比较
4.3 软件体系构造描述语言
第四章 软件体系构造描述
◇ 常见旳软件体系构造元素
4.3 软件体系构造描述语言
3. 体系构造配置或拓扑: 描述体系构造旳构件与连接件旳连接图。
同步检验语法、阐明语义。 多视图、多场景旳体系构造阐明措施。
在不同层次上描述软件系统;异构情况下旳配置。
第四章 软件体系构造描述 ◇ ADL旳构成要素
4.3 软件体系构造描述语言
软件体系构造旳设计在需求分析之后,软件设计之前。 描述好体系构造,做好承上启下旳工作很主要。
软件体系构造处理算法与数据构造之上有关整体系统构造设计 和描述方面旳某些问题,如全局组织和全局控制构造、有关通讯、 同步与数据存取旳协议,设计构件功能定义,物理分布与合成,设
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

学号 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)体系结构元素之间连接的改变。

在π演算中定义了两种行为等价关系:强等价关系和弱等价关系。

强等价关系既考虑系统的内部行为,又考虑系统的外部行为;而弱等价关系是一种不考虑系统的内部行为的行为等价理论,即如果系统A和B弱互模拟,则A和B表现出来的外部行为是等价的。

它定义了如下规则:
1.设构件A和B的行为分别被形式化为进程Pa和Pb,则要使得A和B能够相互联机替换,必要的条件是Pa和Pb具备弱等价关系。

D-ADL以高阶多型π演算作为行为语义基础,因此构件的行为规约能够从D-ADL描述出发转换为高阶π演算进程,进而利用规则1和高阶π演算弱等价判定理论及其工具推导出构件能否替。

2.设进程PA表示构件A的行为,进程PB表示构件B的行为,若构件A是对构件B的求精,则PA观察弱模拟PB。

分支弱模拟意指对不可观察的活动序列进行抽象,在跟踪每一
个可观察的活动的同时保持进程的所有分支轨迹.连接件旨在建立构件间的交互,而交互的核心体现为路由行为,连接件求精应该保持路由行为的一致。

3.设进程PC表示连接件C的行为,进程PD表示连接件D的行为,若连接件C是对连接件D的求精,则PC分支弱模拟PD。

D—ADL的特点:
(1)D—ADL将动态行为从计算行为中分离出来,显式地、集中地表示,便于体系结构动态逻辑的理解、编写和修改;
(2)D.ADL中的动态行为可形式化为高阶兀演算进程,因此能够预先推导动态行为的结果;
(3)借助于高阶7c演算理论和工具,D—ADL可用于动态体系结构模型的形式化验证、求精和演化。

π-ADL与D-ADL的比较:
D—ADL借鉴了π-ADL的一些思想,也是一种基于高阶π演算的形式化语言,支持动态体系结构建模和验证。

但与π-ADL相比有如下不同:
(1)D-ADL显性定义了体系结构的动态行为操作符“new”和“delete",π-ADL则借助π进程的输入输出动作间接实现动态行为.虽然D—ADL的动态行为操作符的语义解释也归于π进程的输入输出动作,但从语用学角度看,使用D-ADL更便于动态行为的描述和理解。

(2)D-ADL将动态行为与计算行为相分离,使得动态体系结构的行为视图更加清晰,同时由于动态行为具备高阶π演算语义,能够预先推导动态行为的结果,因此可采取措施使这种分离不影响计算行为的正确性。

(3)π-ADL直接支持体系结构的演化,D-ADL本身仅实现了对体系结构动态行为(规约不变)的描述,但对体系结构的演化也有间接的支持。

D-ADL的发展:
D-ADL是基于高阶多型π演算的动态体系结构语言,它将π演算的行为模拟和等价理论用于系统的联机演化和SA模型求精的规则,实现动态行为和计算行为解耦,并将动态行为形式化为高阶π演算进程,能预先推导动态行为的结果,但在支持非预设的动态演化方面,D-ADL只是通过不同的求精方式来支持,不能明确地推导出软件的自适应行为。

D-ADL进一步的工作是结合其他形式化规约方法,完善D-ADL语言。

基于高阶π演算理论,D-ADL适合描述动态系统的结构和行为。

然而,体系结构尚有许多方面需要进行描述,如系统的属性和约束。

如何运用多种形式化机制,从不同视点描述体系结构,并组成一个有机整体,是D—ADL面临的巨大挑战。

此外,虽然已经存在许多高阶冗演算工具,但
并不能够完全满足D—ADL的需求。

因此,需要进一步研制相关支持工具,对复杂系统规约能够进行自动化分析、检测和仿真。

相关文档
最新文档