286.软件体系结构研究展望

  • 时间:
  • 浏览:7

软件体系内部结构研究新方向

21世纪软件技术展望

1.开放源代码

下一世纪的操作系统将继承现在好的操作系统的主要优点,变成开放的和进化的。在操作系统开放过后,系统软件产业将主要集中在软件环境平台和工具的研究开发上。可视化编程环境与工具、办公套件、家庭套件、学习套件等机会有很大的空间。

21世纪软件技术展望

2.跨平台

使得一次写好的应用软件在各种不同硬件系统上都都前要运行、使得机会设计好的程序运行运行模块被有效地重复利用。

目前跨平台這個设想还这么完正有效地被实现,相信21世纪第另二个多多10年一定都前要完成。当然,如可处置非Java语言软件的跨平台问题报告 仍然是另二个多多问题报告 。

21世纪软件技术展望

3.软件工业化

随着软构件的规范化和实用化,计算机软件生产的工业化程度会慢慢提高,软件发展的强度也会慢慢加快。估计到21世纪的第另二个多多10年现在现在开始 的过后,软件的工业化程度应该达到20世纪90年代中期计算机硬件的工业化程度。

21世纪软件技术展望

4、友好界面

多媒体技术、语音识别与合成技术、手写体文字的识别、自然语言理解与机器翻译技术、图像处置与图形学技术、用户图形界面技术、人工智能技术等等有的是处置软件系统友好性的关键技术。



21世纪软件技术展望

5.基于网络的应用软件

利用了WEB浏览技术、多媒体技术和网络信息管理系统等综合技术而构成的网络应用软件(這個电子商务)将是今后软件业发展的最大舞台。

纲要

21世纪软件技术展望

软件体系内部结构研究新方向

软件体系内部结构研究新方向

IEEE 1471标准

基于软件体系内部结构的软件工程

基于体系内部结构的软件开发最好的最好的办法

基于体系内部结构的软件组装

基于体系内部结构的软件测试最好的最好的办法

面向服务体系内部结构(Service-Oriented Architecture)

柔性软件体系内部结构

自适应的柔性软件体系内部结构

移动环境下的软件体系内部结构

自修复系统

支持代码移动的体系内部结构

动态软件体系内部结构的描述

IEEE 1471标准

1.基本原则

每个系统具另二个多多多体系内部结构,但另二个多多体系内部结构有的是另二个多多系统;

体系内部结构与体系内部结构描述有的是同一件事;

体系内部结构标准、描述、及开发过程都前要不同,以后都前要单独地进行研究;

体系内部结构描述一种是多见解的;

把另二个多多对象的总体概念从其详述中分挑选离开是撰写体系内部结构标准的另二个多多有效最好的最好的办法。

IEEE 1471标准

2.体系内部结构定义

体现在各组成每段、它们相互关系及与环境的关系、和指导设计和演变的原理之中的另二个多多系统的基本内部结构。

IEEE 1471标准

3.组成每段

对关键术语的定义,如体系内部结构描述、内部结构性视图与体系内部结构性视点;

对体系内部结构与体系内部结构描述在概念上的分离利于了描述体系内部结构标准(与蓝图标准相這個)和构筑系统标准(与建筑规范或城市规划法规相這個)的建立;

用于描述另二个多多系统体系内部结构的内容要求。

IEEE 1471标准

4.体系内部结构描述要求

另二个多多体系内部结构描述前要规定系统的用户,挑选让当我们 体系内部结构的要点;

另二个多多体系内部结构描述前要被编入另二个多多或多个系统的体系内部结构视图中 ;

另二个多多体系内部结构描述前要为制定关键的内部结构性决策提供基本原则 。

软件体系内部结构研究新方向

IEEE 1471标准

基于软件体系内部结构的软件工程

基于体系内部结构的软件开发最好的最好的办法

基于体系内部结构的软件组装

基于体系内部结构的软件测试最好的最好的办法

面向服务体系内部结构(Service-Oriented Architecture)

柔性软件体系内部结构

自适应的柔性软件体系内部结构

移动环境下的软件体系内部结构

