论文部分内容阅读
基于构件的软件复用和开发被认为是提高软件开发效率和质量的有效途径,并在分布式系统中得到了广泛的应用。但是,目前的软件构件技术主要还是着眼于二进制构件和构件实现模型(如EJB、COM+和CORBA),缺乏一套系统的方法以指导整个软件开发过程。最近,定位于弥补需求和底层设计编码之间跨度的软件构架SA(亦称为软件体系结构Software Architecture)研究有很大的进展。但现有的构架描述语言(ADL)对体系结构的求精和实现的支持能力明显不足,缺乏与主流技术进行有效地整合。由于目前主流的设计和实现语言都是面向对象的,如何从高层抽象的SA模型转换到具体的底层实现一直都没有一个比较好的解决方法。 基于以上问题,本文提出了一个基于构件的面向软件构架的分布式系统组装CAOSC(Component-based Architecture-Oriented distributed System Composition)软件开发方法,提供了一个基于构件复用的有效的自动解决方案。首先设计了一个基于构件的分布式软件体系结构形式化描述语言ADEAG,并借助JavaCC实现了其编译器;第二,设计并实现了一个以ADEAG为基础的分布式系统可视化建模工具CDisTool,允许用户以图形的方式对分布式系统体系结构进行构件化的分析、设计,并且通过CDisTool可以将体系结构的图形表示转化为ADEAG文本表示;第三,提出了一种独立于构件实现的、支持形式化分析与动态测试的构件交互模型,设计并实现了一个基于该模型的交互风格定义语言Dicide;第四,借助统一建模语言UML设计了一个从ADL描述的高层构架映射到OO设计的一系列映射规则和机制,以及自动求精映射工具ADEAG2UML。最后,通过一个实际例子展示了我们的技术思路和开发方法,表明本文给出的解决方案是可行和有效的。