动态软件体系结构描述方法
软件体系结构建模
软件体系结构建模设计软件体系结构的首要问题是如何表示软件体系结构,即如何对软件体系结构建模。
根据建模的侧重点不同,可以将软件体系结构的模型分为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_动态软件体系结构_动态模型(精)
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架构体系的内容解释说明以及概述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动态软件体系结构
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、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
答案:√2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。
答案:√3、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。
答案:√5、构件可以由其他复合构建和原子构件通过连接而成。
()答案:√6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色()答案:√7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。
其中,构件、连接件和配置是最基本的元素()答案:√8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务()答案:X9、构件、连接件以及配置是体系结构的核心模型最基本的元素()答案:√10、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单。
答案:×11、正交软件体系结构由组织层和线索的构件构成。
13、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能。
()答案:√14、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。
答案:×16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具。
答案:√18、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行。
答案:√19、基于软构件的系统描述语言是较好的一种以构件为单位的软件系统描述语言。
答案:√21、基于构件的动态系统结构模型分为三层,风别是应用层、中间层、和体系结构层。
答案:√23、基于构件的动态系统结构模型分为应用层,中间层和体系结构层。
答案:√29、一般的说,一个模式有一下4个基本成分,1.模式名称,2.问题,3.解决方案,4.效果,这句话是对的()答案:√30、设计模式的概念最早是由美国的一位计算机专家提出的。
第4章 软件体系结构描述
第四章 软件体系结构描述
4.1 软件体系结构描述方法
Байду номын сангаас
◇ 基于软构件的系统描述语言
SADL UML Gestalt Demeter
FR
ControlH & MetaH
◇ C2风格
通过连接件绑定在一起的按照一组规则运作的并行构件网 络。C2风格中的系统组织规则如下:
◎ 系统中的构件和连接件都有一个顶部和一个底部;
◎ 构件的顶部应连接到某连接件的底部,构件的底部则应 连接到某连接件的顶部,而构件与构件之间的直接连接是 不允许的;
4.3 软件体系结构描述语言
第四章 软件体系结构描述
◇ ADL的构成要素
软件体系结构的基本构成要素: 构件、连接件、体系结构
配置。
1. 构件:一个计算单元或数据 存储;是计算与状态存在的场 所。
构件包含的多种属性: 接口、类型、语义、约束、
演化和非功能属性等。
4.3 软件体系结构描述语言 软件体系结构
软件体系结构处理算法与数据结构之上关于整体系统结构设计 和描述方面的一些问题,如全局组织和全局控制结构、关于通讯、 同步与数据存取的协议,设计构件功能定义,物理分布与合成,设
计方案的选择、评估与实现等。
软件体系结构 = { 构件,连接件,约束 }
第四章 软件体系结构描述
4.3 软件体系结构描述语言
◎ 异构能力:ADL允许多个不同的体系结构描述关联存 在;
软件体系结构试题库(软件工程)试题和答案
一、判断题1、软件重用是指重复使用已有的软件产品用于开发新的软件系统,以达到提高软件系统的开发质量与效率,降低开发成本的目的。
答案:√2、可重用技术对构件库组织方法要求不仅要支持精确匹配,还要支持相似构件的查找。
答案:√3、超文本组织方法与基于数据库系统的构件库组织方法不同,它基于全文检索技术。
答案:√4、软件体系结构充当一个理解系统构件和它们之间关系的框架,特别是那些始终跨越时间和实现的属性。
答案:√5、构件可以由其他复合构建和原子构件通过连接而成。
()答案:√6、体系的核心模型由5种元素组成:构建、连接体、配置、端口和角色()答案:√7、软件体系结构的核心由5种元素组成:构件、连接件、配置端口和角色。
其中,构件、连接件和配置是最基本的元素()答案:√8、开发视图主要支持系统的功能需求,即系统提供给最终用户的服务()答案:X9、构件、连接件以及配置是体系结构的核心模型最基本的元素()答案:√10、HMB风格不支持系统系统自顶向下的层次化分解,因为它的构件比较简单。
答案:×11、正交软件体系结构由组织层和线索的构件构成。
答案:√12、基于事件的隐式调用风格的思想是构件不直接调用一个过程,而是触发或广播一个或多个事件。
答案:√13、线索是子系统的特例,它由完成不同层次功能的构建组成,每一条线索完成整个系统中相对独立的一部分功能。
()答案:√14、层次系统中支持抽象程度递增的系统设计是设计师可以把一个复杂系统按照递增的步骤进行分解,同时支持功能增强,但是不支持重用。
答案:×15、相交关系R是一个等价关系。
答案:√16、在软件设计中占据着主导地位的软件体系结构描述方法是图形表达工具。
答案:√17、Rapide是一种可执行的ADL,其目的在于通过定义并模拟基于事件的行为对分布式同步系统建模。
答案:×并发系统建模18、体系结构设计是整个软件生命周期中关键的一环,一般在需求分析之后,软件设计之前进行。
软件体系结构描述方法
MIL是将一种或多种传统程序设计语 言模块连接起来 描述软件体系结构的方法。
特点:语义比较丰富,但局限于实现级别 ,层次较低、语 义精确、极少形式化基础。
优点:
具有严格的语义基础,能够支持对较大的软件单 元进行定义/使用、
接口定义和导入导出等操作,一般来讲,MIL与 实际的实现语言无
用由矩形框和有向线段组合而成的图形表达 工具。其中,矩形 框代表抽象构件,有向线段代表辅助各构件进行 通讯、控制或关联 的连接件。
优点:直观形象、简单易用。 缺点:由于其术语和表达语义上存在着一些不规 范和不精确,从而 使得以矩形为基础的传统图形表达方式在不同系
特点:
寓意丰富 语义极不精确 没有形式化基础
根据ADL和编程语言的关系分类:
标准语言:其优点是可扩展已有的工具以适 应新框架的特性,并且易于掌握;缺点是,不能 很好地支持建模语言结构,损失了语言描述效率 。
专用语言:与标准语言相反,它针对系统建 模与设计,保证了语言与模型能够很好地匹配; 不足之处是,需要学化为概念模型的标准语言,使用时要 考虑转换机制产生的中间制品。
功能模块:
(1)用户管理模块:包括注册登陆登出,身份认证, 管理员权限验证,个人信息管理模块; (2)店铺管理模块:包括店铺开通关闭,店铺信息修 改; (3)商品管理模块:商品的展示、搜索、以及增删改 查; (4)购物车模块:将选中商品加入购物车和从购物车 删除商品; (5)订单管理模块:包括增加、查询、删除订单; (6)支付模块:对已订单进行支付,包括收货人信息 的增删改查; (7)商品评价模块:对已收货商品进行评价打分; (8)活动管理模块:增加修改删除活动;
包图反映体系结构的静态特征、协作图序列图部署图 反映体系结构的动态
软件体系结构建模的种类
软件体系结构建模的种类: 结构模型, 框架模型, 动态模型, 过程模型,功能模型"4+1"视图模型:1.逻辑视图:逻辑视图主要支持系统的功能需求,即系统提供给最终用户的服务。
2.开发视图:开发视图也称模块视图,主要侧重于软件模块的组织和管理。
3.进程视图:进程视图侧重于系统的运行特性,主要关注一些非功能性的需求。
强调并发性、分布性、系统集成性和容错能力,以及从逻辑视图中的主要抽象如何适合进程结构。
4.物理视图:物理视图主要考虑如何把软件映射到硬件上,它通常要考虑到系统性能、规模、可靠性等。
5.场景:场景可以看作是那些重要系统活动的抽象,它使四个视图有机联系起来,从某种意义上说场景是最重要的需求抽象。
体系结构核心模型由5中元素组成:构件、连接件、配置、端口和角色。
经典的体系结构风格数据流风格:批处理序列;管道/过滤器。
◎调用/返回风格:主程序/子程序;面向对象风格;层次结构。
◎独立构件风格:进程通讯;事件系统。
◎虚拟机风格:解释器;基于规则的系统。
◎仓库风格:数据库系统;超文本系统;黑板系统。
◎其他(如适应性软件系统的体系结构风格、面向Agent的研究、网格计算、Web服务等)过滤器的活动可通过以下三种方式激活:后续构件从过滤器中取出数据;前序构件向过滤器推入数据;过滤器处于活跃状态,不断从前序构件取出、并向后续部件推入数据。
软件体系结构描述方法:图形表达工具、模块内连接语言、基于软构件的系统描述语言、软件体系结构描述语言软件体系结构描述语言ADL是在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。
基于底层语义的工具为体系结构的表示、分析、演化、细化、设计过程等提供支持。
其三个基本元素是:构件、连接件、体系结构配置。
主要的体系结构描述语言有Aesop、MetaH、C2、Rapide、SADL、Unicon和Wright等,尽管它们都描述软件体系结构,却有不同的特点。
适用于动态软件体系结构的扩展的Z描述语言
言 ( D ) 用符 号 标记 把 软件 体 系结 构 分解 成构 件 和 连接 A L使
件 , 说 明这 些 元 素 如 何 连 接 在 一 起 构 成 一 个 配 置 。 它 不 并
但是形式化描述软件体 系结构 的基本工具 , 而且还 是对 软件 体
系结构进行求精 、 验证 、 化 和 分 析 的 前 提 和 基 础 。 演
ZH0 U XU c ua —h n
( oeeo o p t c ne& Tcnl y S uh et nvrtfr ainli , hn d 10 1 hn ) C lg l fC m ue Si c r e eh o g , o tws U i sy o t aie C eg u6 0 4 ,C ia o ei N o ts
a 结构方面 。软 件 系统为适 应 当前 的计 算环 境 , ) 往往 需 要 调整 自身 的结构 , 如增 加或删 除构件 、 连接 子 , 这将 导致 S A
0 引言
软件体 系结 构( A) S 指的是从全局视角描述 系统 的构 件组 成、 构件之间 的相互关系和连接方式所形成的拓扑结构及其所 遵循 的模式 和受 到的约束 等… 。动态软件 体系 ( S 则 是指 D A) 那些在运行时刻会发生变化 的体系结 构 。软 件体 系结构语
1 动态软 件体 系结构 介绍
1 1 动 态 特 性 .
S A通 常是对系统 的静 态描述 , 如果 需要 改变 体系结 构则
必 须 重 新 设 计 新 的 S 这 已 不 能 适 应 现 在 越 来 越 多 的需 要 在 A,
运行时刻发生变化 的系统 的设计需 求 ; D A则 允许 系统 在 而 S 执行过程 中修改其体 系结 构。体 系结构 的动 态变化 可分 为如
软件体系结构建模的种类
软件体系结构建模的种类
软件体系结构建模的种类包括以下几种:
1. 静态建模:通过建立模块、组件、类和接口的关系图来描述系统的静态结构,可以使用UML类图或模块图进行建模。
2. 动态建模:通过建立状态转换图、活动图或时序图来描述系统的行为和交互过程,可以描述系统的运行时行为,演示系统在不同情况下的工作流程,以及对象之间的交互等。
3. 逻辑建模:用于描述系统的逻辑结构和功能模块之间的关系,以及数据流、控制流和数据存储等的交互关系,可以使用数据流图、控制流图或业务过程图进行建模。
4. 物理建模:用于描述系统的物理结构,包括硬件设备、网络连接和部署方式等,可以使用物理架构图或部署图进行建模。
5. 构件建模:用于描述系统的构件、模块或服务之间的关系和依赖,以及它们的接口和交互方式,可以使用构件图或组件图进行建模。
6. 性能建模:用于描述系统的性能需求和约束,包括响应时间、吞吐量和资源利用等,可以使用性能模型或性能图进行建模。
7. 安全建模:用于描述系统的安全需求和安全策略,包括访问控制、身份认证和数据保护等,可以使用安全模型或安全图进行建模。
这些建模方法可以根据具体需求和项目特点选择和组合使用。
软件体系结构---软件体系结构建模
以上就是我对于软件体系结构建模所学到的知识。欢迎大家提出建议。
结构模型以体系结构的构件连接件和其他概念来刻画结构框架模型与结构模型类似更侧重于整体的结构动态模型是对结构或框架模型的补充研究系统的大颗粒的行为性质过程模型研究构造系统的步骤和过程因而结构是遵循某些过程脚本的结果和功能模型认为体系结构是由一组功能构件按层次组成下层向上层提供服务
软件体系结构 Байду номын сангаас--软件体系结构建模
前面的博客中介绍了我从教材第一章所学到的知识。下面我就来说说从第二章(软件体系结构建模)学到的知识。 第一章讲道什么是软件体系结构以及其来源、意义、重要性,还有一些基本概念。这一章就是讲如何表示软件体系结构。 一般性的思维就是:我们知道了什么是软件体系结构,我们就要想如何来表示软件体系结构,即如何对软件体系结构进行建模。 首先根据建模的侧重点不同可以将模型分为五种:结构模型(以体系结构的构件、连接件和其他概念来刻画结构)、框架模型(与结构模型 类似更侧重于整体的结构)、动态模型(是对结构或框架模型的补充,研究系统的"大颗粒"的行为性质)、过程模型(研究构造系统的步骤 和过程,因而结构是遵循某些过程脚本的结果)和功能模型(认为体系结构是由一组功能构件按层次组成,下层向上层提供服务。它可以看 作是一种特殊的框架模型)。 4+1模型:将以上五模型结合到一起的模型。 4+1模型图: 4+1模型用不同的视角来描述软件体系结构。 软件体系结构的核心模型(由五种元素组成:构件、连接件、配置、端口、角色),其中元素的关系由下面的图表示: 核心模型:
软件体系结构动态演化的Z描述语言扩展方法
摘要 :针对 目前软件体 系结构动态演化描述方法的不足 且许 多描述语言都是 静态的, 并不 能对动 态软 件体 系进 行
描述 的问题 , 对经典 Z描述语言进行 扩展. 该扩展 的 Z描述语言 主要通过构件、 连接件的添加及删 除来达 到动态演 化 的 目的. 具体 给出 Z语言扩展 后的描述规则 、 构件的描述 、 连 接件 的描述 和配置 的描述, 并用一个 实例表 明这 个
文章编号 : 1 6 7 3 — 5 1 9 6 ( 2 0 1 3 ) 0 1 — 0 0 8 8 — 0 4
软件体 系结构 动态演化的 z描述语 言扩展方法
段 玉春 ,朱 小艳
( 1 .河南大学 计算中心, 河南 开封 4 7 5 0 0 1 ; 2 .河南大学 软件学 院, 河南 开封 4 7 5 0 0 1 )
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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的需求。
因此,需要进一步研制相关支持工具,对复杂系统规约能够进行自动化分析、检测和仿真。