自修复系统

支持代码移动的体系内部结构

动态软件体系内部结构的描述

基于体系内部结构的软件开发最好的最好的办法

ACPP

——以体系内部结构为中心的软件项目计划

ABDP

——基于软件体系内部结构的开发过程

ABC

——基于体系内部结构、面向构件的软件开发最好的最好的办法



体系内部结构的软件开发最好的最好的办法

体系内部结构的软件开发最好的最好的办法

体系内部结构的软件开发最好的最好的办法

软件体系内部结构研究新方向

IEEE 1471标准

基于软件体系内部结构的软件工程

基于体系内部结构的软件开发最好的最好的办法

基于体系内部结构的软件组装

基于体系内部结构的软件测试最好的最好的办法

面向服务体系内部结构(Service-Oriented Architecture)

柔性软件体系内部结构

自适应的柔性软件体系内部结构

移动环境下的软件体系内部结构

自修复系统

支持代码移动的体系内部结构

动态软件体系内部结构的描述

基于体系内部结构的软件组装

软件体系内部结构研究新方向

IEEE 1471标准

基于软件体系内部结构的软件工程

基于体系内部结构的软件开发最好的最好的办法

基于体系内部结构的软件组装

基于体系内部结构的软件测试最好的最好的办法

面向服务体系内部结构(Service-Oriented Architecture)

柔性软件体系内部结构

自适应的柔性软件体系内部结构

移动环境下的软件体系内部结构

自修复系统

支持代码移动的体系内部结构

动态软件体系内部结构的描述

基于体系内部结构的软件测试最好的最好的办法

体系内部结构形式化验证

多组态软件体系内部结构测试

基于体系内部结构的软件测试最好的最好的办法

基于有穷情况汇报应用程序运行运行的形式化验证

基于时态逻辑的形式化验证

基于应用程序运行运行演算的形式化验证

基于Petri网的形式化验证

基于体系内部结构的软件测试最好的最好的办法

基于体系内部结构的软件测试最好的最好的办法

参与交互的构件不是能达到系统的目标

系统的完备性和强度

系统扩展的潜能

构件接口的一致性

构件之间连接的机制

构件行为的顺序

临界资源的争夺

软件体系内部结构研究新方向

IEEE 1471标准

基于软件体系内部结构的软件工程

基于体系内部结构的软件开发最好的最好的办法

基于体系内部结构的软件组装

基于体系内部结构的软件测试最好的最好的办法

面向服务体系内部结构(Service-Oriented Architecture)

柔性软件体系内部结构

自适应的柔性软件体系内部结构

移动环境下的软件体系内部结构

自修复系统

支持代码移动的体系内部结构

动态软件体系内部结构的描述

面向服务的体系内部结构SOA

三位一体的职责构成SOA

SOA应用示例

SOA内部结构

基于标准的互操作性

在SOA当中,接口、通讯协议、工作流、相互协作和发布有的是由一整套国际标准所定义,包括XML, SOAP, WSDL, UDDI, HTTP,CPP, ebXML, bSOA, BPEL, FERA, OWL-S等,从而保证不同平台的系统太少再还还还可以无阻碍的交流

基于发现的动态组装

在SOA中的系统所前要的服务均通过运行时发现,运行时加载的最好的最好的办法工作

基于策略的动态管理和总控相互协作

SOA的各个服务的运行都由策略(Policy)进行控制,策略的制定、监测、执行都可在运行时内完成。SOA实行总控式相互协作,即由另二个多多中心控制节点负责控制和调度分布在网络各处的服务



SOA分类标准

内部结构(Structure)

应用程序运行运行的内部结构是静态(S)还是动态(D)

动态重组能力(Runtime re-composition capability)

都前要在运行时进行重组(R) 不都前要进行重组(N)

容错能力(Fault Tolerant Capability)

具有容错的骨干通讯机制(FB),具有容错的控制服务(FC),不具有容错能力(FN)

软件工程支持(System Engineering Support)

不是具有系统支持的模型监测、数据分派、部署、代码自动生成、策略实施、一致性检查等机制。有用(SY)表示,无用(SN)表示

