您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 基于Z-ADL语言的动态体系结构描述语言
软件体系结构课程论文——动态体系结构描述语言Z-ADL动态体系结构描述语言Z-ADL摘要:软件动态演化已成为软件发展的新动力,为便于软件体系结构的形式化描述,对现有的一些ADL扩展以支持体系结构的动态性。本文简要介绍一种基于Z-ADL语言的动态体系结构,可通过对构件、连接件添加和删除实现软件的动态演化。关键词:软件动态体系结构;体系结构描述语言;Z-ADL引言体系结构语言(ADL)使用符号标记把系统分解成构件和连接件,并且说明了这些元素如何连接在一起构成一个配置。它不但是形式化描述软件体系结构的基本工具,而且还是对软件体系结构进行求精、验证、演化和分析的前提和基础。而Z-ADL是以Z语言完全形式化描述为基础,能够更好地描述其动态性。1软件动态体系结构软件体系结构通常是对系统的静态描述,如果需要改变体系结构则必须重新设计新的软件体系结构,这已不能适应现在越来越多的需要在运行时刻发生变化的系统的设计需求。动态软件体系结构则允许系统在执行过程中修改其体系结构,体系结构的动态变化可分为结构、行为、属性和风格这几个方面。体系结构一般指系统的组织结构,它们之间的关联关系以及支配系统设计的原则和方针。一个体系结构的软件结构包括构成体系计算单元的构件,规范构件间交互行为的连接件以及构件和连接件如何组成一起的配置组成。Z语言是一种基于集合理论和一阶谓词逻辑的形式语言或方法。Z语言支持软件的形式化规格、规格的推理及求精,是迄今为止应用最为广泛的形式语言之一。同时,Z语言支持数据抽象和过程抽象,并可将其表示为,表示操作抽象。在表示抽象中,数据从数据结构的表示细节抽象出来,使用关系、函数、集合、序列、包等;而操作抽象则描述了在数据抽象中所引入的数据上的抽象算法与操作。模式是Z语言的基本描述单位,一个软件系统的Z语言主要是由若干个模式构成,这些模式刻画了系统的静态性质和动态行为。一个模式有一个唯一的名称,并包括一个声明部分和一个断言部分或谓词部分。模式的声明部分引人了某些类型的变量,这些变量为模式内的局部变量;断言部分描述了在这些局部变量之间,或者局部变量与在该模式之前声明的全局变量之间的不变式关系。2Z-ADL动态描述Z-ADL是Z语言的一种扩展,利用Z语言这种模式结构来描述ADL的动态特性,其描述规则如下:(1)构件可以表示一个数据类型,接口同样可以表示一个数据类型。同样,连接件和接口也可以表示数据类型。(2)接口是用来表示接受还是发出请求的,其接口应该是属于{receive,send}这两种类型,其定义了接口的具体行为。(3)模式名字可以定义一个具体的接口、构件或系统,其模式可包括其他的模式来表示其结构和行为。(4)构件之间的连接是通过连接件来实现的,其连接行为也可以定义是一个类型。体系结构语言就是从语义与语法上来描述了体系结构中构件、连接件和配置,其结构如图1所示。图1体系结构语言示意图2.1构件Z-ADL描述在Z-ADL中,对构件的描述包括接口和计算。接口由多个端口组成,每个端口表示构件参与的一种交互;计算表明了构件行为。如图1中的Componentl和Component2,两构件是通过连接件Connector1连接的,从而实现了两个构件的相互通信。构件的Z-ADL描述如下:ComponentPort1:portPort2:portPort1∈receivePort2∈send#(Port1)3^#(Port1)8#(Port2)=5^#(Port2)=1其中,#(Port)为端口接收或发出数据长度。2.2连接件Z-ADL描述连接件是一种特殊的构件,旨在建立构件间的交互以及支配这些交互规则。连接件依据接口和路由行为描述,连接件的接口也是由一组端口构成。连接件的Z-ADL描述为:ConnectorPort1:portPort2:portPort3:portPort4:portPort2Port1∈receivePort3Port4∈send#(Port1)3^#(Port1)8#(Port2)=5^#(Port2)=1配置Z-ADL描述配置是实现构件与连接件之间的连接,从而形成一个完整的系统。配置的Z-ADL描述为:SystemComponent1:componentComponent2:componentConnector1:connectorPort1,Port2,Pan3,Port4:portPorts,Port6,Port7,Port8:portComponent1toComponent2:component^connector^componentPort1,Port2∈Component1Port3,Port4,Port5,Port6∈Connector1Port7,Port8∈Component1Component1toComponent2=Component1.Port1^Connector1.Port3Component1.Port2^Connector1.Port4Component1.Port5^Connector2.Port7Component1.Port6^Connector2.Port8#(Port1)3^#(Port1)8#(Port2)=5^#(Port2)=10Port1,Port4,Port6,Port7∈receivePort2,Port3,Port5,Port8∈send其中^为连接关系,R^Q为R与Q相连,可表示一种数据类型。3结语本文提出的基于Z-ADL语言的动态体系结构描述,完全可以描述软件的动态演化过程.下一步的研究可通过动态体系结构的具体环境来选择合适的体系结构语言,从而达到体系结构动态演化的正确性。
本文标题:基于Z-ADL语言的动态体系结构描述语言
链接地址:https://www.777doc.com/doc-2535385 .html