1引言
概念模型作为真实世界向仿真实现转换的一个阶段,在仿真系统的开发中发挥着极其重要的作用,但前提是其本身是正确且可信的。概念模型表达真实世界的可信程度如何,是否建立了正确的模型,这些问题往往需要通过概念模型验证来实现。概念模型验证是确保仿真可信度的基础。目前国内外对于概念模型验证已有一些研究成果。美国***建模与仿真办公室(DMSO)颁布了VV&ARPG,用于指导仿真系统的校核、验证和确认(Verification,ValidationandAccreditation,VV&A)工作。许多仿真界的专家如OsmanBalci、DaleK.Pace、RobertG.Sargent等也在论文中讨论了概念模型的验证问题[1-3]。从目前的研究情况来看,关于概念模型验证的层次、内容和标准等问题讨论得较少,许多学者都给出了概念模型验证的方法,但对于如何选择这些方法、如何将验证方法与验证的内容相关联等问题研究得较少。因此,本文将在综述国内外概念模型验证方法的基础上,重点探讨概念模型验证方法的选择问题。
2概念模型验证概述
2.1概念模型验证的定义和任务概念模型验证(ConceptualModelValidation,CMV)是仿真系统VV&A过程中的重要阶段和基本活动,其目的和结果是为了得到优质的概念模型。概念模型验证试***发现并纠正概念建模阶段中出现的错误,确保问题域的特征和结果都全面而准确地得到认可。在明确了概念模型验证的作用后,可以对其定义如下:定义1:概念模型验证是以概念模型为输入,概念建模和验证人员采用一定的验证方法和验证工具,在领域专家的共同参与下,通过一系列检查、比较、验证和修改等活动,最终得到优质概念模型的过程。概念模型验证的主要任务是根据特定的建模目的和目标,考察概念模型在其作用域内是否准确地代表了实际系统,确定模型描述真实世界预定目的的程度,也就是说模型的输出在多大程度上与人们对真实世界相关对象领域的理解一致。概念模型验证的具体任务是检验概念模型的完备性、一致性、正确性。完备性是指所构建的概念模型对系统完成使命是否充分;一致性是指所构建的概念模型是否相互一致且不相互矛盾;正确性是指所构建的概念模型是否保证正确完成系统使命。
2.2概念模型验证的层次和内容概念模型验证具有一定的层次性。罗爱民博士在博士论文中基于认识论以及信息科学理论指出,系统的体系结构所蕴含的信息包括三个层次:语法信息、语义信息和语用信息[4],以语法、语义和语用这三个层次来划分体系结构分析与验证。本文采纳罗爱民论文的分法,将概念模型验证划分为语法层概念模型验证、语义层概念模型验证和语用层概念模型验证三个层次。下面针对每个层次的特点,分析其具体的验证内容:1)语法层概念模型验证是指从概念模型的描述样式来考虑,只注重概念模型在形式上的正确与否,而不关心概念模型的实质内容。根据概念模型的描述方法和语言不同,语法层验证的内容和重点也各不一样[5]。2)语义层概念模型验证是指检查概念模型是否客观地反映了真实世界中的过程、实体、交互等要素,在语义上是否有冲突,是否符合逻辑。它主要包括:语义的正确性、语义的完整性和语义的一致性。语义正确性验证是指在模型中的对于待开发系统的功能、行为、性能的表述必须与用户对目标系统的期望相吻合,即分析模型中所描述的每一项内容都代表了对于待开发系统的真实要求;语义完整性验证是指检查概念模型所表达的内容是否完整,是否缺少相关的描述要素;语义一致性验证是指检查描述系统各种特征的概念模型是否存在不一致的现象。3)语用层概念模型验证是指在语法、语义层次的信息都正确、一致、完备的前提下,检查概念模型所发挥的效用是否满足需求以及满足需求的程度。由于概念模型处在仿真系统开发的初期阶段,对功能的验证很难进行。容易陷入两难境况:一是陷入冗余和琐碎,一是遗漏重要需求。充分且必要的功能要求的界限很难把握,缺少严格的判断标准。目前主要是人工审阅,依靠专家的经验来主观判定功能需求的正确性和完备性[6]。
3概念模型验证方法的现状分析目前,国内外已经有很多关于概念模型验证方法的研究成果。美国***(DoD)建模与仿真办公室(DMSO)在VV&ARPG中总结了76种验证方法[7]。许多仿真界的专家如OsmanBalci、DaleK.Pace、RobertG.Sargent等也在论文中讨论了概念模型的验证方法[1,2,3,8]。通过总结,可以将概念模型的验证方法分为专家评审法、折衷分析法、形式化验证方法和可执行验证方法四类。
3.1专家评审法专家评审法是目前广泛使用的概念模型验证方法。该方法实施的主要过程是:组织一个由领域专家组成的评审小组,专家依据自己的知识和经验,采用阅读的方法检查概念模型的设计文档。这种方法虽然比较常用,而且简单易行,但它存在着以下三个主要问题:第一,难以处理大型、复杂的概念模型文档。对于大型的仿真系统,其概念模型可能是一份多达几百页的文档。面对这样庞大的文档,由于精力问题,极少有人能够认真地检查每一部分、每一细节,从而使得概念模型验证过程仅仅是一种形式,不能达到其原本目的。第二,这种方法的主观性较强,往往由于专家的知识结构、经验水平等因素影响,验证结果存在一定偶然性。第三,验证过程需要较长的时间。组织多人参加的评审会议,由于受时间、地域等因素限制,往往比较困难。同时,多个专家对于许多问题难以达成一致意见,这也在一定程度上延长了验证的过程。
3.2折衷分析法折衷分析法是由美国卡内基梅隆大学软件工程研究所首先提出的,该方法可以用于对概念模型的各种非功能性指标(如性能、可更改性、可靠性、安全性等,也称为质量属性)进行折衷分析。该方法的优点是在系统各类相关角色的参与下,确定各类质量属性的一个折衷方案,有利于模型设计在相关各方达成共识;但其缺点是建立与实际系统吻合的质量属性模型非常困难,但却是得出正确评价结果的关键,另外,该方法无法对模型的行为特性进行验证[9-10]。
3.3形式化验证方法形式化验证方法是通过严格的逻辑运算或推理来发现概念模型的问题,是最精确、最严格的方法。对于采用严格的数学定理表达式描述的概念模型,一般采用这种方法。比较常见的形式化验证方法有:基于Statecharts的形式化验证方法[11]、模型检测方法(ModelChecking)[12]、基于本体的形式化验证方法[13]等。形式化验证方法的优点是具有严格的语义规则,验证过程严密,不过也存在以下不足:一是因为研究比较初步,还只是侧重于完备性、一致性等比较容易的验证内容,但是对于逻辑性、合理性等比较复杂的验证则没有涉及;二是定义在核心实体上的验证规则很不全面,而且依赖于体系结构的形式化描述,不具有通用性。目前对于形式化验证方法的研究还比较少,研究深度也不够,不过该方法的精确性和严密性等特点也决定了它将是以后概念模型验证方法研究的主要发展方向。
3.4可执行验证方法可执行验证方法是一种人机交互的验证方法,模型按照过程逻辑进行“执行”,其结果正确性依赖领域专家的判断。该方法首先由乔治•梅森大学系统体系结构实验室提出的,可以用于验证模型的逻辑性、合理性等动态特性,即侧重于模型验证的语法和语用层次。其基本思路是以概念模型为基础,转换为某种可执行模型(如有色Petri网(CPN)、增强型功能流框***等),添加某些信息后,运行该可执行模型,验证概念模型描述中的动态行为是否按预期的顺序执行,是否有逻辑冲突,能否达到预期的效果,另外,还可以通过模型运行收集数据,对概念模型的部分性能参数进行评价。目前关于可执行验证法主要有三种思路,分别从不同方面对概念模型的动态行为进行验证:思路一:从概念模型的结构化描述中,利用活动模型、数据模型的组合构建CPN可执行模型[4,14]。其主要思想是以IDEF0进行结构化描述,把每个活动变为Petri网的转移,每个连接两个活动的IDEF0箭头用“弧线-位置-弧线”来替换,信息用于规定令牌的颜色设置,最后通过CPN模型的执行结果来判断其是否符合需求。由于IDEF0是静态模型,缺少对输入数据、输出数据等时序关系的描述,因此,在生成对象Petri网模型中,缺少相关信息,需要人工干预的因素较多。思路二:从基于UML的概念模型面向对象描述中,利用UML的类***、活动***、协作***的组合构建CPN可执行模型。其主要思想是首先将UML类***中的类转化为两种类:一种是只有属性没有操作的“属性类”,另一种是只有操作没有属性的“操作类”,如果一个类既有属性又有操作,则要转换成两个类;然后将关联类置换为位置,关联类中属性设置为位置中令牌的颜色,又将操作类置换为转移,如果类中有多个操作,则可建立转移的子转移;再次是根据协作***或活动***确定弧线的方向,最后利用规则模型中的规则产生弧线标识、规则模块。该方法相对于思路一的优势在于:CPN模型中的位置、转移和令牌的设置都来源于类***,而第一种思路则来源于不同的模型,增加了模型的构造难度,但该思路的缺点是UML的描述方法不如结构化的描述方法形象直观,而且UML类***和IDEF0模型类似,也是静态模型,需要较多的人工干预。思路三:利用相关软件实现概念模型的可执行验证,例如Telelogic公司的TAUG2软件。这种思路提出了将不同作战节点的状态***进行连接,然后根据不同的想定将其以时序***的方式进行执行,具有一定的可操作性和实用性,但其主要问题是无法对概念模型的行为特性进行完整的评价,且该方法只能以UML的描述为基础,不具有通用性。
4概念模型验证方法的选择
通过上面对概念模型验证方法的分析可知,由于采用的技术途径不同,每种验证方法各有优缺点,概念模型验证人员在进行概念模型验证时,只有根据具体需求选择验证方法,尽最大可能地发挥各种方法的优点,才能取得较好的验证效果。本文认为应该结合概念模型验证的内容,针对不同的层次,选择相应的概念模型验证方法。1)在进行语法验证时,运用专家评估法和可执行验证方法语法层次的验证是概念模型验证的第一个层次,运用专家评估法可以简单而直接地发现模型存在的语法问题,进而可以及时改正这些问题。由于现在很多的建模工具都有语法检查功能,例如Telelogic公司的TAUG2。因此在进行语法验证时可以采用相关软件来实现可执行验证。2)在进行语义验证时,运用专家评估法和形式化验证方法语义层次的验证是概念模型验证的第二个层次,在语法检查正确的前提下,还需要检查概念模型在语义上是否正确。专家评估法是进行语义验证的一种有效方法,利用领域专家对领域知识的深入了解,可以发现概念模型中的语义错误。运用形式化验证方法,通过将概念模型转化为形式化的描述,同样可以实现对概念模型的语义进行验证。3)在进行语用验证时,运用可执行验证方法语用层次的验证是概念模型验证的第三个层次,它是在模型的语法和语义都正确的前提下所进行的一种验证。语用层次概念模型验证的目的是检查概念模型是否能够达到预期的功能。可执行验证方法是进行语用层次验证的常用方法,该方法通过将概念模型转换为某种精确语义表示的可执行模型,运用现有的分析手段和工具,运行该可执行模型,验证概念模型描述中的动态行为是否按预期的顺序执行,是否有逻辑冲突,能否能够达到预期的效果。5结束语概念模型验证的目标是评估概念模型对于真实世界描述的准确程度,它是保证仿真可信度的基础。随着建模与仿真技术的发展,以及用户对于仿真系统质量要求的提高,概念模型验证方法必然会成为今后的研究重点。本文在对概念模型验证方法现状进行分析和比较的基础上,研究了验证方法的选择问题,研究结果可以为概念模型验证人员选择验证方法提供理论上的指导。