由此得到另二个多多四元组

{Structure, Re-composition, Fault-tolerance, System-engineering}

对各种SOA进行分类



SOA类别及其进化

Customer Centric SOA

常规SOA模式

服务提供者向服务代理注册开发出来的服务,由应用程序运行运行构建者来寻找前要的服务

CCSOA模式

在传统SOA的基础上,应用程序运行运行构建者也都前要发布应用程序运行运行模板,服务提供者都前要根据模板的前要开发新的服务

Customer Centric SOA(续)

Customer Centric SOA(续)

上图的步骤为:

应用程序运行运行构建者编写应用程序运行运行模版,模板内含晒 工作流信息、前要服务规格信息等

应用程序运行运行模版在服务代理的库中进行注册并发布

另二个多多订阅了应用程序运行运行模版库的服务提供者收到有新模版到达的通知,于是查询這個新模版

本体和分类技术都前要辅助进行被提供模版和目标模版之间的自动匹配

在查询中,服务代理返回给服务提供者关于应用程序运行运行模版的完正信息

服务提供者最好的最好的办法模版开发新的服务,并提交到服务代理。服务代理最好的最好的办法模版中的信息对新服务进行校验和评估

一旦评估通过,服务代理通知应用程序运行运行构建者有可用的新服务

应用程序运行运行构建者评估和测试新的服务

一旦通过测试,应用程序运行运行构建者就将应用程序运行运行模版和新服务绑定,生成都前要运行的应用系统

商业SOA平台

IBM基于WebShpere的SOA Foundation Architecture

软件体系内部结构研究新方向

IEEE 1471标准

基于软件体系内部结构的软件工程

基于体系内部结构的软件开发最好的最好的办法

基于体系内部结构的软件组装

基于体系内部结构的软件测试最好的最好的办法

面向服务体系内部结构(Service-Oriented Architecture)

柔性软件体系内部结构

自适应的柔性软件体系内部结构

移动环境下的软件体系内部结构

自修复系统

支持代码移动的体系内部结构

动态软件体系内部结构的描述

柔性软件体系内部结构

柔性软件体系内部结构定义

柔性软件体系内部结构的行为

柔性软件体系内部结构的应用领域

软件体系内部结构研究新方向

IEEE 1471标准

基于软件体系内部结构的软件工程

基于体系内部结构的软件开发最好的最好的办法

基于体系内部结构的软件组装

基于体系内部结构的软件测试最好的最好的办法

面向服务体系内部结构(Service-Oriented Architecture)

柔性软件体系内部结构

自适应的柔性软件体系内部结构

移动环境下的软件体系内部结构

自修复系统

支持代码移动的体系内部结构

动态软件体系内部结构的描述

自适应软件体系内部结构

自适应软件体系内部结构是根据操作环境的变化而变化的体系内部结构

外界的变化包括用户输入、硬件设备输入、传感器信号、以及程序运行运行指令等

自适应软件体系内部结构前要处置的问题报告

在這個条件下系统趋于稳定改变

自适应软件体系内部结构应具有开放性质还是封闭性质

前要实现這個样的自适应程度

如可演算从而评估变化后带来的收益不是大于变化一种的成本

变化的频繁程度如可

自适应变化前要的原始信息有這個

自适应软件体系内部结构

自适应的基本内部结构

Monitor监控外界的变化

Adapt负责调整系统模型

Control负责将外界变化演算出模型变化,并作出变化决策

移动环境的自适应柔性软件体系内部结构

如可会移动环境前要动态自适应

移动环境下设备往往前要连续工作,对自身进行改变前要在运行时下进行

移动设备经受的操作环境的改变与固定的计算设备相比要频繁的多

使用移动设备的用户的需求也在不断改变

自适应体系内部结构示例:Rainbow

软件体系内部结构研究新方向

IEEE 1471标准

基于软件体系内部结构的软件工程

基于体系内部结构的软件开发最好的最好的办法

基于体系内部结构的软件组装

基于体系内部结构的软件测试最好的最好的办法

