论文部分内容阅读
随着计算机科学与软件工程的飞速发展,人们越来越强烈的意识到形式化模型对软件系统的分析与设计的重要作用。在当今软件系统的设计与开发中,人们普遍运用多种建模方法和工具对软件系统本身及其应用场景建立模型,并在这些模型的基础上对系统进行分析和改进。对于一个复杂的软件系统而言,一个使设计者和开发者都能正确认识和分析该系统的模型在软件开发周期中显得尤其重要。一个涵盖系统所有要素的模型往往不易获得。系统设计者通常是先将系统按照一定的特征划分成很多部分,再分别对这些部分采用适当的建模方法和工具建立相应的模型。该研究思路很好的使用了分而治之的策略,有效的降低了处理系统具体特征的复杂度,使针对某个特征的分析和推理变得方便。然而,由于针对各个系统特征的建模方法都是独立发展起来的,往往依赖于不同的数学基础,这使得我们在面对使用不同建模方式建立的模型时,很难将他们的信息进行共享和协调,从而得到我们所期望的系统的整体视图。为了解决这个问题,我们需要一个精确而系统的理论框架来描述模型之间的关系,支持模型之间信息的共享和交互,实现模型的融合与协调。本文旨在提出一个针对软件系统的模型组合理论,使得模型之间的各种组合模式都能够在该理论下得到解释,进而可以在该理论的支持下讨论模型之间的关系以及各种模型组合方式所具有的性质和特点,为模型组合实践中组合模型表现出来的良好性质给出理论依据。该模型组合理论框架不仅能够描述某个模型所涉及的各种系统属性及属性间的关系,而且能够分析不同模型间的联系,帮助我们进一步认识和理解现有模型的特点以及他们之间的关联性,研究模型的某些特殊性质在模型组合过程中的演化情况。有了该理论框架的支持,设计者可以根据设计需要对模型进行适当的调整,将它们组合成满足特定需求的组合模型。另外,对该理论框架的研究可以指导软件设计者和开发者,统一两者对软件系统的认识,消减模型中的不确定性,显著提高软件系统的设计、开发与验证效率。本文的主要内容包括:·提出一个针对软件系统的模型表示框架,每个模型针对软件系统的特定属性,根据系统在这些属性上表现出来的可见观察对系统行为进行刻画。模型中既包含了每个研究对象的组成结构信息,又包含了对象之间的运算和关系信息,具有解释与对象相关的全局性质与局部性质的能力。我们使用该模型表示框架表示了很多建模模式如状态转换模型和事件反应模型等。·考察了包括程序组合、服务组合等软件工程领域中关于组合问题的解决方案,吸取了软件工程领域中对这些组合问题的处理经验,总结出组合问题的普遍特征,进而引入模型层次上的组合概念,研究以模型为基本对象的模型扩展、模型融合和模型补全等模型组合方式,以及它们所具有的普遍性质。