论文部分内容阅读
21世纪,Internet已经深入到人们生活的方方面面,不同于传统的软件应用,基于Internet的Web应用处于一个动态可变的Internet环境中,因此在Web应用开发中不仅要关注前期的建模开发,还应该把建模扩展到Web应用的整个运行期,即把建模覆盖到软件的整个生命周期,让建模不仅关注构件的复用,而且更加关注Web应用运行阶段的生长、演化。为此,国内研究学者提出了网构软件(Internetware)的概念,并且围绕这一概念做了大量卓有成效的工作。 本论文围绕网构软件建模理论展开了系统的研究,提出了基于软件体系结构的网构软件建模,设计了网构软件多视图分层建模架构,从基本的图元入手,设计了五类视图,包括用例图、类图、流程图、构件图和部署图。建模包括五个层次:需求分析、体系结构设计、服务组合、部署、演化,各层对应不同视图,层之间视图相互映射,贯穿网构软件全生命周期。 在演化建模方面,本文提出了演化三角模型,把服务组合、情境感知、动态演化和建模理论有机的结合在一起,形成了支持演化的建模理论。此外,在演化实现层面,本文提出了CCO(Components,Connectors,Operations)模型,该模型定义了具体的构件、连接件以及操作接口,将抽象的演化具体为对构件和连接件的操作,实现了支持动态演化的网构软件建模。 本文设计并实现了网构软件自动生成技术,通过服务组合系统,将抽象的网构软件体系结构模型映射为具体的服务构件,利用SCA框架把服务构件组合成具体的软件应用。同时,利用CCO模型实现了软件应用的在线演化功能。此外,本文用Pi-演算形式化的定义网构软件,对自动生成的网构软件进行验证以保证其正确性。 本文开发了CCOtool工具,该工具实现了多视图分层建模架构,支持多人员的协同开发,可以通过高层建模直接导出可运行的网构软件。该工具为网构化大型复杂软件系统的研制提供顶层设计,为网构软件开发提供了代码生成技术,为网构软件的动态演化提供支持。