面向服务体系内部结构(Service-Oriented Architecture)

柔性软件体系内部结构

自适应的柔性软件体系内部结构

移动环境下的软件体系内部结构

自修复系统

支持代码移动的体系内部结构

动态软件体系内部结构的描述

移动环境应用实例

User Context

来自用户及环境的改变

System Context

来自系统一种的改变

Adaptation Middleware

负责将外界的变化映射到体系内部结构模型库中的备选模型

Architecture Model

储备的预先设计好的体系内部结构模型,是改变的基础

Adaptable Application

实际被应用的可动态改变的系统

如可会使用体系内部结构的最好的最好的办法

基于编程语言的最好的最好的办法

使用条件表达式

使用参数

使用异常

缺点

将软件行为和自行应的过程混杂起来

当引入新的适应机制式时前要修改少许代码,造成扩展性顶端

结论

采用移动顶端件来具体负责适应行为

移动顶端件

移动顶端件特点

足够轻量使其都前要运行在资源受限的手持设备上

支持异步通讯,使移动设备都前要用较短时间周期性访问网络,用以节省能源

都前要感知环境的变化、這個自身情况汇报、位置、都前要获得的服务等

移动顶端件所作出的推理前要简单有效,即推理得到的改变决策前要使系统有较大的收益

移动顶端件

顶端件都前要为处置分布是系统的基本通讯和管理问题报告 ,使开发者专注于业务流程

在移动环境下,动态服务和位置发现,从而动态的调整体系内部结构的内部结构是移动顶端件的核心思想

移动顶端件实例MADAM

使用MADAM构建的系统

移动顶端件的运行最好的最好的办法——可变属性

绑定属性实例

绑定属性实例(续)

移动柔性软件体系内部结构的发展

统一的、通用的体系内部结构模型和环境模型表示最好的最好的办法

如可更好的描述体系内部结构模型這個变化的基础

如可更好的描述环境模型這個变化的触发点

变化决策推理算法的设计范式

如可设计不还还还可以使推理算法都前要在资源受限的设备上流畅运行,并保证其结果的有效性

用户干涉对推理算法的影响

這個调整其他属性的计算权重

软件体系内部结构研究新方向

IEEE 1471标准

基于软件体系内部结构的软件工程

基于体系内部结构的软件开发最好的最好的办法

基于体系内部结构的软件组装

基于体系内部结构的软件测试最好的最好的办法

面向服务体系内部结构(Service-Oriented Architecture)

柔性软件体系内部结构

自适应的柔性软件体系内部结构

移动环境下的软件体系内部结构

自修复系统

支持代码移动的体系内部结构

动态软件体系内部结构的描述

自修复系统

自修修复系统的分类

内部内部结构修复:修复代码和常规代码集成到普通代码当中

内部内部结构修复:修复代码单独作为另二个多多构件趋于稳定于系统当中,与普通的代码互相隔离

自修复系统设计过程

体系内部结构设计

将系统分为两每段

体系内部结构管理器(AMR)和体系内部结构模型容器(AMC)

运行时环境(RE)和实际运行系统(RS)

自修复系统设计过程(续)

修复行为触发

运行时环境负责监控运行时系统的各个参数,并将数据发送给体系内部结构管理器

延迟信息

内存消耗

CPU占用

负载

系统异常

用户指令

修复行为

体系内部结构管理器负责分析分派的数据,并执行和校验体系内部结构的重新配置,并将决策的目标体系内部结构模型映射成运行时环境都前要接受的操作集

运行时环境对运行系统执行实际的修复操作

体系内部结构管理器内部结构



Change Analyzer负责将监控的数据转加带修复策略

Reconfiguration Manager负责将修复策略变换体系内部结构图

Verification Manager负责用体系内部结构约束和体系内部结构风格对转换进行校验

Reconfiguration Manager将修复策略映射为运行时环境都前要执行的指令输出

软件体系内部结构研究新方向

IEEE 1471标准

基于软件体系内部结构的软件工程

基于体系内部结构的软件开发最好的最好的办法

基于体系内部结构的软件组装

