欢迎来到天天文库
浏览记录
ID:12863819
大小:64.50 KB
页数:8页
时间:2018-07-19
《软件体系结构的描述方法》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、软件体系结构的描述方法张友生(转载自程序员) 2003年04月14日 从软件体系结构研究和应用的现状来看,当前对软件体系结构的描述,在很大程度上来说还停留在非形式化的基础上,很大程度上依赖于软件设计师个人的经验和技巧。在目前通用的软件开发方法中,其对软件体系结构的描述通常是采用非形式化的图和文本,不能描述系统期望的存在于构件之间的接口,更不能描述不同的组成系统的组合关系的意义。这种描述方法难以被开发人员理解,难以适于进行形式化分析和模拟,缺乏相应的支持工具帮助设计师完成设计工作,更不能用来分析其一
2、致性和完整性等特性。 因此,形式化的、规范化的体系结构描述对于体系结构的设计和理解都是非常重要的。然而,要实现体系结构设计、描述等的形式化并不是一蹴而就的,我们必须先经历一个非形式化的过程,在非形式化的发展过程中逐步提取一些形式化的标记和符号,然后将它们标准化,从而完成体系结构设计、描述等的形式化。 本文首先简单地介绍传统的软件体系结构描述方法,然后再比较详细地讨论软件体系结构描述语言。 一、传统软件体系结构描述方法 1、图形表达工具 对于软件体系结构的描述和表达,一种简洁易懂且使用广泛的方
3、法是采用由矩形框和有向线段组合而成的图形表达工具。在这种方法中,矩形框代表抽象构件,框内标注的文字为抽象构件的名称,有向线段代表辅助各构件进行通讯、控制或关联的连接件。例如:图1表示某软件辅助理解和测试工具的部分体系结构描述。 目前,这种图形表达工具在软件设计中占据着主导地位。尽管由于在术语和表达语义上存在着一些不规范和不精确,而使得以矩形框与线段为基础的传统图形表达方法在不同系统和不同文档之间有着许多不一致甚至矛盾,但该方法仍然以其简洁易用的特点在实际的设计和开发工作中被广泛使用,并为工作人员传递
4、了大量重要的体系结构思想。 为了克服传统图形表达方法中所缺乏的语义特征,有关研究人员试图通过增加含有语义的图元素的方式来开发图文法理论。 2、模块内连接语言 软件体系结构的第二种描述和表达方法是采用将一种或几种传统程序设计语言的模块连接起来的模块内连接语言MIL(ModuleInterconnectionLanguage)。由于程序设计语言和模块内连接语言具有严格的语义基础,因此他们能支持对较大的软件单元进行描述,诸如定义/使用和扇入/扇出等操作。 MIL方式对模块化的程序设计和分段编译等程序
5、设计与开发技术确实发挥了很大的作用。但是由于这些语言处理和描述的软件设计开发层次过于依赖程序设计语言,因此限制了他们处理和描述比程序设计语言元素更为抽象的高层次软件体系结构元素的能力。 3、基于软构件的系统描述语言 软件体系结构的第三种描述和表达方法是采用基于软构件的系统描述语言。基于软构件的系统描述语言将软件系统描述成一种是由许多以特定形式相互作用的特殊软件实体构造组成的组织或系统。 这种表达和描述方式虽然也是较好的一种以构件为单位的软件系统描述方法,但是他们所面向和针对的系统元素仍然是一些层
6、次较低的以程序设计为基础的通信协作软件实体单元,而且这些语言所描述和表达的系统一般而言都是面向特定应用的特殊系统,这些特性使得基于软构件的系统描述仍然不是十分适合软件体系结构的描述和表达。 二、体系结构描述语言 软件体系结构的第四种描述和表达方法是参照传统程序设计语言的设计和开发经验,重新设计、开发和使用针对软件体系结构特点的专门的软件体系结构描述语言ADL(ArchitectureDescriptionLanguage),由于ADL是在吸收了传统程序设计中的语义严格精确的特点基础上,针对软件体系
7、结构的整体性和抽象性特点,定义和确定适合于软件体系结构表达与描述的有关抽象元素,因此,ADL是当前软件开发和设计方法学中一种发展很快的软件体系结构描述方法。 ADL是这样一种形式化语言,它在底层语义模型的支持下,为软件系统的概念体系结构建模提供了具体语法和概念框架。基于底层语义的工具为体系结构的表示、分析、进化、细化、设计过程等提供支持。其三个基本元素是: ※构件:计算或数据存储单元; ※连接件:用于构件之间交互建模的体系结构构造块及其支配这些交互的规则; ※体系结构配置:描述体系结构的构件与
8、连接件的连接图。 主要的体系结构描述语言有Aesop、MetaH、C2、Rapide、SADL、Unicon和Wright等,尽管它们都描述软件体系结构,却有不同的特点。Aesop支持体系结构风格的应用,MetaH为设计者提供了关于实时电子控制软件系统的设计指导,C2支持基于消息传递风格的用户界面系统的描述,Rapide支持体系结构设计的模拟并提供了分析模拟结果的工具,SADL提供了关于体系结构加细的形式化基础,Unicon支持异构的构件和连接类型并提
此文档下载收益归作者所有