什么是软件体系结构描述语言(ADL)

软件体系结构描述语言(Architectural Description Language)简称ADL,是用来描述软件密集型系统的总体结构语言,是软件体系结构领域的一个重要研究成果。ADL从较高抽象层次上描述构件接口的语法和语义、系统中的构件和连接子以及它们之间的交互关系、构件的非功能属性以及构件间协议,从而建立系统的体系结构模型。但是大多数ADL只描述系统的静态结构,不支持对体系结构动态性的描述。UML作为体系结构建模工具,它不是一种体系结构的描述语言,而是一种设计语言。因此开发动态软件ADL是很有必要的。近年来代表性的体系结构描述语言有Dynamic Wright、Darwin、Z语言等。

1.Dynamic Wright

Dynamic Wright是体系结构描述语言Wright的一个扩展,Dynamic Wright的主要目的是试图模拟或标记已解决软件系统的动态性。采用Dynamic Wright具有较多的良好特性,其中之一就是能够很容易地描述软件的动态环境。

在客户—服务器的体系结构中,如果设计师想要对客户(Client)的每一步工作所依赖的服务器(Server)进行说明,比如Client最初是依赖于Server1的,当且仅当Server1出现问题时,Client将与Server2进行交互。因此,设计师必须用一个符号来表示每一个接触点L。

2.Darwin

Darwin是一个用于描述系统配置规划的ADL,它把一个程序看成是由不同级别的构件进行相应的配置。相对于其他的ADL,老程序员在使用Darwin上显得更容易些。Darwin具有很多其他ADL的图形表示和文本表示的特点,Darwin与其他的ADL的主要不同之处在于:Darwin具有一个用于对构件所需要的和提供的服务进行指定的规则。

在Darwin中,服务的命名是局部命名(如next和output),每一个服务需要被局部地指定,也就是说每一个构件能够从系统中分离出来并且进行独立测试。Darwin对于表示体系结构构件的开发和设计是一个相当成熟的工具,但是Darwin在其他方面的描述上并不是完美的。

3.Z语言

Z语言是一种基于集合理论和一阶谓词逻辑的形式语言或方法,支持软件形式化规格的推理及求精,是迄今为止应用最为广泛的形式语言之一。模式是语言的基本描述单位,一个软件系统主要是由若干个模式构成,这些模式刻画了系统的静态性质和动态行为。

采用扩展的Z语言来描述软件体系结构的动态特性,其描述规则如下:

(1)构件可以表示一个数据类型,接口同样可以表示一个数据类型,连接件和接口也可以表示数据类型。

(2)接口是用来表示接收还是发出请求的,其接口应该是属于{receive,send}两种类型,定义了接口的具体行为。

(3)模式名字可以定义一个具体的接口构件或系统,其模式可包括其他的模式来表示其结构和行为。

(4)构件之间的连接是通过连接件来实现的,其连接行为也可以定义是一个类型。

版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。http://www.apmygs.com/524.html
返回顶部