基于体系内部结构的软件测试最好的最好的办法

面向服务体系内部结构(Service-Oriented Architecture)

柔性软件体系内部结构

自适应的柔性软件体系内部结构

移动环境下的软件体系内部结构

自修复系统

支持代码移动的体系内部结构

动态软件体系内部结构的描述

支持代码移动的体系内部结构

代码移动

定义:都前要动态改变代码和代码所在位置绑定的能力

优点

在前要传输少许数据的情况汇报下,传输执行代码机会会更为快捷

使得代码具有自我决策的能力,在网络中自行传输

支持代码移动的基本内部结构

支持代码移动的运行环境内部结构

软件体系内部结构研究新方向

IEEE 1471标准

基于软件体系内部结构的软件工程

基于体系内部结构的软件开发最好的最好的办法

基于体系内部结构的软件组装

基于体系内部结构的软件测试最好的最好的办法

面向服务体系内部结构(Service-Oriented Architecture)

柔性软件体系内部结构

自适应的柔性软件体系内部结构

移动环境下的软件体系内部结构

自修复系统

支持代码移动的体系内部结构

动态软件体系内部结构的描述

动态软件体系内部结构的描述

SA通常是对系统的静态描述,机会前要改变体系内部结构则前要重新设计新的SA,这已不到适应现在太少再 的前要在运行时刻趋于稳定变化的系统的设计需求.则允许系统在执行过程中修改其体系内部结构,修改过程通常也被称为运行时刻的演化(即在线演化)或动态性。主要的变化体现在以下哪几块方面:

动态软件体系内部结构的描述

内部结构:软件系统为适应当前的计算环境往往前要调整自身的内部结构,比如增加或删除构件、连接子,这将原应着SA的拓扑内部结构趋于稳定显式的变化

行为:机会用户需求的变化机会系统自身QoS调节的前要,软件系统在运行过程中会改变其行为,比如机会安全级别的提高更换加密算法;将http协议改为https协议,行为的变化往往是由构件或连接子的替换和重配置引起的

属性:已有的ADL大都支持对非功能属性(non functional properties)的规约和分析,比如对服务响应时间和吞吐量的要求等,在系统运行的过程中這個要求机会趋于稳定改变,而這個变化又会进一步触发软件系统内部结构或行为的调整.属性的变化是驱动系统演化的主要原应着

风格:系统由一种体系内部结构风格演化成“衍生”的另外一种风格。這個两层C/S内部结构衍生成多层C/S内部结构,机会衍生成B/S内部结构

动态体系内部结构描述的约束

一致性

体系内部结构规约与系统实现的一致性,运行时刻的修改应及时地反映到规约中,以保证规约太少再过时

系统内部内部结构情况汇报的一致性,正在修改的每段不应被其他用户或模块更改

系统行为的一致性,若“管道-过滤器”风格的内部结构中增加另二个多多过滤器,则前要保证该过滤器的输入和输出与相连的管道的要求一致

体系内部结构风格的一致性,演化前后体系内部结构机会保持风格不变,机会演化为当前风格的“衍生”风格

完正性

系统的演化不到破坏SA规约中的约束

演化前后系统的情况汇报太少再丢失,以后系统将变得不“安全”,甚至不到正确运行.

动态体系内部结构描述的约束(续)

追溯性

传统的ADL采用逐步精化的最好的最好的办法将另二个多多抽象层次很高的ADL规约逐步精化为具体的可直接实现的ADL规约,在精化的过程中通过形式化的验证保证每一步精化都符合要求,满足可追溯性。

对于动态系统而言,追溯性除了前要满足静态设和层流手术室 阶段被满足,还前要被延伸到运行时刻,以保证系统的任何一次修改都会被验证,那我既利于软件的维护,也为软件的进一步演化提供了可分析的最好的最好的办法。

动态体系内部结构描述语言D-ADL

将构件行为进行分类

计算行为:计算行为和动态行为.计算行为面向系统的商业逻辑,处置业务功能中的数据信息

动态行为:面向系统的预定义演化逻辑,使系统太少再还还还可以自适应演化,以体系内部结构元素为处置对象,如增删构件、建立新的连接等.

