首页 理论教育 软件体系结构描述语言的探讨

软件体系结构描述语言的探讨

时间:2023-06-28 理论教育 版权反馈
【摘要】:目前已出现了许多ADLs,比较典型的如Acme、C2 SADL、Rapide等,一些ADLs甚至提供了形式化的定义,可以更确切地给出软件体系结构中设计元素和约束的语义,并分析其性质。Acme是一种软件体系结构描述语言,旨在解决目前出现的众多ADLs之间的不兼容问题。Acme允许不同的ADLs和相应的支持工具共享公共的软件体系结构信息,同时提供了开放的语义框架,支持对特定的ADLs表示的信息进行规约。

软件体系结构描述语言的探讨

在目前通用软件开发方法中,对软件体系结构的描述通常是采用非形式化的图和文本;而在研究工作中,则采用了一些形式化的描述语言

1.图形表达

对软件体系结构的描述和表达,一种简洁易懂且使用广泛的方法是采用由矩形框和有向线段组合而成的图形表达工具。在这种方法中,矩形框代表抽象构件,框内文字标注为抽象构件的名称,有向线段代表辅助各构件进行通信、控制或者关联的连接件。图8-3和图8-4采用的就是图形表达的方式。

2.模块内连接语言

这种方法是采用将一种或几种传统程序设计语言的模块连接起来的模块内连接语言(Module Interconnection Language,MIL)。因MIL具有严格的语义基础,所以它们能支持对较大的软件单元进行描述,如定义/使用和扇入/扇出等操作。例如,Ada语言采用use实现包的重用。

3.基于构件的系统描述语言

这种方法采用基于软构件的系统描述语言。基于软构件的系统描述语言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构成组成的组织或系统。例如,一种多变配置语言(Proteus Configuration Language,PCL)就可以用在一个较高的抽象层次上对系统的体系结构建模。

4.软件体系结构的描述语言(www.xing528.com)

软件体系结构描述语言(Software Architecture Description Languages,SADLs或ADLs)提供了描述系统体系结构的具体语法和概念框架,主要成分包括计算构件、连接构件和系统复合机制。目前已出现了许多ADLs,比较典型的如Acme、C2 SADL、Rapide等,一些ADLs甚至提供了形式化的定义,可以更确切地给出软件体系结构中设计元素和约束的语义,并分析其性质。软件体系结构的形式化描述一般采用Z框架,通信顺序进程或化学抽象机等。

下面简单介绍一下Acme软件体系结构的描述语言。

Acme是一种软件体系结构描述语言,旨在解决目前出现的众多ADLs之间的不兼容问题。一方面,Acme提供了一个统一的结构化框架,描述公共的软件体系结构信息;另一方面通过注释的方法,刻画特定于某种ADL的信息。

在Acme中,计算构件表示系统的处理和数据存储单元,如客户、服务器、过滤器、模块和数据库等。计算构件的接口由一组端口定义,每个端口标识了计算构件和环境之间的一个交互点。连接构件表达了计算构件之间的交互,协调计算构件之间的通信与合作,它们提供了软件体系结构设计的“胶水”,如管道、过程调用、异步事件广播、客户—服务器协议等。连接构件的接口规定了一组表达交互的角色,当某个计算构件的端口与连接构件的角色进行匹配时,该计算构件就扮演了这一角色。系统是计算构件和连接构件的具体配置,一个系统包括一组计算构件、一组连接构件和一组描述系统拓扑结构的关联,关联就是对计算构件的端口和连接构件的角色进行匹配。图8-7给出了Acme中的主要元素。

Acme允许不同的ADLs和相应的支持工具共享公共的软件体系结构信息,同时提供了开放的语义框架,支持对特定的ADLs表示的信息进行规约。这样,Acme就为不同的ADLs提供了公共的软件体系结构信息交换格式,并期望建立一个通用的基础框架,在开发新的、可能是面向特定领域的ADLs时加以扩展。

978-7-111-33186-5-Part01-331.jpg

图8-7 Acme中的主要元素

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