论文部分内容阅读
软件研究界将其注意力从代码行转移到大粒度的体系结构元素和它们的总体交互合成结构上。协调的工程化开发大型并发分布式软件系统的突出问题是采用特定的相互联系结构来合成大粒度部件成为软件系统。复杂软件系统开发的三个层次分别是体系结构描述(设计)、代码设计和运行支撑,其关键方面是用于构筑系统的大粒度部件、它们之间的交互、促进它们合成的模式,以及作用在这些模式上的约束。复杂软件系统的有效解决方案是系统工程方法,包括系统的总体联系结构、软件部件之间的合成,以及辅助支撑工具。为解决复杂软件系统的工程化问题,出现了一些软件技术、结构框架和研究努力,包括基于部件开发(CBD)、软件互操作的中间件平台(MDW)、基于体系结构开发(ABD),以及C4ISR体系结构框架(JTA)。虽然这些研究既相互补充,又存在相互重叠的方面,但它们都集中在合成大粒度的部件成为复杂软件系统上。依据系统开发的三个层次可以将它们分为两大范畴:基于体系结构的方法和基于部件的方法;前者(包括ABD和JTA)主要侧重于体系结构的设计方面,而后者(包括CBD和MDW)则强调代码设计和运行支撑。综合上述研究努力,本文提出了基于交互的复杂软件系统合成演化方法(ICE-CSS),该方法强调通过建立部件之间的相互联系结构来描述它们之间的分类交互、促进它们的显式合成和实现系统的演化设计。我们引进了建模体系结构的多重视图来分别地反映(系统客户关注的)系统行为功能的集合,(工程管理<WP=4>关注的)指导部件之间的组织结构、交互作用和相互依赖的最小规则集,以及(系统实现者关注的)构成系统的物理部件及其它们之间的交互协同作用;提供了一整套的形式化描述、软件的合成模式,以及交互合成构架来覆盖复杂系统的三个设计层和促进大粒度部件的层次化异质合成;探讨了支持体系结构和部件显式合成的辅助工具原型来实现软件需求和系统实现的平滑过渡。