2011-5-28
大作业参考资料:
1•试就一种常用软件体系结构说明其概念、结构模型与应用领域,并结合该体系结构的应用,用一种ADL来描述该体系结构。
2•结合某一应用,编写一个XML文档,并将其与一个XMLScheme对应起来,最时刻的元素的建模支持,类似版本,选项和变量等更高级的配置管理观念,,.
各种ADL的出现为描述软件系统的结构提供了一种形式化的描述方法,,从而有助于提高软件开发质量,降低开发成本.
以下我们将着重介绍五种ADL:UniCon,Darwin,C2SADL,Acme和xADL.
常见的体系结构描述语言
UniCon(UniversalConnector)
UniCon简介
UniCon是由CMU和SEI设计的一个体系结构描述语言•该语言关注软件体系结构的结构化特性,将系统(本身也是一个复合构件)描述为构件和连接子的配置,其中构件表示计算或者数据,(player)•构件通过这些演员与外界发生交互•与构件类似,一个连接子的协议对外提供一些角色(role),-1是用UniCon的图形化编辑器生成的示意图.
UniCon概念的示意图图-1中有两个构件,构件A和构件B,它们都是Unix中的过滤器•这两个构件都有三个演员,用三角形表示•左边的演员表示输入流"standardin",右边的演员是输出流"standardour"和"standarderror".两个构件之间是一^连接子,它是Unix下的管道•这个连接子有两个角色:悬垂在左边的表示管道的入口(source),右边的表示管道的出口(sink).
在上图中,构件和连接子之间还没有交互•为了在构件之间建立连接,演员必须和某个角色关联起来•如图-2所示.
在UniCon建立连接
通过演员与角色的关联,最终就可以建立整个系统各个部分之间的配置•最新版本的UniCon不仅支持类似于上例的管道-过滤器系统,还支持使用过程调用和共享数据的模块交互系统,基于RPC调用的分布式系统,根据各种实时要求共享处理器的进程以及基于SQL命令的数据库访问.
UniCon的提出是为了达到如下目的:解决系统描述和组装的实际问题,为实际工具提供一个原型;
为各种连接机制提供一个一致的访问方式帮助软件设计师区分不同的构件类型和连接子类型并验证构件和连接子配置的
正确性
支持图形化和文本化符号以及二者之间的互换
兼容现存的用常见的编程语言编写的构件(这些构件并不需要特定于UniCon)尽可能的将运行时开销降到最低
以下将具体介绍UniCon中构件和连接子的定义.
UniCon中的构彳牛
UniCon中的构件定义包括规约部分和实现部分.
构件的规约称为构件的接口(interface).接口定义了构件所能进行的计算以及使
:构件类型:构件类型表示构件提供的功能的类型,它限制了该构件所能定义的演员的数量,类型和规约.
特性:由属性和值组成的二元组,用于指定与构件整体相关的附加信息,例如断言,约束等.
演员:从构件外部可见的语义单元,:
构件的实现有两种形式:
原子(primitive)实现:原子实现是一个指向存在于UniCon语言外部的文档链接,该文档包含了相应的构件实现•它可能是某种编程语言的源代码(目前UniCon工具集仅仅支持C语言的源代码),也可以是目标码,或者是包含目标码的Unix档案库文件,或者是二进制可执行文件,shell脚本,数据文件,C语言的include文件等复合(composite)实现:某个UniCon构件的复合实现是对其它已定义的构件和连接子的配置的描述,该实现包含三类信息:
片段(piece):用于构造某个配置的构件和连接子实例
配置信息:描述构件和连接子的关联
抽象信息::
UniCon中的连接子
连接子的定义也包含规约和实现两个部分,其中规约部分通过协议(protocol)进
,:连接子类型:连接子类型表示连接子所能调解的构件之间的交互类型,它限制了连接子的角色的数量,:由属性和值组成的二元组,用于指定和连接子
软件体系结构描述语言(ADL) 来自淘豆网m.daumloan.com转载请标明出处.