论文部分内容阅读
随着计算机网络技术的发展,开放、分布、异构的分布式系统由于在资源共享、高可用性、并行处理等方面巨大优势,成为当前计算机应用系统的主流,其系统规模的不断扩大,演化和维护要求的不断提高,以及其特有的分布性、异构性和自治性等成为长期困扰和制约开发的主要困难。大量研究和软件开发实践表明,引入软件体系结构作为指导分布式系统开发与构件组装的蓝图,是控制软件复杂性、提高软件质量、支持软件开发、演化、复用和维护的重要手段,是解决分布式系统开发困境,成功构造分布式系统现实、有效的途径。因此,如何通过软件体系结构提升分布式系统开发的质量和效率,保证系统维护和演化空间,是分布式系统开发中的关键,也是本文研究的核心内容。一个可行的思路是通过形式化方法保证对分布式系统体系结构严格的抽象和验证,通过使其具有动态性而满足对于环境和需求变化的适应,最后通过有效的手段保证其从分布式系统软件设计初期贯穿到软件实现阶段,在整个软件生命周期有效的控制开发与演化。基于以上思路,在分析当前分布式系统开发方法与支持手段不足和问题的基础上,本文针对软件体系结构和分布式系统交互风格的形式化描述、体系结构求精与映射、演化与重构以及体系结构驱动下的分布式系统开发方法等进行了研究,并用实际的案例进行了说明。具体的研究成果和主要贡献有:(1)提出了一个适合分布式系统的体系结构抽象模型DSAM,给出了其形式化模型,以此为基础,设计实现了一个基于属性文法的软件体系结构描述语言Dis_ADL和基于CCs的分布式构件交互风格描述语言Discid。Dis_ADL支持对分布式系统进行规约、分析、验证、求精,通过对软件体系结构形式化描述和图形描述双重支持,提供了易用性和语义严格的统一,也具有适应环境和需求变化的动态配置能力;Discid针对分布式系统交互协议复杂,构件交互设计困难的问题,提出了一个可视化交互设计的解决方案,可以很好的对分布式系统交互中同步、并发、死锁等动态特性进行直观描述、严密分析和性质验证,极大的方便了分布式系统中最为关键的交互风格的设计。(2)提出了体系结构求精的指导原则,并设计了一套从软件体系结构描述Dis_ADL到软件实现层面通用设计模型UML的映射规则,把求精验证后体系结构元素映射到可编码设计元素,缩小设计和实现间的距离,使软件体系结构的理论研究指导软件开发实践的作用更为突出。(3)提出一种在模糊聚类分析基础之上进行软件体系结构重构,进而通过将设计结构矩阵相关理论和包模式识别技术相结合对重构的体系结构进行分析的方法,不但可以发现和定位违背设计实现,解决了开发过程中软件体系结构设计和软件实现的一致性丢失问题,使真实系统与体系结构保持一致,而且可以使其与软件实现更好同步演化,使软件体系结构在整个分布式软件生命周期中发挥其指导作用。(4)提出了体系结构驱动的分布式系统开发方法ADiSC,建立了分布式系统开发的生命周期模型,在分布式系统整个生命周期中引入体系结构支撑。通过将软件体系结构自项向下的指导和自底向上基于构件组装的软件开发方法相结合实现对系统的构造;通过软件体系结构不断求精、映射,使得需求向设计、实现平缓转化,体系结构设计向面向对象设计的自动转化,极大缩小了从系统高层设计到软件实现之间的距离;通过体系结构重构分析保证真实系统与软件体系结构在开发与演化过程中的一致性,使得软件体系结构可以贯穿并有效指导整个分布式系统的开发维护过程。ADiSC方法使得分布式系统开发既具有严格的理论基础,又具有规范的工程原则。(5)在此基础之上,设计并实现了一个可视化支持分布式软件体系结构构造、规约、分析、求精、重构的设计建模环境ADisDTool,极大减轻了分布式系统设计人员的认知难度,保证开发质量,极大地提高了系统的设计效率。同时,在本文中我们也给出了应用案例进行分析,展示了相关主要方法有效性。