论文部分内容阅读
随着软件系统的规模和复杂度的不断增大,软件开发所关注的焦点已不再是算法和数据结构,而是作为软件系统总体结构和组织的软件体系结构。软件体系结构在软件系统的设计和实现中具有重要的作用,逐渐成为软件工程领域的研究热点。另一方面,计算机辅助软件开发CASE(Computer Aided Software Engineering)技术越来越为众多的软件开发人员所接受,CASE工具和CASE环境得到了广泛的应用。因此,针对软件体系结构的计算辅助开发手段和支撑工具成为一个重要的研究方向。
在总结现有的软件体系结构描述机制及其支撑工具的基础上,本文认为构建一个理想的软件体系结构支撑工具需面对如下挑战:首先,要有兼具可视化符号和精确语义的软件体系结构描述框架;其次,要支持体系结构风格的刻画和基于风格复用的软件体系结构实例开发;第三,要支持软件体系结构的动态重配置行为;第四,要支持基于体系结构的软件开发过程;第五,要提高工具的启发性和用户友好性,能将软件体系结构相关的领域知识和专家经验融入到工具之中。
为应对这些挑战,本文的工作从以下几个方面展开:
1.提出了一种基于属性图文法的软件体系结构描述机制。图文法直接以图为主要处理对象,直观、生动,符合人们的认知习惯,并具有较为完善的理论支持,可满足体系结构精确建模和分析的需要;图文法作为一种元级语言,支持用户定义的图语言,从而支持定制体系结构风格和该风格语境下的体系结构构造和操纵;图文法还是一种基于规则的系统,可以方便地刻画动态体系结构的各种重配置行为。
2.提出了一种图文法制导的可视化工具生成机制。以全手工的方式为软件体系结构模型创建特定的支撑工具代价高昂,为此我们需要一种类似MDA的途径来满足模型驱动的工具生成。基于图文法的软件体系结构描述本质上是一种领域建模语言(Domain-Specific Language,DSL),因此我们借鉴了一种元建模技术,其核心思想是由领域专家按需定制领域建模语言,然后通过模型转换等代码生成技术自动获得支持该领域建模语言的建模工具。考虑到图文法与普通的元模型相比具有丰富的语义信息,弥补了元模型不能指导模型实例生成的缺陷,我们在元建模的基础上融入了图文法制导的编辑思想。
3.设计并实现了一个原型系统Artemis-GADE。将上述思想和技术应用于服务协同开发工具Artemis-COOR当中,成功地为其搭建了基于软件体系结构的可视化集成开发环境Artemis-GADE。Artemis-GADE实现了图文法制导的软件体系结构的可视化编辑。在此基础上,它还对以体系结构为中心的协同应用开发的各个阶段,尤其是基于体系结构动态重配置的系统在线演化提供了良好的支持。