基于高阶π演算

所有描述行为都可在高阶π演算中找到对应表示

具有强有力的形式化基础,都前要对软件体系内部结构行为作深入的推理和规约

对高阶π演算进行扩充

对于其他不到使用高阶π演算方便表示的概念(间接都前要表示)进行了扩充

提供了构件动态行为new、attach和detach的语法概念

动态体系内部结构描述语言D-ADL(续)

动态体系内部结构描述语言D-ADL(续)

动态体系内部结构描述语言D-ADL(续)

假设订购服务器(merchant)趋于稳定错误而死机或崩溃时,系统前要自动重新启动另二个多多服务器实例,并将客户请求导向新的服务器,使服务不致中断.這個具有自动切换功能的商品订购系统的体系内部结构D-ADL描述如下:

compositecomponent TDynamicOrderSystem() {

port {environment: Tenvironment.}

. . .

choreographer {

via environment∧servermessage receive sign.

if sign = 0 then {

detach merchant∧port1 from cmlink∧portl-m1.detach merchant∧port2 from cmlink∧portl-m2.

delete merchant.

new merchant:Tmerchant().

attach merchant∧port1 to cmlink∧portl-m1.attach merchant∧port2 to cmlink∧portl-m2. }

replicate

}

}

动态体系内部结构描述语言D-ADL(续)

在接收到客户订购请求后,商家根据情况汇报挑选不是太少再还还还可以满足订购请求的实际过程是订购服务器向仓储服务器查询不是有足够供货. 以下代码体现了系统“求精”的过程,加带了第另二个多多端口Portm3

atomiccomponent Tmerchant() {

port {portm1:Tcaccess. portm2:Tmaccess.portm3:Tinquire}

computation {

choose {

{via portm1∧order receive orderdata. via portm3∧inquire send orderdata.

via portm3∧answer receive result.

if result then

{ unobservable. via portm1∧response send record(true,payment)}

else

{unobservable. via portm1∧response send record(false,0)}

},

{via portm2∧pay receive payment.unobservable.via portm2∧confirm send confirmation}}

replicate }

}

体系内部结构动态演化系统的设计

反射

反射(reflect)是指计算系统通过与自身情况汇报和行为具有因果互联的系统自述,以描述、推理和操纵自身的能力

都前要将体系内部结构含晒 在系统当中作为元数据,并对外提供访问接口,以实现对系统的体系内部结构进行运行时控制

体系内部结构在线演化的实施

体系内部结构在线演化的校验

使用类型系统检测一致性

将体系内部结构风格衍生路线设计为继承的类型体系,体系内部结构演化不到沿着继承路线向子类型前进

将构件接口类型化,在改变构件连接关系前要保证新的连接的类型一致

使用事务处置机制确保演化不被恶性中断

每次演化的其他列操作有的是另二个多多事务当中进行

演化趋于稳定错误时完正操作回滚

在分布式系统当中,事务可保证在线演化操作的在并行访问的情况汇报下的正确性

连接器的形式化重用

连接器的形式化重用

通过重用旧有的、相对简单的连接器来得到新的、较为繁复的连接器,就都前要获得一种增量式的连接器开发最好的最好的办法,从而提高软件开发的质量和强度

具有形式化基础(這個使用CSP)使得新的连接器定义都前要进行形式化检测

连接器组合元操作

角色(Role)元操作

Substitute:角色的替代。都前要实现用另二个多多角色来充当那我机会定义的角色

ConcurrencyMerge:角色的并行合一。都前要实现用另二个多多角色来一块儿充当多个机会定义的角色,以后它“扮演”的多个角色之间应并行协调

AlternativeMerge:角色的挑选合一。都前要实现用另二个多多角色来完成多个机会定义的角色的功能,以后在每一次完正的交互中该角色不到充当其中的某另二个多多角色

连接器组合元操作(续)

Choice:该操作将另二个多多机会多个粘结应用程序运行运行挑选地组合起来。這個挑选机会是上述的不挑选性挑选,也机会是挑选的挑选,即挑选权在其所在环境的挑选。机会它所规范的角色在某次完正的交互中太少再参与的初始事件仅被某个子粘结应用程序运行运行所允许,这么组合粘结应用程序运行运行就挑选该子粘结应用程序运行运行去承担该次交互的协调任务;以后,机会角色太少再参与的初始事件为多个子粘结应用程序运行运行所允许,这么它就会任意挑选其中的某个子粘结应用程序运行运行去承担此次交互的协调任务。

连接器组合元操作(续)

Interleave:该操作将另二个多多机会多个粘结应用程序运行运行交错地组合起来。机会用這個组合得到的粘结应用程序运行运行去协调和约束某个角色的行为,这么该角色无论何前要想参与某另二个多多事件,只需得到某个子粘结应用程序运行运行的允许即可。当然,机会此时有多个子粘结应用程序运行运行都允许该事件趋于稳定,这么组合粘结应用程序运行运行就会任意挑选其中的某个子粘结应用程序运行运行去承担允许该事件趋于稳定的责任。



连接器组合元操作(续)

粘连(Glue)元操作

Parallel:该操作将另二个多多机会多个粘结应用程序运行运行并行地组合起来。机会用這個组合得到的粘结应用程序运行运行去规范某个角色行为,这么该角色无论何前要想参与某另二个多多事件,都前要得到各个子粘结应用程序运行运行的一块儿允许。

Decision:该操作将另二个多多机会多个粘结应用程序运行运行不挑选性挑选地组合起来。这里的不挑选性挑选指的是:组合得到的粘结应用程序运行运行究竟挑选哪另二个多多子粘结应用程序运行运行去规范角色的某一次完正的交互行为,由其自身来决定。

连接器组合元操作(续)

Follow:该操作将另二个多多机会多个粘结应用程序运行运行顺序地组合起来。用這個组合得到的粘结应用程序运行运行依次用其子粘结应用程序运行运行去协调和约束其所规范的角色的行为,当然,后续的子粘结应用程序运行运行要想承担這個责任,前要满足前行的子粘结应用程序运行运行太少再还还还可以成功终止。

Interrupt:该操作将另二个多多机会多个粘结应用程序运行运行顺序中断地组合起来。用這個组合得到的粘结应用程序运行运行都前要随着后续子粘结应用程序运行运行初始事件的趋于稳定,用后续的子粘结应用程序运行运行去中断和接替前行的子粘结应用程序运行运行,并获得协调和约束角色的责任。

Lightning:该操作都前要看作是Interrupt的一种特殊情况汇报,它将另二个多多粘结应用程序运行运行顺序中断地组合起来。但与Interrupt不同的是,前行子粘结应用程序运行运行被中断太少再说取决于后续子粘结应用程序运行运行初始事件的趋于稳定,以后我某个被定义的中断事件。为了表示這個特殊事件,让当我们 儿把它作为第二个参数引入到Lightning函数中。

连接器组合示例

连接器组合法性检测

检查1:连接器的每个角色有的是无死锁的

这是对连接器角色内部内部结构相容性的检测。机会组合连接器的每个角色是在重用已有连接器的角色基础上得到的,以后,這個检查都前要分为一种情况汇报:若组合连接器的某个角色是通过替换机会挑选合一得到的,这么对子连接器相应角色的检查结果仍然适用于组合连接器的這個角色;若组合连接器的某个角色是通过并行合一得到的,这么就前要重新检查。机会对于另二个多多并行合一的角色应用程序运行运行,机会会出先那我的问题报告 :在某个过后,嘴笨 它的子角色都所有人能参与其他事件,但它却不到参与任何另二个多多事件。

检查2:连接器是无死锁的

這個相容性的检查是对连接器整体的检查。以后,检查1机会通不过,也会反映到检查2中。角色规范了充当嘴笨 例的组件预期要趋于稳定的行为,而粘结规范的是对這個行为的协调与约束。角色规范与粘结规范不是会出先矛盾,就前要用检查2来考察。



本学期课程到此现在现在开始

清华大学软件工程与管理学院