第八章--现代仿真技术ppt课件(全)

上传人:壹****1 文档编号:584591509 上传时间:2024-08-31 格式:PPT 页数:131 大小:1.12MB
返回 下载 相关 举报
第八章--现代仿真技术ppt课件(全)_第1页
第1页 / 共131页
第八章--现代仿真技术ppt课件(全)_第2页
第2页 / 共131页
第八章--现代仿真技术ppt课件(全)_第3页
第3页 / 共131页
第八章--现代仿真技术ppt课件(全)_第4页
第4页 / 共131页
第八章--现代仿真技术ppt课件(全)_第5页
第5页 / 共131页
点击查看更多>>
资源描述

《第八章--现代仿真技术ppt课件(全)》由会员分享,可在线阅读,更多相关《第八章--现代仿真技术ppt课件(全)(131页珍藏版)》请在金锄头文库上搜索。

1、 第八章第八章 现代仿真技术现代仿真技术n在本书的前七章,已向读者系统地介绍了控制系统计算机仿真的基本原理方法和仿真软件。在上世纪80年代,由于对复杂大系统的分析与设计的需要,以及计算机技术的突飞猛进和周边学科的某些理论与技术问题的突破,使得计算机仿真这一学科得以迅速发展,其应用领域也在日益拓宽和加深。为使读者能更好地了解仿真技术的一些最新发展,以及今后能在仿真领域做进一步的研究,或将仿真技术应用于一些比较复杂的系统之中,本书的后两章将向读者介绍仿真这一学科的新思想新概念和新方法。由于篇幅有限,涉及问题均是基本的,有兴趣的读者可以参考有关文献。 8.1面向对象仿真技术面向对象仿真技术 面向对象

2、的概念和特点面向对象的概念和特点n面向对象的方法是一种在分析和设计阶段独立于程序设计语言的概念化过程。它不仅仅是一种程序设计技术,更重要的它是一种新的思维方式。它能够帮助分析者、设计者以及用户清楚地描述抽象的概念,使相互之间容易进行信息交流。在面向对象的设计方法中,对象(Object)和传递消息(Message Passing)分别是表现事物及事物间相互联系的概念;类(Class)和继承(Inheritance)是适应人们一般思维方式的描述范式;方法(Method)是允许作用于该类对象上的各种操作,以及对象的封装性(encapsulation)、实体的多态性(polymorphism)以及动态

3、联编(dynamic binding)等特点。下面介绍这些有关的术语。 8.1面向对象仿真技术面向对象仿真技术n(1) 对象n客观世界中的任何事物在一定的前提下都可以成为认识的对象。一个人可以是一个对象,一个学校也可以是一个对象。对象不仅仅是物理对象,还可以是某一类概念实体的实例。例如操作系统中的进程、室内照明的等级等。可见,世界上的任何事物都是对象, 或是某一个对象类的一个元素。复杂的对象可由相对比较简单的对象以某种方法组成,甚至整个客观世界可认为是一个最复杂的对象。n为了研究对象,必须用某种形式去表示对象。在面向对象的系统在面向对象的系统中,对象是基本的运行实体,它有两个方面的内容需要表示

4、,一中,对象是基本的运行实体,它有两个方面的内容需要表示,一是对象的种类所属,即属性,二是对象的行为活动。是对象的种类所属,即属性,二是对象的行为活动。属性和活动是相互影响的,属性界定了对象的可能活动,而活动又能改变对象自身的属性状态,同时对象之间存在相互作用于依存关系。因此,对象表示包括三个方面,即属性、活动、关联关系。在计算机内部,对象通常可用三元关系来表示:n对象:n其中接口描述对象与其他对象的关系,数据描述对象的属性,操作描述对象的行为活动。 8.1面向对象仿真技术面向对象仿真技术n(2) 消息n消息是描述对象间的相互作用的一种方法。在面向对象方法中,对象间的相互作用用对象间的通信收发

5、消息来实现。当一个消息发送给某个对象时,该消息包含要求接收对象去执行某些活动的信息,接到消息的对象经过解释,然后予以响应,这种通信机制称为消息传递。程序的执行是由对象间传递消息来完成的。发送消息的对象称为发送者,接收消息的对象称为接收者。消息中只包含发送者的要求,它告诉接收者需要完成哪些处理,但并不指示接收者应该怎样完成这些处理。发送消息的对象不需要知道接收消息的对象如何对请求予以响应。 8.1面向对象仿真技术面向对象仿真技术n(3) 类n类是一组相似对象的集合,它描述了该组的共同行为和属性。例如,Integer是一个类,它描述了所有整数的共有性质(包括整数的大小和算术运算)。3、4、5等具体

6、的整数都是类的对象,都具备算术和大小比较能力。类是在对象之上的抽象,有了类以后,对象则是类的具体化,是类的实例。对象在软件运行过程中由其所属的类动态生成。一个类可以生成多个不同的对象,这些对象虽然外部特性和内部实现都相同,但它们可以有不同的内部状态值。 8.1面向对象仿真技术面向对象仿真技术n(4) 方法n方法是指在对象中被定义的过程,即对类的某些属性进行操作以达到某一目的的过程。它的实现类似于非面向对象语言中的过程和函数,它是与类的属性封装在一起的。如果一个类的公有方法可用在许多领域,这个类就可作为重复利用的软件组件。n(5) 继承性n一个类可以有父类和子类,继承性描述了它们之间的关系,是父

7、类和子类之间共享数据和方法的机制。一个类能继承其父类的全部属性与操作,在定义和实现一个类时,可以在一个已存在的类的基础上进行,把这个已存在的类所定义的内容做为自己的内容,并加入若干新的内容。一个类如果只从一个父类得到继承称为单继承,如果有两个或两个以上的父类,则称为多继承。继承性是面向对象程序设计语言不同于其他语言的最主要的特点,是其他语言所没有的。 8.1面向对象仿真技术面向对象仿真技术n(6) 封装性n将一个对象的数据和操作过程组合起来,然后将其封装并限定在一严格的范围内,只能被同类中的操作过程直接访问,不允许其它类的对象的介入,这称为封装。可以理解为一个模块的内部状态和实现方法完全隐藏在

8、模块内部,模块间的依赖性很小,或者说封装的方法就是把应用程序分解为较小的功能组件。n(7) 多态性n在收到消息后,对象要予以响应,不同的对象收到同一消息可产生不同的结果,这一现象称为多态性。应用多态性,用户可以发送一个通用的消息给多个对象,每个对象按自身的情况决定是否响应和如何响应,这样,同一消息就可以调用不同的方法。 8.1面向对象仿真技术面向对象仿真技术n(8) 动态联编n在面向对象程序设计语言中,消息的传递用过程调用的方式来实现。联编是把过程调用和响应调用的执行码结合在一起的过程。在一般的程序设计语言中,这个过程在编译时进行,叫做静态联编,而面向对象程序设计语言采用动态联编的方式,即在运

9、行过程中进行联编。这是由类的继承性和多态性决定的,面向对象程序难以静态地确定要执行的代码,而只能在运行过程中动态找到响应方法,并把它和代码加以结合。 8.1.2 UML统一建模语言统一建模语言n20世纪80年代末90年代初,在专著、论文或技术报告等形式提出的OOA/OOD方法或OO建模语言有近50种以上,这些面向对象方法各自有一套概念、定义、表示法、术语和使用的开发过程,它们之间的细微差别使人觉得不知依据哪个概念更好,特别是对于非专业的读者。从1994年开始,美国Rational软件公司的G.Booch、J.Rumbaugh和L.Jacobson把他们各自提出的方法统一并吸收了许多其他面向对象

10、的方法,于1997年9推出了UML1.1并提交到OMG(Object Management Group),同年11月被OMG采纳。n统一建模语言(UML:Unified Modeling Language)是一个通用的可视化建模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、配置、维护和信息控制。UML适用于各种软件开发方法、软件生命周期的各个阶段、各种应用领域以及各种开发工具,是一种总结了以往建模技术的经验并吸收当今优秀成果的标准建模方法。 8.1.2 UML统一建模语言统一建模语言nUML的概念模型包

11、括三方面的内容:UML的基本构造块、支配这些构造块如何放在一起的规则和一些运用于整个UML的公共机制。本书简单介绍UML的基本构造块的内容,请感兴趣的同学参考有关UML的书籍。nUML的构造块有3种构造块:事物、关系和图。n(1) 事物n事物是对模型中最有代表性的成分的抽象;关系把事物结合在一起;图聚集了相关的事物。在UML中的事物有4种:结构事物(structural thing)、行为事物(behavioral thing)、分组事物(grouping thing)和注释事物(annotational thing)。n结构事物:通常是模型的静态部分,描述概念或物理元素。包括类、接口、协作、

12、用况、主动类、构件和节点这7种元素。 8.1.2 UML统一建模语言统一建模语言n行为事物:是UML模型的动态部分,描述了跨越时间和空间的行为,共有2类行为事物:交互和状态机。前者由在特定语境中共同完成一定任务的一组对象之间交换的消息组成,后者描述了一个对象或一个交互在生命周期内响应事件所经历的状态序列。n分组事物:是UML模型的组织部分,是一些由模型分解成的“盒子”,最主要的分组事物是包。n注释事物:是UML模型的解释部分,这些注释事物用来描述、说明和标注模型的任何元素。n(2) 关系nUML中有4种关系:依赖(dependency)、关联(association)、泛化(generaliz

13、ation)和实现(realization)。 8.1.2 UML统一建模语言统一建模语言n依赖是两个事物间的语义关系,其中一个事物(独立事物)发生变化会影响另一个事物(依赖事物)的语义;关联是一种结构关系,描述对象之间的连接;泛化是一种特殊/一般关系,特殊元素(子元素)的对象可替代一般元素(父元素)的对象;实现是类元之间的语义关系,其中的一个类元指定了由另一个类元保证执行的契约,实现关系主要用在一是接口和实现它们的类或构件之间,二是用况和实现它们的协作之间。n(3) 图nUML最常用的9种图是:类图;对象图;用况图;顺序图;协作图;状态图;活动图;构件图;实施图。 8.1.2 UML统一建模

14、语言统一建模语言n 类图(class diagram):类图描述系统中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合等,也包括类的内部结构(类的属性和操作)。类图描述的是一种静态关系,在系统的整个生命周期都是有效的。图为自动柜员机(ATM)系统的取钱使用案例的类图。 8.1.2 UML统一建模语言统一建模语言n n n 图8.1.1 ATM系统的取钱使用案例的类图 8.1.2 UML统一建模语言统一建模语言n 对象图(object diagram):对象图是类图的实例,几乎使用与类图完全相同的标识。它们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一个对象图是类

15、图的一个实例。由于对象存在生命周期,因此对象图只能在系统某一时间段存在。n 用况图(Use Case diagram)n它显示用况与角色及其相互关系,从用户角度描述系统功能,并指出各功能的操作者。图表示了自动柜员机(ATM)系统的用况图 8.1.2 UML统一建模语言统一建模语言n n 图8.1.2 自动柜员机(ATM)系统的用况图 8.1.2 UML统一建模语言统一建模语言n 顺序图(sequence diagram):顺序图显示对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间的交互。n 合作图(collaboration diagram):合作图和顺序图相似,显示对象

16、间的动态关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果强调时间和顺序,则使用顺序图;如果强调上下级关系,则选择合作图。 8.1.2 UML统一建模语言统一建模语言n 状态图(statechartdiagram): 状态图在UML中也称状态机。它表现一个对象或一个交互在整个生存周期内接受刺激时的状态序列以及它的反应与活动,附属于一个类或一个方法。状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。通常,状态图是对类图的补充,在实际效用上并不需要为所有的类画状态图,仅为那些有多个状态、其行为受外界环境的影响并且发生改变的类画状态图。图 表示了银行中帐目的状态图。n图 8

17、.1.3 银行中帐目的状态图 8.1.2 UML统一建模语言统一建模语言n 活动图(activity diagram):活动图描述满足用况要求所要进行的活动以及活动间的约束关系,有利于识别并行活动。n 构件图(component diagram):构件图描述代码部件的物理结构及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部件或一个可执行部件。它包括逻辑类或实现类的有关信息,有助于分析和理解部件之间的相互影响程度。 8.1.2 UML统一建模语言统一建模语言n 实施图(deployment diagram):实施图定义了系统中软硬件的物理体系结构。它可以显示实际的计算面和设备

18、(用节点表示)以及它们之间的连接关系,可显示连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显示节点跟可执行软件单元的对应关系。nUML是一种建模语言而不是一种方法。它不包含任何过程指导。也就是说,它并不讲述如何运用面向对象的概念与原则去进行系统建模,而只是定义了用于建模的各种元素,以及由这些元素所构成的各种图的构成规则。UML的功能(表达能力)无疑是很强的,它吸取了多种面向对象方法的概念和图形表示法,但UML也是复杂的,这意味着,无论是学习它还是在工程中使用它,都要付出比以往高得多的代价。但是如果UML的使用是普遍的,复杂的问题又会变得简单,这就是面向对象方法的优点。 面向对

19、象的建模与仿真面向对象的建模与仿真n传统仿真软件主要提供仿真运行的机制和通用的数据结构和函数。建模的任务就是把实际系统中对象之间的相互作用关系转换成在数据结构内部对数据的操作。不同的仿真软件使用不同术语、概念,采用不同仿真建模策略,具有不同语义和语法。因此使用这些软件进行研究就必须利用软件提供的设施来建立仿真模型。面向对象的仿真试图消除这种过程,使用户能够以应用领域熟悉的直观的对象概念来建立仿真模型。建模观念与人们认识现实世界的思维方式一致,因此不需要多少概念上的转换。 面向对象的建模与仿真面向对象的建模与仿真n在面向对象的仿真系统中,系统中的对象往往与现实世界的实际对象一一对应,建模的主要任

20、务就是把系统类库中提供的对象,进行适当的修改与组合形成仿真模型,而且用户也可以根据问题的需要自己建立适当的对象,并可以保存在系统类库中。这种方法既有利于预定义对象的方便性,也具有用户建立对象的灵活性。n在面向对象的仿真中组成系统的对象是仿真的主要成分。Shannon清楚地描述了仿真对象的概念,指出:“仿真模型的目的就是用一组杂乱五章的对象及其相互关系组织成一个系统的整体,而这个整体将显示这些关系相互作用的效果”。Booch研究了面向对象的分解与功能分解之间的区别,认为在许多情况下,面向对象分解是更为自然的分解,并提出了面向对象建模的一般步骤: 面向对象的建模与仿真面向对象的建模与仿真 确定构成

21、系统的各个组成 部分和它们的属性; 确定每个对象的操作和功 能; 确定每个对象相对于其他 对象的可见度; 确定每个对象的接口; 实现每个对象。 具体地说就是,第一步把系统分解成在问题空间活动的实体或对象,这些对象应当是系统中的活动实体,相似的对象可以分组成对象类。第二步,定义对象的操作,用以刻画对象或对象类的行为特征。操作的定义确定了对象的静态语义,通过定义每个对象必须遵守关于时间和空间上的约束,可以确定每个对象动态行为。第三步确定对象或对象类之间的静态关联性,即确定每个对象需要与哪些对象进行通信。第四步确定对象的接口。接口是对象与外界进行通信的唯一通道,它确定了对象之间以及与仿真环境进行通信

22、的形式。最后一步是为每个对象选择一种适当的表达,并实现上一步确定的接口。 面向对象的建模与仿真面向对象的建模与仿真n面向对象的仿真为仿真人员提供了开发模块化可重用的仿真模型的工具。它把系统看成由相互作用的对象所组成,而对象则往往表示现实系统中的真实实体,从而提高了仿真模型的可理解性、可扩充性和模块性,并且便于实现仿真与计算机和人工智能的结合。其优点体现在:n(1) 可理解性 面向对象仿真对设计者、实现者以及最终用户来说都改进了仿真的可理解性。因为仿真系统中的对象往往直接表示现实系统中的真实实体,这些实体在面向对象的仿真系统中可以用外观上类似人们熟悉的实际系统的对象的图形或图像来表示。用户可以通

23、过图形界面与仿真模型进行交互,利用图形或图像来直接建立仿真模型,这对于熟悉实际系统的用户来说是很容易理解的。 面向对象的建模与仿真面向对象的建模与仿真n(2) 可重用性和可扩充性 在面向对象的仿真中,可以建立起一个模型库,用以保存以前建立的模型。模型库中的模型可以作为建立新模型的可重用构件,通过面向对象技术内在的继承机制可以容易地和系统地修改现有的对象(类)以建立新的对象,并且可以加入现有的类库中。类库提供了仿真建模所需要的一般设施,通过修改现有的类,可以建立各种应用中所需要的特殊对象。n(3) 模块性 面向对象的仿真是模块化的,对象作为模型,已知对象的所有信息都保存在该模块中,因此不需要特殊

24、的过程来寻找相应的信息。这种信息的封装意味着容易改变一个对象的含义或修改其性能,而且不会影响其他的对象。 面向对象的建模与仿真面向对象的建模与仿真n(4) 图形用户界面 面向对象仿真系统中的对象往往表示实际系统中的真实实体,因而在系统中可以用相似的图形或图像来表示,因此更便于建立非常直观的图形用户界面。用户可以直接在屏幕上建立系统的图形描述,直观地构造仿真模型。在仿真过程中利用动画显示仿真模型地运行过程,各种仿真统计数据也可以利用图形来显示。这种图形表达能力对于用户了解仿真过程、理解仿真结果都有很大帮助。n(5) 仿真与人工智能的结合 在面向对象的仿真中,对象封装了它们的功能,而功能可以包含智

25、能。因而利用人工智能与专家系统的方法可以在功能中嵌入智能,使对象也具有决策与学习能力。仿真与人工智能的结合可以增强仿真的能力。在基于知识的仿真系统和专家仿真系统方面,许多学者已进行了广泛的研究,表明了人工智能与专家系统在辅助仿真建模、仿真结果的解释和仿真模型灵敏度分析等方面的重要作用。 面向对象的建模与仿真面向对象的建模与仿真n(6) 并行仿真 面向对象的仿真是在多处理器上并行执行的面向对象的仿真。对于仿真封装了所有的信息,因而每个对象都能按分配给自己的处理程序执行它的功能。这样,对象在某种程度上可以相对独立地运行。正是由于对象之间地这种相对独立性,产生了并行仿真执行的可能性。仿真的并行执行可

26、以极大地降低仿真时间,允许仿真更多的对象,能够实现更详细的仿真。 离散事件系统仿真是面向对象方法最适合的应用领域之一,这是因为面向对象的离散事件系统仿真和面向对象的程序设计一样都是以对象为基础建立系统的结构,面向对象与仿真的一致性在这里得到很好的体现。目前主要应用在制造系统,因为制造系统的物理组成部分很容易直观的用对象来进行描述。 面向对象的建模与仿真面向对象的建模与仿真n由于连续系统的模型通常是用微分方程来描述的,仿真算法主要是数值积分法及离散相似法,它与离散事件系统的模型及算法有很大的不同,所以在应用面向对象方法上,也有所不同。对连续系统进行面向对象建模,可以把常用的模块化建模看作是一种广

27、义的面向对象的方法。即将一个复杂的系统划分成许多模型块,每个模型块又可划分成若干个子模型,直到不能再(或不必)分为止,最基本的子模型被称为模型元素或基本模型。这样,建模过程就变成对各种基本模型进行定义,然后利用模型拼合技术将它们组成模型块(称为拼合模型);若干个下层模型块又可拼合成上层模型块,直到形成整个系统。显然,这里的模型块与面向对象方法中的对象类有许多相似之处,它同样具有封装、继承等性质。需要指出的是,拼合模型与基本模型之间的关系是一种组合关系,不能生搬硬套地将拼合模型看成父类,而将基本模型看作是子类。 面向对象的建模与仿真面向对象的建模与仿真n在建模和仿真的不同阶段,如仿真建模、仿真实

28、验、动画输出等,面向对象的方法都已获得了应用,比如面向对象的交互式图形技术、人工智能技术和数据库技术,特别是利用面向对象的方法建立各种复杂系统的模型,如大型军用系统、柔性制造系统和计算机网络系统等,已取得了许多实际成果。例如,美国NASA的软件工程实验室(SEL)已将面向对象技术成功地用于11个项目开发中,面向对象技术的采用使这些项目的代码重用率从20%增至80%,同类新项目开发费用降低三分之二,开发周期减少一半,修改与出错率仅为原来的十分之一,被它们称之为到目前为止最有影响的方法;由CAE-Link公司为Johnson太空中心开发的Freedom空间站验证与训练设备(SSVTF)是一项源代码

29、超过180万行的大型仿真项目,该项目主要为空间站宇航员和地面飞行控制者提供全面训练,从基本操作、任务规划到决策验证,计划将面向对象建模方法与软件重用技术贯穿于需求分析、设计、编码全过程; McDonnell Douglas Aerospace将面向对象技术用于导弹制导系统的实时仿真及任务规划;Hewlett-Packard采用面向对象分析和设计方法开发了16个商业项目;Rand公司成功开发了“兰德面向对象仿真系统(ROSS)”等等。 面向对象仿真举例面向对象仿真举例n面向对象的仿真意味着用户也变成一种语言的设计者。用户不仅只利用语言中预定义的对象,而且还可以利用一组工具建立自己新的对象;用户不

30、仅要知道如何使用对象,而且必须知道如何描述对象与实现它们。一旦建立了对象类库,建模工作就很简单,任务就是创建控制与删除对象,用以模拟实际系统的活动。n在面向对象设计的阶段,要确定组成系统的对象、对象的属性和功能,以及对象间的关系。在实现阶段,就要用某种程序语言来实现仿真设计模型。当然,不用面向对象的语言,也能够实现面向对象的仿真。但使用面向对象的语言,实现起来较为容易。由于C+语言较好地兼顾了C语言和面向对象语言地特点,C+语言成为目前使用最广泛地面向对象语言。下面以微分方程组的四阶龙格库塔解法为例,用Borland C+简要说明面向对象设计仿真算法过程。 面向对象仿真举例面向对象仿真举例cl

31、ass Vector private: float *v /向量的值 int sz /向量的维数public:Vector();Vector (int s);Vector (int s, float * a);Vector(const Vector &.a);/以上皆为构造函数Vector();/析构函数Vector operator + (const Vector &.) /向量与向量相加Vector operator +(const float &.) /向量与实数相加Vector operator * (const float &.) /向量子函数相乘float &. operator

32、(const int &.) /向量各分值Vector &. operator = (const Vector);/等式重加载;n在龙格库塔算法中,为了符合人们的思维习惯和体现人类的习惯写法,引入了两个类:向量类和微分方程组类。向量类具有两个私有状态,即向量的值与向量的维数,重载了“”、“”等操作,其定义如下: 面向对象仿真举例面向对象仿真举例class DiffEqutions private: float Step,TO,* Inn; / Step:步长,TO:起始时 间,Inn:微分方程组初值 int StepNum,Dim; / StepNum:仿真时间,Dim:微分方程组维数 vir

33、tual Vector Equtions( Vector YY. float a );/虚函数,微分方程组 Vector Runge(Vector Yin, float t);/龙格库塔算法public: DiffEqutions (float Sl,float Tl,int StepNum1,int Dim1,float *In);/构造函数 DiffEqutions ( );/析构函数 void SlvRg( ) ; n微分方程组类把微分方程组的共性抽象出来,如长、起始时间、方程组初值、方程组维数等,定义如下: 面向对象仿真举例面向对象仿真举例n对于微分方程组表达式的操作,定义为虚函数;在

34、具体求解一个微分方程组时,把这个微分方程组类作为父类,具体的微分方程组作为导出类,重新定义微分方程组这个操作,那么这个导出类就继承了父类型微分方程组类的数据操作,这就是继承性。n采用上述方法求解微分方程组 , ,初值为 ,初始时间,仿真时间为10秒,仿真步长为0.1。用龙格库塔法求解的源程序如下。 面向对象仿真举例面向对象仿真举例/DiffEqu.hpp#ifndefDiffEqu_HPP#define DiffEqu_HPP#endif/The defination of Vector Class向量类的定义 class Vector private: float * v; int sz;

35、public: Vector(); Vector (int s); Vector (int s, float * a); Vector(const Vector &.a);Vector ( );Vector operator + (const Vector &);Vector operator +(const float &);Vector operator *(const float &);float & operator (const int &);Vector & operator =(const Vector &);/The defination of DiffEqutions Cla

36、ss微分方程组类的定义 面向对象仿真举例面向对象仿真举例class DiffEqutionsprivate: float Step,TO,* Inn; int StepNum, Dim; virtual Vector Equtions( Vector YY. float ac )return (YY ); Vector Runge(Vector Yin, float t);public: DiffEqutions (float Sl, float Tl. int StepNum1, int Dim1, float * IN); DiffEqutions ( ); void SlvRg( );

37、; /DiffEqu.cpp#ifndef DiffEqu_HPP#include DiffEqu.hpp#endif#include /The members of Vector Class 向量类成员函数 Vector:Vector( ) Vector:Vector (int s,float *a) sz=s; v=new floats; for(int i=0;is;i+) vi=ai; 面向对象仿真举例面向对象仿真举例Vector:Vector(int s) sz=s; v=new floats; Vector:Vector(const Vector &a) sz=a.sz; v=ne

38、w floatsz; for(int i=0;is;i+) vi=a.vi; Vector:Vector( ) delete v; Vector Vector:operator+(const Vector &an) Vector temp(sz); for(int i=0;isz;i+) temp.vi=vi+an.vi; return temp;Vector Vector:operator+(const float &an) Vector temp(sz); for(int i=0;isz;i+) temp.vi=vi+an; return(temp); Vector Vector:oper

39、ator*(const float &an) Vector temp(sz); for(int i=0;isz;i+) temp.vi=vi*an; return (temp); float &Vector:operator(const int &i) return vI;Vector & Vector:operator=(const Vector&a) sz=a.sz; v=new float sz; for(int i=0;isz;i+) vI=a.vI; return *this; /The members of DiffEqutions Class 面向对象仿真举例面向对象仿真举例Di

40、ffEqutions:DiffEqutions(float Sl,float Tl,int StepNum1,int Dim1,float *IN) Step=S1; T0=t1; Dim=Dim1; StepNum=StepNum1; INN=new floatDim; for(int i=0;iDim;i+)INNi=INi; DiffEqutions:DiffEqutions ( ) delete INN;Vector DiffEqutions:Runge(Vector Yin, float t) Vector Kl, K2. K3. K4, Yout; Kl=Equtions(Yin,

41、 t) *Step; K2=Equtions(Yin+Kl *.5, t+Step *.5)*Step; K3=Equtions(Yin+K2 *.5, t+Step *.5)*Step; K4=Equtions(Yin+K3, t+Step)*Step; Yout=Yin+(K1+K2*2.+K3*2.+K4)*(1/6.);return (Yout); 面向对象仿真举例面向对象仿真举例void DiffEqutions :SlvRg( ) float h,t; Vector YIN (Dim,INN); for(int i=0, iStepNum, i+) t=TO+I*Step; YIN

42、=Runge(YIN,t); for(int j=0, jDim, j+) h=YINj; coutYINj; coutendl; /tl.cpp#include tl.hpp Vector tl:Equtions(Vector Yin, float t) Vector TEMP (2), TEMP0=l./Yin1; TEMPl=-l./Yin0; return(TEMP); #ifndef Tl_HPP #define Tl_HPP #endif /tl.hpp 面向对象仿真举例面向对象仿真举例#ifndef DIFFEQU_HPP#include DIFFEQU.HPP#endif cl

43、ass tl:public DiffEqutions public: t1(float Sl, float Tl, int StepNum1, int Dim1, float *IN) :DiffEqutions(Sl, Tl, StepNum1, Dim1, IN) ; virtual Vector Equtions(Vector Yin, float t); ; /Main program #include tl.hpp void main ( ) float a3=1.1,0.9; t1 CC(0.1,0.1,10,2,a); CC.SlvRg();8.2 分布交互仿真技术分布交互仿真技

44、术 8.2.1 分布交互仿真的发展历程分布交互仿真的发展历程分布交互仿真(Distributed Interactive Simulation, DIS)是“采用协调一致的结构、标准、协议和数据库,通过局域网、广域网将分布在各地的仿真设备互联并交互作用,同时可由人参与交互作用的一种综合环境”。它以计算机网络作为支撑,将分散于不同地域的相对独立的各类仿真器互联起来,构成一个大规模、多参与者协同作用的综合虚拟环境,以实现含人平台、非含人平台间的交互以及平台与环境间的交互。分布交互仿真在军事方面的应用主要有: 在新型武器系统开发早期对其功能做先期演示验证; 开发新的战术和作战概念; 规划、推演和重演

45、作战任务; 在一个虚拟环境中训练大规模兵力并进行武器系统效能评估。 分布交互仿真技术的发展主要经历了三个阶段:DIS阶段、ALSP阶段和目前的HLA阶段,可以用图表示其发展过程 如图所示 8.2.1 分布交互仿真的发展历程分布交互仿真的发展历程 图8.2.1 分布交互仿真技术的发展历程 8.2.1 分布交互仿真的发展历程分布交互仿真的发展历程n1983年美国国防部高级研究计划局(DAPAR)正式提出了SIMNET(Simulation Networking)研究计划,并得到美国陆军的支持,该计划的最初目的是希望将分散于各地的多个地面车辆(坦克、装甲车等)训练模拟器用计算机网络联接起来,进行各种

46、复杂任务的综合训练。到80年代末,SIMNET计划结束时,已形成了约260个地面车辆仿真器和飞机仿真器以及指挥中心和数据处理设备等的综合仿真网。SIMNET的成功应用使美国军方充分认识到这一技术的潜在作用。n1989年在美国陆军、建模与仿真办公室DMSO和DARPA的共同倡导和支持下,正式提出了分布交互仿真的概念,并制订了一套面向分布式仿真的标准文件,以使这一技术向规范化、标准化、开放化的方向发展。美国陆军的CATT计划、WARSIM 2000计划、NPSNET计划、STOW计划等都采用了 DIS标准。基于DIS标准的分布 8.2.1 分布交互仿真的发展历程分布交互仿真的发展历程n交互仿真系统

47、的基本思想是通过建立一致的标准通信接口来规范异构的仿真系统间的信息交换,通过计算机网络将位于不同地理位置上的仿真系统联接起来,构成一个异构的综合作战仿真环境,满足武器性能评估、战术原则的开发和演练以及人员训练等的需要。异构的仿真系统间的互操作是建立在标准的协议数据单元(PDU)基础上的。n20世纪80年代末,美国国防部开始研究使用聚合级作战仿真为联合演习提供支持。所谓聚合级仿真是指挥团、营、连等部队单元级的构造仿真,而不是单个作战人员和实体的仿真。按DIS标准构成的仿真系统用于平台级实时连续系统的描述,聚合级仿真协议ALSP(Aggregate Level Simulation Protoco

48、l)用于分布的聚合级以离散事件为主的作战仿真系统,它实质上 8.2.1 分布交互仿真的发展历程分布交互仿真的发展历程n是“构造仿真”。构造仿真的时间管理不同于DIS系统,它不一定与实际时钟直接联系,而是采用时间步长、事件驱动等方法,它只要保证聚合级仿真系统中时间对所有仿真应用是一致的,而且保证事件的因果关系正确。1990年1月,美国高级研究计划署提出了聚合级仿真协议的概念,主要研究聚合级的分布构造仿真系统的体系结构、标准和相应的关键技术,并将基于ALSP标准的分布交互仿真系统应用于1992年、1994年和1996年的军事演习,使ALSP标准得到了改进和完善。n在DIS和ALSP的基础上,为消除

49、DIS在体系结构、标准和协议等方面的局限和不足,又发展了新的分布交互仿真体系结构HLA,它能提供更大规模的、将构造仿真、虚拟仿真、实况仿真集成在一起的综合环境,实现各类仿真系统间的互操作、动态管理、一点对多点的通讯、系统和部件的重用、以及建立不同层次和不同粒度的对象模型。1995年美国国防部发布了针对建模与仿真领域的通 8.2.1 分布交互仿真的发展历程分布交互仿真的发展历程n用技术框架,该框架由任务空间概念模型(CMMS,Conceptual Model of Mission Space)、高层体系结构HLA(High Level Architecture)和一系列的数据标准三部分组成,其中

50、高层体系结构是通用框架的核心内容。美国国防部已宣布不再支持非HLA标准的仿真系统,HLA已经成为目前分布交互仿真系统普遍采用的标准。 分布交互仿真技术的特点和关键技术分布交互仿真技术的特点和关键技术分布交互仿真与以往的仿真技术不同,具体表现在以下方面: 在体系结构上,由过去的集中式、封闭式发展到分布式、开放式 和交互式,构成在互操作、可移植、可伸缩及强交互的协同仿真体系结构。 在功能上,由原来的单个武器平台的性能仿真,发展到复杂环境下,以多武器平台为基础的体系与体系对抗仿真。 在手段上,从单一的构造仿真、实况仿真和虚拟仿真,发展成集上述多种仿真为一体的综合仿真系统。 在效果上,由只能从系统外部

51、观察仿真的结果或直接参与实际物理系统的测试,发展到能参与到系统中,与系统进行交互作用,并可得到身临其境的感受。分布交互仿真是计算机技术的进步与仿真需求不断发展的结果,其特点主要表现在五个方面,即分布性、交互性、异构性、时空一致性和开放性。分布交互仿真技术的特点和关键技术分布交互仿真技术的特点和关键技术n(1)分布性:分布式交互仿真的分布性表现为地域分布性、任务分布性和系统的分布性。地域分布性是指组成仿真系统的各个节点处于不同的地域。它们可以同处于一个局域网中,也可以处于不同的局域网中;可以处于同一个城市,也可以处于不同的城市甚至不同的国家。任务分布性是指同一个仿真任务可以由几台计算机共同协同完

52、成。比如一个实时仿真结点的任务包括网络的通信、大量的模型解算和图形的绘制等,其中每一项都需要大量的计算。为了保证该结点的实时性,可以配置多台计算机来分别其任务。这种同一任务由多台计算机来协同完成的现象就是任务分布性。系统的分布性是指同一个仿真系统可以分布在不同的计算机上。这些计算机可以处于同一地域,也可以处于不同的地域。n(2)交互性:分布式交互仿真的交互性包括人机交互和作战时的对抗交互。所谓人机交互是指参与作战演习的人员通过计算机将其对仿真系统的命令传达给仿真系统。比如指挥人员通过计算机下达系统暂停命令等。所谓对抗交互是指参与作战的对抗双方相互之间交互作战信息。比如红方向蓝方进行了一次射击,

53、则红方应该将射击PDU发送给系统中的蓝方,以保证作战环境的时空一致性。 分布交互仿真技术的特点和关键技术分布交互仿真技术的特点和关键技术n(3)异构性:分布式交互仿真的另一个突出的特点是对已有系统的集成。如何将这些地域上分散、不同的制造厂商开发、系统的硬件和软件配置各不相同、实体表示方法与精度各异的仿真结点联结起来并实现互操作,就成为研究人员待解决的问题,也是DIS技术中的关键。n(4)时空一致性:在分布式交互仿真系统中,人是通过计算机生成的综合环境的各种真实的感受来作出响应而形成人在回路”的仿真,所以DIS系统必须保证仿真系统中的时间和空间与现实世界中的时间和空间的一致性。时空一致性是指DI

54、S各节点或各软件对象的行为根据所模拟的时空关系,按严格规定的时序进行,以使用户产生逼真的时空感受。为此必须建立统一的时间和空间基准。时空一致性原则要求DIS网上各节点在交互作用时,其状态信息应具有统一的几何和时间表达。n(5)开放性:开放性是指体系结构的开放性,其目的是建立一种具有广泛适用性的系统结构框架,在这一框架下可以实现各类系统或子系统的集成,以构建大规模的和多用途的作战仿真。主要的集成包括:平台级作战仿真器、聚合级作战仿真模型、评估和预测类分析模型、C4I系统和实际武器系统等。分布交互仿真技术的特点和关键技术分布交互仿真技术的特点和关键技术n分布交互仿真系统还有实时性的要求,即要求实体

55、状态必须是实时更新的、实体间的信息必须是实时传播的、图形显示必须是实时生成的等。另外,在分布交互仿真系统中没有中央计算机控制整个仿真演练。以往的仿真系统使用一个中央计算机来维护整个虚拟世界的状态,并计算每个实体的行为对其他实体和环境的影响。而DIS系统中,通过分布式仿真方法来实现各实体的互操作,由通过网络互联的主机上的仿真应用软件来完成每个实体状态的计算。当新的主机连接到网络上时,它带来了自己的资源。n分布交互仿真的关键技术主要有:分布交互仿真技术的特点和关键技术分布交互仿真技术的特点和关键技术n(1) 合理的分布式结构 合理平衡的计算和网络传输功能是一切分布式计算系统设计所需要解决的矛盾之一

56、。从本质上讲,这意味着在给定可用资源(CPU计算速度、磁盘存储容量、I/O吞吐率、链路带宽、路由器转发缓存容量、应用程序、敏感信息等)及其代价的情况下,如何在网络上合理分配以保证系统性能及设计约束(如某些信息只能置于某处或必须置于某组织监控之下等),解决方案直接体现于系统的体系结构。(2) 信息交换标准 为了生成时空一致的仿真环境,并支持仿真实体间的交互作用,必须制定相应的信息交换标准。目前,DIS中普遍采用的是IEEE 1278标准,主要包括信息交换的内容、格式的约定以及通信结构和通信协议的选取等。对协议数据单元(PDU,rotocol Data Unit)中的数据信息的格式和含义都进行了详

57、细的规定,这些PDU在仿真应用之间、以及仿真应用与仿真管理程序之间进行交换。例如,实体状态PDU的组成如图所示: 分布交互仿真技术的特点和关键技术分布交互仿真技术的特点和关键技术 图8.2.2 实体状态PDUn(3) DR技术 DR(Dead Reckoning)是DIS中普遍采用的一项技术,它可以在仿真精度和通信带宽之间进行很好的折衷,即可以在一定的仿真精度要求的前提下,大大减少仿真结点之间的状态信息传递次数。DR算法的基本思想可概括为以下三点:仿真实体除有一个精确的运动模型外,还在本结点维护一个简单的运动模型(DR模型);分布交互仿真技术的特点和关键技术分布交互仿真技术的特点和关键技术 在

58、每个仿真结点中放入可能与之发生交互作用的其他结点的DR模型,并以这些模型为依据推算这些结点的状态,供本结点的有关功能模块使用;当自身的精确模型输出与DR模型输出之差大于某一个给定阈值时,向其他结点发送自身状态的更新信息,同时更新自身DR模型的状态。n(4) 时钟同步技术 时间一致性和空间一致性是DIS系统中的典型问题,时空一致性是指DIS各仿真结点或各软件对象的行为所模拟的时空关系,按严格规定的时序进行,以给用户造成逼真的和符合实际的时空感受。作为一个分布式系统,导致DIS时空不一致性的因素包括:分布交互仿真技术的特点和关键技术分布交互仿真技术的特点和关键技术 各结点的本地时钟不同步(未校准于

59、某同一时钟,即 时间一致性问题); 网络阻塞导致仿真结点间的信息传递延迟; 消息接收顺序与发送顺序不一致。 在分布交互仿真系统中,时钟同步方法分为三类:a. 软件同步算法。完全利用软件完成分布式系统中各时钟的同步,但这种软件发生同步的工作量很大,且结点间的同步偏差容易积累,更重要的是,同步信息在广域网上传输时延迟大,且有很大的不确定性,这会使软件同步的效果不理想。b. 硬件同步。硬件同步往往是借助于全球定位系统(GPS)来实现。但由于GPS硬件的价格昂贵,完全依靠GPS进行同步的成本很高,不现实。 分布交互仿真技术的特点和关键技术分布交互仿真技术的特点和关键技术c. 分层式混合同步。采用硬件和

60、软件同步一起工作来实现结点间的时钟同步。具体描述如下:对于DIS中的每一个局域网,选择某一个结点作为TIMER Master,并在TM中引入一个GPS接收机及相应的时钟接口设备,这样,在不同的LAN中的TM就可以通过GPS的时间信号实现同步;在每一个LAN内部,各结点通过软件实现与该LAN的TM同步。(5) 接口处理技术 由于分布式交互仿真是对已有系统的集成,这些系统可以是不同的制造厂商生成、系统的硬件和软件结构配置各不相同、实体表示方法与描述精度各异的且在地域上也是分散的。通常这些仿真结点具有自己的仿真约定,而这些约定不一定遵从分布交互仿真协议。因此,要将这些结点纳入分布交互仿真环境中,就必

61、须对其进行适当的修改和扩充。如果这些修改和扩充完全通过仿真结点来实现,将会给仿真结点造成很大的负担。此外,一旦结点脱离分布交互仿真环境独立运行时,还需将上述改动复原,这就破坏了仿真结点各自的独立性。故这种方法通用性差,效率较低。分布交互仿真技术的特点和关键技术分布交互仿真技术的特点和关键技术n引入接口处理器(Interface Processor,简称IP)的目的正是为了解决由于联网而附加给仿真结点的负担,从而减少对仿真结点所做的修改,最大限度地维护结点的独立性。换句话说,结点间的交互作用首先通过接口处理器进行预处理,从而将各个结点的差异封装起来。因此,接口处理器是不同仿真结点联网运行的必要装

62、置,也是分布交互仿真中的一项关键技术。 分布交互仿真技术的特点和关键技术分布交互仿真技术的特点和关键技术(6) 虚拟环境技术 为了保证仿真的真实性,需要生成虚拟的天空、陆地海洋等地理环境及风、雨、雷、电等自然现象。虚拟环境技术还包括计算机生成兵力CGF(Computer Generated Forces)和CCA(Computer Controlled Aircraft)的智能技术。这对于构造时空一致的逼真的仿真环境是极为重要的。 (7) 仿真管理技术 DIS中涉及大量的仿真结点,为了更好地使各结点在时空一致的仿真环境中运行,必须对仿真结点的运行过程(初始化、启动、暂停、中止)进行管理、协调和

63、调度。8.2.3 DIS系统的体系结构和标准系统的体系结构和标准n仿真实体(Simulation Entity)、仿真结点(Simulation Node)、仿真应用(Simulation Application)、仿真管理计算机(Simulation Manager)、仿真演练(Simulation Exercise)和仿真主机(Simulation Host)是DIS系统经常遇到的几个概念。n其中,仿真结点可能是一台仿真主机,也可能是一个网络交换设备。很多情况下,仿真结点和仿真主机并不严格区分,均指参与仿真演练的计算机,在一个DIS网络中,包含多个仿真结点;仿真应用包括软件和真实设备之间的

64、计算机硬件接口,每一台仿真主机中都驻留有一个仿真应用;一个或多个互相交换的仿真应用构成一个仿真演练,参与同一仿真演练的仿真应用共享一个演练标识符;仿真实体是仿真环境中的一个单位,每一个仿真应用负责维护一个或多个仿真实体的状态;仿真管理计算机中驻留有仿真管理软件,负责完成局部或全局的仿真管理功能。图 形象地表明了以上各概念的含义及它们之间的关系。8.2.3 DIS系统的体系结构和标准系统的体系结构和标准图8.2.3 DIS中的几个基本概念及其相互关系8.2.3 DIS系统的体系结构和标准系统的体系结构和标准nDIS在逻辑上采用的是一种网状结构。如图所示。其中的每一个仿真结点都将本结点的实体数据发

65、往网络中其他所有的仿真应用,同时又接收其他仿真应用的信息。按照DIS的原则,由接收方来决定所收到的信息是否对本结点有用,如果是无用信息,就将其放弃。n 图8.2.4 DIS逻辑拓扑结构8.2.3 DIS系统的体系结构和标准系统的体系结构和标准DIS的体系结构特点可概括为: 自治的仿真应用负责维护一个或多个仿真实体的状态; 用标准PDU来传送数据; 仿真应用负责发送仿真实体的状态金额交互信息; 由接收仿真应用来感知事件或其他实体的存在; 用DR算法来减少网络中的通信负荷。DIS的这种网状逻辑结构从网络管理角度来说是比较容易实现的。通过规范异构的仿真结点间信息交换的格式、内容及通信规则,DIS实现

66、了分布仿真系统间的互操作,构成一个仿真环境。然而,这种建立在数据交换标准之上的体系结构毕竟是一种低层次的随意的体系结构,这种体系结构对与处理具有复杂的逻辑层次关系的系统是不完备的。由于自治的仿真结点之间是对等的关 系,所以每个仿真结点不仅要完成自身的仿真功能,还要完成信息的发送、接收、理解等处理。不同的仿真结点间的逻辑和功能 8.2.3 DIS系统的体系结构和标准系统的体系结构和标准n的层次关系只是通过在PDU中增加某些信息来实现。因此,随着DIS需求的发展,人们逐渐发现DIS结构存在一定的局限性,主要表现是:n(1) 体系结构方面的缺陷:由于DIS把数据定义于结构之中,使得DIS协议不够灵活

67、和高效,例如如果某实体要通知其他网络实体它的状态发生了变化,这一状态改变只需要PDU数据的某一位发生变化,但它必须发送整个实体状态PDU来表示这一改变。n(2) 对于聚合级仿真不太适合:DIS是定位于实时、平台级的分布式仿真,对于聚合级仿真等要求不同时间推进机制的仿真应用则不太适合。n(3) 网络负荷及处理负担:DIS使用广播方式来发送数据,这样不仅 加重了网络负荷,也加重了各结点的处理负担。 高层体系结构高层体系结构(HLA)1992年,美国国防部提出了“国防建模与仿真倡仪”,要求在全新的结构、方法和先进的技术基础上,建立一个广泛的、高性能的、一体化的和分布的国防建模与仿真综合环境,并提出了

68、应用性、综合性、可用性、灵活性、真实性和开放性的要求。在经过四个原型系统的开发和实验后,于1996年8月正式公布了HLA体系结构。 HLA是分布交互仿真的高层体系结构,它是一个通用的仿真技术框架,它定义了构成仿真各部分的功能及相互间的关系。HLA涉及以下几个基本概念: 联邦(Federation):为实现某种特定的仿真目的而组织到一起,并能够彼此进行交互作用的仿真系统、支撑软件和其它相关的部件就构成一个联邦,其执行过程称为联邦执行。 联邦成员(Federate):组成联邦的各仿真应用系统称为联邦成员。 对象(Object):对象在这里是指对某一应用领域内所要进行仿真的实 体建立的模型。 图是H

69、LA框架下联邦组成的逻辑示意图。 高层体系结构高层体系结构(HLA) 图8.2.5 HLA的逻辑拓扑 在HLA框架下,联邦成员通过RTI(Runtime Infrastructure)构成一个开放性的分布式仿真系统,整个系统具有可扩充性。其中,联邦成员可以是真实实体系统、构造或虚拟仿真系统以及一些辅助性的仿真应用。在联邦的运行阶段,这些成员之间的数据交换必须通过RTI。运行时间支撑框架RTI底层通讯支持系统(网络通讯或共享内存方式等)联邦成员2RTI接口模块联邦成员NRTI接口模块联邦成员1RTI接口模块 高层体系结构高层体系结构(HLA)HLA的基本思想就是利用面向对象的方法设计、开发和实现

70、系统的对象模型来获得仿真联邦的高层次互操作和可重用。HLA主要由三部分组成:(1) (Rules):描述了定义HLA应遵循的基本原则,共包括10条基本规则; 相容性规则给出了使仿真纳入HLA中所必须遵守的一些规则。这些规则分为联邦(Federation)规则和联邦成员(Federate)规则两部分。 联邦规则主要概括为: 1 在一个联邦中,每个对象的表现应限于联邦成员内,不应在RTI中; 2 在一个联邦运行过程中,所有联邦成员内的FOM数据交换必须经过RTI; 3 在一个联邦运行过程中,所有联邦成员与RTI间的接口必须符合接口规范; 4 在一个联邦运行过程中,每个对象的属性在任何给定时刻必须从

71、属于唯一的一个联邦成员; 5 每一个联邦必须具有一个FOM来描述对象间的交互; 高层体系结构高层体系结构(HLA)联邦成员规则主要概括为: 1 每个联邦成员必须具有一个SOM来描述对象的属性; 2 联邦成员应能够在SOM中更新和(或)接收对象属性,并能够发送和(或)接收外部对象的交互信息; 3 联邦成员应能够在执行过程中动态地传递和(或)接收属性所有权; 4 联邦成员应能够变化相应的条件值,以保证对象属性的更新; 5 联邦成员应能够管理局部时间,以协调与联邦内其它成员的数据交换;(2) 对象模型模板(Object Model Template: OMT):描述了建立HLA对象模型应遵守的书写规

72、范; OMT是对仿真中的对象、对象属性和对象间信息交互的格式和内容进行定义的标准化描述。HLA中的联邦对象模型FOM(Federation Object Model)和仿真对象模型SOM(Simulation Object Model)是通过OMT来描述的,FOM借助于OMT提供的标准 高层体系结构高层体系结构(HLA)n化的记录格式,为一个特定的联邦中各联邦成员之间需交换的数据的特性进行描述,以便各联邦成员在联邦的运行中正确、充分地利用这些数据进行互操作。FOM中的数据主要包括:联邦中的作为信息交换主体的对象类及其属性,交互类及其参数,以及对它们本身特性的说明。SOM描述的是各个仿真成员在联

73、邦运行过程中可以提供(公布)给联邦的信息,以及它需要(定购)从其它仿真成员接收的信息,它反映的是仿真成员具备的向外界“公布”信息的能力及其向外界“定购”信息的需求。与FOM一样,SOM中包含的数据也是作为信息交换主体的对象类及其属性和交互类及其参数以及对它们本身特性的说明。FOM/SOM是一种建模的标准化的技术和方法,它便于模型的建立、修改、生成与管理,便于仿真资源的重用。OMT由对象模型鉴别表、对象类结构表、属性表、交互类结构表、参数表、维数表、时间表示表、用户定义的标签表、同步表、传输类型表、开关表、数据类型和FOM/SOM词典组成。 高层体系结构高层体系结构(HLA)(3) 接口规范说明

74、(Interface Specification):描述了联邦成员与HLA运行时间框架(Run Time Infrastructure: RTI)之间的功能接口。 RTI是一组应用软件,在每个联邦成员的主机中都有驻留程序,可看作是一个分布式的操作系统。它作为分布式仿真的运行支撑系统,用于实现各类仿真应用之间的交互操作,是联接系统各部分的纽带,是HLA仿真系统的核心。联邦成员在开发过程中遵守相应的规则和与RTI的接口规范,在运行过程中也只与本机中的RTI驻留程序进行直接交互,其余的交互任务全部由RTI来完成。可见,HLA系统的通讯任务实际上是在分布的各个RTI部件之间完成的。 RTI为多种类型的

75、仿真间的交互提供了通用服务,这些服务主要包括如下六个方面: 高层体系结构高层体系结构(HLA)1 联邦管理(Federation Management):对联邦执行的整个生命周期的活动进行协调;2 声明管理(Declaration Management):提供服务使联邦成员声明它们能够希望创建和接收的对象状态和交互信息,实现基于对象类或交互类的数据过滤;3 对象管理(Object Management):提供创建、删除对象,以及传输对象数据和交互数据等服务;4 所有权管理(Ownership Management):提供联邦成员间转换对象属性所有权服务;5 时间管理(Time Manageme

76、nt):控制协调不同局部时钟管理类型的联邦成员(如DIS仿真系统、实时仿真系统、时间步长仿真系统和事件驱动仿真系统等)在联邦时间轴上的推进,为各联邦成员对数据的不同的传输要求(如可靠的传输和最佳效果传输)提供服务;6 数据分布管理(Data Distributed Management):通过对路径空间和区域的管理,提供数据分发的服务。允许联邦成员规定它发送或接收的数据的分发条件,以便更有效地分发数据。 高层体系结构高层体系结构(HLA)nHLA采用对称的体系结构。所谓对称的体系结构是指在整个仿真系统中,所有的应用程序都是通过一个标准的接口形式进行交互作用。共享服务和资源是实现互操作的基础。一

77、方面,HLA正是分布仿真的开发、执行同相应的支撑环境分离开,这样可以使仿真人员将重点放在仿真模型及交互模型的设计上,在模型中描述对象间所要完成的交互动作和所需交互的数据,而不必关心交互动作和数据交换是如何完成的;另一方面,RTI为联邦中的仿真提供一系列标准的接口(API)服务,用以满足仿真所要求的数据交换和交互动作完成,同时还要负责协调各个方面各个层次上的信息流的交互,使联邦能够协调执行。联邦成员在对象模型中声明的要求传输给相应的成员,并完成相应的网络操作,从而实现将变化的信息传输到需要的地方,这样可以大量减少网络负载,而不像DIS那样采用广播的方式将所有信息传输到所有结点。 高层体系结构高层

78、体系结构(HLA)n在HLA的体系下,由于RTI提供了较为通用的标准软件支撑服务,具有相对独立的功能,可以保证在联邦内部实现成员及部件的即插即用(Plug and Play),针对不同的用户需求和不同的目的,可以实现联邦快速、灵活的组合和重配合,保证了联邦范围内的互操作和重用。此外,防止同其支撑环境分离,通过提供标准的接口服务,隐蔽了各自的实现细节,可以使这两部分相对独立地开发,而且可以最大程度地利用各自领域的最新技术来实现标准的功能和服务,而不会相互干扰。这就使分布交互仿真的发展与计算机技术、网络技术和仿真技术的发展保持同步。HLA的体系结构特点可概括为: 仿真应用之间不直接通信,所以网络通

79、信功能集中由RTI实现。 向RTI发出某种接口服务的功能调用,RTI根据各个仿真应用的 需要,调动系统中的数据分布。 判断服务请求所要求的通信机制,最后按照所要求的通信机制与相应的仿真应用通信。 高层体系结构高层体系结构(HLA)n作为HLA核心的仿真运行支撑系统RTI的开发是HLA研究的重点,RTI实际上是一个中间件,它提供HLA接口规范中定义的标准接口调用,按照HLA规则开发的各类仿真应用能够方便地“插到”RTI之上,并通过RTI提供的服务完成各类仿真应用之间的互操作。目前,有美国国防部推出的DMSORTI 、瑞典PITCH公司的pRTI和美国MARK公司推出的MARKRTI,国内也有国防

80、科技大学推出了KDRTI。83虚拟现实技术虚拟现实技术 虚拟现实技术的基本概念虚拟现实技术的基本概念n近十余年来,计算机技术的发展进入了虚拟世界的领域,虚拟现实(Virtual Reality)技术又是发展最快的一项多学科综合技术,“虚拟现实是在计算机技术支持下的一种人工环境,是人类与计算机和极其复杂的数据进行交互的一种技术”,它综合了计算机图形技术、计算机仿真技术、传感技术、显示技术等多种学科技术。虚拟现实系统具有向用户提供视觉、听觉和触觉、味觉和嗅觉等感知功能的能力,人们能够在这个虚拟环境中观察、聆听、触摸、漫游、闻赏、并与虚拟环境中的实体进行交互,从而使用户亲身体验沉浸虚拟空间中的感受。

81、n虚拟现实通常是指头盔显示器和传感手套等一系列新型交互设备构造出的一种计算机软硬件环境,人们通过这些设施以自然的技能、听觉及触觉等多种感官的反馈。 虚拟现实技术的基本概念虚拟现实技术的基本概念n现阶段,虚拟现实技术已不仅仅是哪些戴着头盔显示器和传感手套的技术,而且还应包括一切与之有关的具有自然模拟、逼真体验的技术与方法。它要创建一个酷似客观环境又超越客观时空、能沉浸其中又能驾驭其上的和谐人机环境,也就是一个由多维信息所构成的可操纵的空间。它的最重要的目标就是真实的体验和方便自然的人机交互,能够达到或部分达到这样目标的系统就称为虚拟现实系统。n从概念上讲,任何一个虚拟现实系统都可以用三个“I”来

82、描述其特性,这就是沉浸“(Immersion)”“交互(Interaction)”“想象(Imagination)”。如图所示。 虚拟现实技术的基本概念虚拟现实技术的基本概念n这三个“I”反映了虚拟现实系统的关键特性,就是虚拟现实系统中人的主导作用,其表现是:n(1)人能够沉浸到计算机系统所创建的环境中,而不是仅从计算机系统的外部去观测计算处理的结果;n(2)人能够用多种传感器与多维化信息的环境发生交互作用,而不是仅通过键盘、鼠标与计算环境中的单维数字化信息发生交互作用;n(3)人可从定性和定量综合集成的环境中得到感性和理性的认识从而深化概念和萌发新意,而不仅从以定量计算为主的结果中得到启发和

83、对事物的认识。 图8.3.1 三I图 虚拟现实技术的基本概念虚拟现实技术的基本概念构建一个虚拟现实系统需要软、硬件的支持,硬件方面主要有: (1)高性能计算机。虚拟现实系统必须有运算速度高、图形能力强的计算机硬件支持,以实时处理复杂的图像并缩短参与者的视觉延迟。例如,SGI公司的InfiniteRealityTM系统的纹理填充可达到每秒20.6G象素,纹理下载速度是336Mbyte/秒,每秒可以处理244M、55的RGBA图像。 (2)头盔显示器。头盔显示器提供一种观察虚拟世界的手段,通常支持两个显示源及一组光学器件。这组光学器件将图像以预先确定的距离投影到参与者面前,并将图形放大以加宽视域。

84、 (3)跟踪定位系统。为了与三维虚拟世界交互,必须感知参与者的视线,即跟踪其头部的位置和方向,这需要在头盔上安装头部跟踪传感器。为了在虚拟世界中移动物体或移动参与者的身体,必须跟踪观察者的手位和手势,甚至于全身的各肢体的位置,此时参与者需要穿戴数手套和数据服装。另外,也可使用三维或六维鼠标和空间球等装置与虚拟世界进行交互。 虚拟现实技术的基本概念虚拟现实技术的基本概念(4)立体声音响和三维空间定位装置系统。借助立体声音响可以加强人们对虚拟世界的实际体验。声音装置采集或合成自然声音信号,并利用特殊处理技术使这些信号在360球体中空间化,使参与者即使头部在运动也能感觉到声音保持在原处不变。(5)触

85、觉/力量反馈装置。触觉反馈装置使参与者除了接受虚拟世界物体的视觉和听觉信号外,同时还能接受其触觉刺激,如纹理、质地感;力量反馈装置则可以提供虚拟物体对人体的作用力,或虚拟物体之间的吸引力和排斥力的信号。 虚拟现实技术的基本概念虚拟现实技术的基本概念在软件方面,虚拟现实系统除一般所需的软件支撑环境之外,主要是需要提供一个产生虚拟环境的工具集或产生虚拟环境的外壳。它至少具有以下的功能: 能够接受各种高性能传感器的信息,如头盔的跟踪信息; 能生成立体的显示图形; 能把各种数据库(如地形地貌数据库、物体形象数据库等)、各种CAD软件进行调用和互联的集成环境。具有典型代表性的虚拟现实系统软件有:虚拟世界

86、工具箱WorldToolKit(WTK)、MultiGen Creator、Vega、Maya、IRIS Performer、VTree、Open GVS等等。 虚拟现实技术的基本概念虚拟现实技术的基本概念典型的虚拟现实系统由效果产生器、实景仿真器、应用系统和几何构造系统组成。(1)效果产生器。效果产生器是完成人与虚拟环境交互的硬件接口装置,包括能产生沉浸感的各类输入装置,例如,头盔显示器、立体声耳机等,以及能测定视线方向和手指动作的输装置,例如头部方向探测器和数据手套等。(2)实景仿真器。实景仿真器是虚拟现实系统的核心部分,它由计算机软硬件系统、软件开发具及配套硬件(如图形和声效卡)组成,接

87、收或发送效果产生器产生或接收的信号。(3)应用系统。应用系统是面向具体问题的软件部分,描述仿真的具体内容,包括仿真的时态逻辑、结构,以及仿真对象之间和仿真对象与用户之间的交互关系。应用软件的内容直接取决于虚拟现实系统的应用目的。(4)几何构造系统。几何构造系统提供了描述仿真对象的物理属性(外形、颜色、位置等)信息,虚拟现实系统的应用系统在生成虚拟世界时需要使用和处理这些信息。 虚拟现实技术的基本概念虚拟现实技术的基本概念n实物虚化、虚物实化和高效的计算机信息处理是虚拟现实技术的三个主要方面。n实物虚化是将现实世界的多维信息映射到计算机的数字空间生成相应的虚拟世界。主要包括实体建模、空间跟踪、声

88、音定位、视觉跟踪和视点感应等关键技术。这些技术将现实世界中的各种事物的多维特性映射到计算机的数字空间生成虚拟世界中的对应事物,并使得虚拟环境对用户操作的检测和操作数据的获取成为可能。n虚物实化是使计算机生成的虚拟世界中的事物所产生的对人的感官的各种刺激尽可能逼真地反馈给用户,从而使人产生沉浸感。主要是视觉、听觉、力觉和触觉等感知技术。n高效的计算机信息处理,包括信息获取、传输、识别、转换,涉及理论、方法、交互工具和开发环境,是实现实物虚化和虚物实化的手段和途径。一般来说,虚拟现实中计算机信息处理需要高计算速度、强处理能力、大存储容量和强实时联网特性等特征。主要涉及数据管理技术、图形图像生成技术

89、、声音合成与空间化技术、模式识别以及分布式和并行计算等等关键技术 8.3.2 分布式虚拟现实系统分布式虚拟现实系统n分布式虚拟现实系统(Distributed Virtual Reality,简称DVR)是单用户虚拟现实系统网络化、多用户化的发展。传统的虚拟现实系统实现了单个用户在虚拟环境中的漫游、与虚拟环境及其中的物体进行交互。分布式虚拟现实系统旨在将不同的局部虚拟环境通过空间关联以构造大范围的虚拟环境,并与之进行交互。分布式虚拟现实系统又称为分布式虚拟环境DVE(Distributed Virtual Environment)或分布式虚拟现实环境(Distributed Virtual R

90、eality Environment)。nDVR应具备下列关键特性: (l) DVR允许一组分布在不同地理位置上的用户进行实时交互。这个用户组能同时容纳几千个用户,甚至更多。例如,一个正在演播室中演奏的音乐家应该可以走进一个虚拟的音乐会场中,与正在听他演奏的数万名世界各地的观众见面。 8.3.2 分布式虚拟现实系统分布式虚拟现实系统(2) DVR所构造出的虚拟环境对用户的视觉和听觉来说都应该是三维的。当用户在虚拟环境中漫游时,用户的视觉和听觉透视效果也会同时发生变化。与视频会议系统不同,所有的DVR用户被封装在同一个虚拟世界中。例如,他们同坐在一个房间的会议桌周围,或同在一个虚拟建筑物内走动。

91、(3) DVR的每个用户在计算机环境中都以替身的形式出现,这个替身或者是一个自定义的图形描述,或者是用户的视频,或者是两个的组合。(4) 用户除与其他用户交互之外,还可以与其它计算机仿真的虚拟生物交互。虚拟世界的一个最吸引人的地方在于它允许用户超越现实的局限,允许现实中不存在或不能存在的一些事情发生。(5) 用户能够相互说话,也能与计算机生成的虚拟生物或对象说话,虚拟生物也能作出反映。 8.3.2 分布式虚拟现实系统分布式虚拟现实系统 总之,动态、交互、沉浸、分布化四个词应该能在一定程度上总结DVR所应具备的特性。 目前,在DVR系统中,虚拟环境的分布主要有两种结构:集中式和复制式。集中式是把

92、虚拟环境存放在中心服务器中,对虚拟环境的实时操纵和协同处理都是由中心服务器来管理的,用户需要更新或获取虚拟环境中的信息时,它向中心服务器申请,由中心服务器响应申请后得到用户所需要的信息并传输给用户;复制式是在多个地点放置虚拟环境与虚拟环境的管理系统,每个参加者只与应用系统的局部备份进行交互。 集中式虚拟环境一般具有统一的局部数据库,也就是说组成虚拟世界的所有对象(数据库)是完全相同的,虽然不同的用户可以看到虚拟空间的不同部分,但是在局部数据库中装入的是相同的对象。这样结构简单易于实现,但是由于输入和输出都有广播给其它所有结点,因而对网络通讯带宽有较高的要求,且稳固性差。 8.3.2 分布式虚拟

93、现实系统分布式虚拟现实系统n复制式虚拟环境可以使用统一的局部数据库也可以使用不同的局部数据库,复制式虚拟环境结构较复杂,但由于每个参与者只与应用系统的局部备份进行交互,所需网络带宽较小且交互效果好,其缺点是当系统有多个备份时,需要有控制机制来保证每个用户得到相同的输入事件序列,因此维护信息和状态一致性较困难。 8.3.3 虚拟现实技术的应用虚拟现实技术的应用n由于虚拟现实在技术上的进步与逐步成熟,其应用在近几年发展迅速,应用领域己由过去的娱乐与模拟训练发展到包含航空、航天、铁道、建筑、土木、科学计算可视化、医疗、军事、教育、娱乐、通信、艺术、体育等广泛领域。几种典型的应用是:n(1)飞行模拟器

94、(Fight Simulator)n飞行模拟器由仿真计算机、视景系统、运动系统、操作负载系统、音响系统和模拟座舱组成。仿真机解算描述飞行动力学、机载系统特性的数学模型。视景系统利用计算机图像实时生成技术,产生座舱外的景象,包括机场与跑道、灯光、建筑物、田野、河流、道路、地形地貌等,视景系统应模拟能见度、云、雾、雨、雪等气象条件,以及白天、黄昏、夜间的景象,视景系统使飞行员有身临其境的感觉。运动系统给飞行员提供加速、过载等感觉。音响系统模拟发动机噪声、气流噪声等音响效果。模拟座舱具有与真实飞机座舱一样的布局,其中仪表显示系统实时显示飞机的各种飞行参数和机载系统的运行状态。 8.3.3 虚拟现实技

95、术的应用虚拟现实技术的应用n飞行员在模拟座舱内根据窗外景象信息、舱内仪表显示信息等做出决策,通过驾驶杆、舵对飞机进行操纵,操纵量经过转换输入仿真计算机,解算飞行动力学数学模型,获得相应的飞行高度、飞行速度、飞机姿态等飞行参数,更新窗外视景和仪表显示。通过飞行模拟器训练飞行员是一条经济、安全、可行和有效的途径。n(2) 虚拟战场 (Virtual Battlefield)n传统的实战演习需要耗费大量的资金,且安全性保密性差。通过建立虚拟战场环境来训练军事人员,同时可以检验和评估武器系统的性能,这使军事演习在概念上和方法上有了一个新的飞跃。在虚拟战场环境中,参与者可以看到在地面行进的坦克和装甲车,

96、在空中飞行的直升机、歼击机和导弹,在水中游弋的潜艇;可以看到坦克前进时后面扬起的尘土和被击中坦克的燃烧浓烟;可以听到飞机或坦克的隆隆声由远而近,从声音辨别目标的来向和速度。武器平台(坦克、装甲车、歼击机、直升机、导弹等)由仿真器实现,它们可以分布在不同地区,通过广域网联接进行数 8.3.3 虚拟现实技术的应用虚拟现实技术的应用n据通讯。虽然武器平台不在同一地区,距离相隔很远,但虚拟战场环境描述的是在同一空间、同一地域和同一时间。前面所述的分布式虚拟现实技术主要用于虚拟战场的开发。图是一个虚拟指挥中心。 图8.3.2 虚拟战场演示图 8.3.3 虚拟现实技术的应用虚拟现实技术的应用n(3) 虚拟

97、样机(Virtual Prototyping) 虚拟样机是一种基于仿真的设计(Design -Based on Simulation),包括几何外形、传动和联接关系、物理特性和动力学特性的建模与仿真。与传统的设计方法相比,采用虚拟技术建立的虚拟样机,易于修改和优化设计方案,使产品设计满足高质量、低成本、短周期的要求,提高产品的更新换代速度和市场的竞争力。虚拟样机技术将对产品的传统设计方法产生变革。一个典型的成功例子是美国波音777飞机采用了虚拟技术实现了无图纸设计和生产,。波音公司利用SGI计算机系统成功地创建了波音777飞机的虚拟样机,使设计师、工程师们能穿行于这个虚拟飞机中,审视飞机的各项

98、设计。波音777飞机由300万个零件组成,计算机系统能够调出其中任何一个零件,进行修改设计。 8.3.3 虚拟现实技术的应用虚拟现实技术的应用n(4) 虚拟制造(Virtual Manufacturing) 虚拟制造是实际制造过程在计算机上的本质体现,即采用计算机仿真与虚拟技术,通过仿真模型,在计算机上仿真生产全过程,实现产品的工艺规程、加工制造、装配和调试,预估产品的功能、性能等方面可能存在的问题。虚拟制造从本质上讲就是利用计算机生产出“虚拟产品”。(5)信息可视化 (InformationVisualization) 科学计算可视化主要解决如何通过虚拟现实的手段生动地表现科学数据的内部规律

99、与计算过程,如天气云图的运动规律、空气湍流的特性等。而信息可视化则更进一步,主要用于表现系统中信息的种类、结构、流程以及相互间的作用等。信息可视化能有效地揭示复杂系统内部的规律,解决无法定量、而定性又很难准确表达的问题。 8.3.3 虚拟现实技术的应用虚拟现实技术的应用n(6)虚拟现实技术与其他技术结合的应用n与医疗技术结合实现医生远程做手术,医生在远地通过虚拟现实技术观察病人的身体,医生进行手术的动作通过通信技术传输到远地的病人处,由一个机械手真正地实施手术,结果再传输到医生处,并通过虚拟现实技术表现给医生。这样,医生便能够像在本地一样观察病人、实施手术,看到手术的结果,并重复上述过程动作,

100、以完成一个完整的手术。 与影视技术结合建立虚拟演播室、电影特技、虚拟广告等。 与艺术的结合产生了虚拟文化遗产保护系统。人们利用虚拟现实技术把这些文化遗产数字化。数字化的文化遗产具有可以多份拷贝、可以支持人们在远地浏览等优点,对保护文化遗产应具有一定的支持作用。 与通信技术相结合产生分布式虚拟现实、协同虚拟现实与虚拟空间会议系统等。 8.3.3 虚拟现实技术的应用虚拟现实技术的应用n总之,虚拟现实已由过去只有一些政府特殊部门才能用得起的技术,发展到很多领域,甚至己渗入到一些人的日常生活中。但是应该看到,这项技术还有更广泛的应用前景,通过与互联网技术结合,应该可以构造出一个更加完美的虚拟世界,人们

101、可以在虚拟世界中聊天、购物、逛街、旅游、工作,如同是在现实世界一样。但要实现这一目标,还有大量的技术需要研究。比如廉价的图形加速器、无需戴在头上的立体显示器、虚拟环境的快速建模技术,甚至无需三维建模实现虚拟场景的生成与自由漫游等等。8.4建模与仿真的建模与仿真的VV&A技术技术 8.4.1 概述概述n仿真是基于模型的实验,在建模过程中不可避免会忽略掉一些次要因素和不可观察的因素,且对系统作了一些理论假设和简化处理,因此模型是对所研究的系统的近似描述,继而又利用各种仿真算法开发出仿真模型并给出仿真结果。对于上述建模与仿真过程必然存在所建立的概念模型是否正确地反映了仿真需求?所采用的数学模型是否合

102、理?仿真程序的设计和实现是否正确?仿真结果与真实系统输出的一致性程度怎样?等等问题。这些问题都是仿真开发者、仿真用户和决策管理人员关心的问题,它们由建模与仿真的校核、验证和确认(Verification、Validation and Accreditation:VV&A)来回答。 8.4.1 概述概述美国国防部5000.61中对VV&A的定义是: 校核校核是确定仿真系统是否准确地代表了开发者的概念描述和设计的过程。 验证验证是从仿真系统应用目的出发,确定仿真系统代表真实世界的准确程度的过程。 确认确认是官方正式地接收仿真系统能够为专门的应用目的服务的一种资格认可。VV&A是三个既相互联系又相互

103、区别的过程,它们贯穿于建模与仿真的全生命周期中,目的是为了提高和保证模型和仿真的精度和可信度,使仿真系统满足可重用性、互操作性等仿真需求。 8.4.1 概述概述n国外早在20世纪60年代开始对模型的有效性问题进行研究,并在概念和方法性研究方面取得了许多重要成果,例如美国国防部成功地对“爱国者”导弹半实物仿真模型进行了确认,还有BGS(Battle Group Simulation)、LDWSS(Laser Designator/Weapon System Simulation)等武器仿真系统都经过了确认和验证;美国宇航局(NASA)对TCV(Terminal Configured Vehicl

104、e)仿真系统进行了专门的确认;美国国防部对“星球大战”计划及其后续的“战区导弹防御计划”中的仿真项目都拟订并实施了相应的VV计划。 8.4.1 概述概述n美国国防部(DOD)明确提出有必要提高国防部建模与仿真的正确性和仿真结果的可信性,并于1991年成立了“国防建模与仿真办公室(DMSO)”负责此项工作,而且DMSO于1993年春天成立了一个基础任务组,以制定一个关于仿真VV&A的国防部指南;美国各军种,包括陆、海、空和潜水部队,以及弹道导弹防御办公室BMDO,都先后制定了适合各自实际要求的VV&A细则,美国国防部5000系列指令提出了关于国防部武器装备采购的新规范和要求,其中国防部指令500

105、0.59关于国防部建模与仿真的管理,5000.61国防部建模与仿真VV&A明确规定了国防部在建模与仿真应用方面的一系列政策,要求国防部所属的各军兵种制定其建模与仿真主计划(Modeling and Simulation Master Plan)和仿真系统的VV&A规范,并在仿真系统开发过程中大量推广应用有关的VV&A的活动,以提高仿真系统的可信度水平。另外,国家标准和技术机构(NIST)于1992年发表了一个适应性较广的VV&A标准;美交通部和核管理委员会都有相应的VV&A准则;计算机仿真学会(SCS)的标准技术机构在1993年中期成立了一个VV&A委员会。 8.4.1 概述概述n1996年,

106、DMSO建立了一个军用仿真VV&A工作技术支持小组,该小组负责起草国防部VV&A建议规范(VV&A Recommended Practice Guides),小组参考了国防部关于建模与仿真及其VV&A方面的指令规范、各种VV&A工作情况总结和大量的学术论文和会议纪要,于1996年11月完成了建议规范的第一版,2000年公布了第二版,这是目前关于仿真系统的VV&A最为全面的工具书。另外,IEEE也于1997年通过了关于分布交互仿真系统VV&A的建议标准IEEE1278-4,这是关于分布交互仿真系统VV&A的一个比较全面的指导。n在我国,建模与仿真的VV&A技术也日益受到广大仿真工作者和管理者的重

107、视,发表了许多关于仿真系统VV&A与可信度评估问题的文章。比如,关于仿真算法所引起的仿真精度研究,采用灰关联度、谱分析等方法对导弹、鱼雷模型进行的验证研究等。但是有关VV&A的概念、理论和标准的研究还有待进一步深入。 8.4.2 VV&A技术与方法技术与方法nVV&A技术与方法是在仿真系统VV&A过程中为完成VV&A工作各阶段目的而采用的各种技术、工作策略等的总称。仿真系统是融合了建模技术、系统科学、软件工程和其它有关专门领域知识的复杂系统,因此仿真系统的VV&A应该充分吸收有关领域成功的测试与评估方法。美国国防部公布的VV&A建议规范总结了76种校核与验证方法,分为非形式化方法、静态方法、动

108、态方法和形式化方法四大类,其中动态方法中包括了11种统计技术,从非形式化方法到形式化方法,其理论性越来越强而难度也越来越大。下面介绍一些常用的技术和方法。n(一)非形式化方法 非形式化方法是最常用的方法。非形式化方法和工具十分依赖人的主观因素,没有严格的数学形式化描述,但是这些方法在使用过程中并不缺少结构和形式的指导原则,在实践中往往能够发挥重要作用。 8.4.2 VV&A技术与方法技术与方法1桌面检查 由软件开发人员检查自己编写的程序,对源程序代码进行分析,检验,并补充相关的文档,目的是发现程序中的错误。检查项目有:变量的交叉引用表、标号的交叉引用表、子程序、宏、函数、常量以及等价性、标准和

109、风格等方面。由于程序员熟悉自己的程序及其程序设计风格,可以节省很多的检查时间,但应避免主观片面性。这种检查应在软件开发早期实施,最好在设计编码之后、系统测试之前使用。桌面检查的文档是一种过渡性的文档,不是公开的正式文档。通过编写文档,也是对程序的一种下意识的检查和测试,可以帮助程序员发现和抓住更多的错误。管理部门也可以通过审查桌面检查文档,了解模块的质量、完全性、测试方法和开发人员的能力。2走查 在仿真开发过程中,程序走查是请某个机构对设计的某些元素及仿真实现进行审查。走查的目的是以有效的方式及时提供仿真开发过程的高质量反馈信息。为了满足这个要求,走查可以是个非正式的过程,开发人员打印相关源代

110、码和设计文档,然后召集一些人进行检查。程序走查是一个双向信息交换的过程,检查人员可以为开发人员提供建议、意见和设计缺陷等。在检查过程中,将这些建议以一定形式记录或在信息丢失之前提供给开发人员。 8.4.2 VV&A技术与方法技术与方法n在仿真开发过程中需要多次走查。例如,初次走查在设计完成之后,先于软件实现。这个早期的检查需要将不确切的假设和设计中的错误反馈给开发人员。它还能指出设计中的混浊概念和不必要的复杂性,简化实现过程并减少软件错误。当设计非常复杂或设计紧密依赖于有问题的数据和模型时,设计走查非常必要。如果设计相对简单并基于良好的物理模型,设计走查就没有必要了。在程序实现后、测试之前,也

111、应该进行走查。开发人员已经发现和修正了许多设计和实现中的错误,但软件还有一些错综复杂的缺陷。这时,程序走查可以有效地定位开发人员没有发现的问题,从而避免测试中进行故障检测和隔离所需要的费用。n在仿真项目中,每一个开发人员都参与设计、实现不同组件的模型及外部环境的影响模型。将这些不同的模型分解为合理大小的组件非常重要。在每一个组件开发过程中,都应当进行程序走查。 8.4.2 VV&A技术与方法技术与方法3审查 审查与走查概念类似,但它更为正式,且将管理作为它的一个组成部分。审查的目的是为管理者、用户和其他希望开发过程满足适当要求的人提供依据。在审查中,开发人员提供信息以说明开发是按预算和计划进行

112、的,且产生了期望的结果。审查将功能放置在监督级,而不仅仅是技术级。审查更重视产品的质量,而不仅仅是验证其正确性。审查组常常关注开发策略和开发过程,及合理的假设。审查还验证是否使用了合适的建模方法,以及结果模型的文档是否规范。 审查是与仿真用户沟通仿真开发状态和过程的最佳时间,审查重视满足用户的利益。如果用户确定哪些领域需要在软件开发过程中被重视,审查小组就应该关注于这些问题。例如,用户可能认为建模太简单,希望建立更高真实度的模型,以满足他们的需要。 8.4.2 VV&A技术与方法技术与方法(二) 静态分析 静态分析方法关心的是基于源代码的特性的精度评估。它不需要执行模型,但内部执行可以,这种技

113、术应用很广,也有许多工具来辅助,例如仿真语言编译器本身就是静态VV&T工具或CASE工具等。静态技术可以获得模型结构的许多信息,如模型内部的编码技术、数据流、控制流、集成精度、实现的内部或全局的一致性和完整性。 因果关系图:考查模型中的因果关系是否正确,它首先根据模型设计说明确定模型中的因果关系用因果关系图表示出来,在图中注明导致这些因果关系的条件。根据因果关系图,就可以确定导致每一个结果的原因。借此可以创建一个决策表,并将其转化为测试用况对模型进行测试。 8.4.2 VV&A技术与方法技术与方法n控制分析:控制分析技术包括调用结构分析、并发过程分析、控制流分析和状态转移分析。调用结构分析是通

114、过检查模型中的过程、函数、方法和子模型之间的调用关系来评价模型的正确性。并发过程分析在多任务和分布式仿真中非常有用,这个分析可以确定在单个处理器或多个处理器上哪些处理线程是同时激活的。需要分析和确定处理时间需求以及在这些线程中进行通信的同步需求,以此来确定仿真是否运行良好。通过并发过程分析,可以发现诸如死锁等潜在的问题。控制流分析是建立一幅节点图,其中有条件分支节点,也有流汇合节点。这些节点由边连接,这些边描述的是顺序代码语句块。控制流分析通过检查每个模型内部的控制流传输顺序即控制逻辑来检查模型描述是否正确,在验证设计的正确性和不足之处时非常有用。当模型的控制算法可以用有限状态集表示时,常用状

115、态转移分析法。在这种情况下,模型间状态转移的条件用状态转移图表示,它可以分析和确定设计正确与否、仿真实现与设计是否匹配。 8.4.2 VV&A技术与方法技术与方法n数据分析:数据分析包括数据流分析和数据相关性分析。这些方法可以保证仿真中用的数据对象是经过良好定义的,且具有恰当的操作。数据流分析通过构建数据流图以显示仿真中使用的数据对象。数据流在检测未定义和未使用的数据元素时非常有用,它可以帮助确定不一致的数据结构以及不合适的数据连接。数据相关性分析是确定某个数据与其他数据的依赖关系。这个分析在多线程和多处理器仿真时非常重要。当一个线程或一个进程存取数据元素之前、正在存取或存取之后,这个分析可以

116、确定该数据元素的操作的一致性和正确性。n接口分析:包括模型接口分析和用户接口分析。模型接口分析是检验仿真模型中每一个模型的接口是否均正确、完善和明确。作为这个分析的一个要素,每一个模块的输入、输出变量的单位必须明确定义。由于模型的接口己早在软件开发过程中定义了,模型接口分析应在全部模型开始开发前进行。用户接口分析是检查用户使用的参数和任何其他设置,用户可能通过这些交互而影响模型行为,即检查仿真用户和仿真模型间交互,其目标是确定用户与模型的交互功能是否会给系统引入一些错误。 8.4.2 VV&A技术与方法技术与方法n可追溯性分析:确定模型中不同形式的元素与其他元素的匹配情况。例如,从需求定义阶段

117、转换到设计阶段,再从设计阶段转换到实现阶段时,比较模型的需求规范和模型的实现代码,确定还没有实现的需求,并确定不符合需求的元素。n语法和语义分析:语法分析在将源代码编译成目标代码时进行。这个分析保证源代码遵循编程语言规则。语义分析也在编译过程中进行,根据源代码确定软件开发人员的编程意图。在语法和语义分析中,利用编译器或其他自动源代码分析工具可以产生大量对仿真开发人员有用的信息,可以很有效地避免软件错误,改善软件质量。 8.4.2 VV&A技术与方法技术与方法n(三) 动态分析技术n动态技术需要执行模型,基于模型的运行行为进行评估。在可执行的模型中插入“探测器”以收集模型行为,探测器的位置由人工

118、或自动根据对模型结构的静态分析结果来确定。自动探测由处理器来实现,处理器分析模型静态结构并把探测器放在合适的位置上。动态技术一般按以下三个步骤进行:第一步在程序模型或实验模型中加入探测器;第二步执行模型,由探测器收集模型行为信息;第三步分析模型输出,评估动态模型行为。n图形比较:通过比较不同数据源的时域图形,检查曲线之间的在变化周期、曲率、曲线转折点、数值、趋势等方面的相似程度,对仿真结果进行定性分析。这种比较技术是比较主观的,必须要求熟悉系统的人实施时才很有效,通常该方法用作初始的V&V手段。 8.4.2 VV&A技术与方法技术与方法n运行测试:运用具有分析和跟踪程序行为功能的软件工具进行测

119、试。分析程序在仿真执行时,可以获得程序行为的高级信息,例如哪些源代码被执行了,每一个函数被调用了多少次等。一个分析程序可以收集每一个函数的运行时间等信息。跟踪是人工一条一条执行仿真程序的方法,通常在调试中使用这种方法。大多数高级程序语言开发环境提供具有源代码的单步执行能力,及确定和修改程序变量值的能力的调试工具,在跟踪过程中,软件开发人员执行每一条程序以检验其是否与期望值吻合。跟踪测试提供了一个验证软件运行正确性的早期测试方法。一个独立的模块也需要进行跟踪测试。这种测试应遍历源代码的所有分支,即运用调试器的能力,要尽可能设计测试用况,使测试可以检验所有的程序 8.4.2 VV&A技术与方法技术

120、与方法n比较测试:是对模型的多个版本或多个系统仿真进行测试时,对具有相同的输入的不同模型和仿真进行比较,比较彼此的输出,分析输出结果的误差,以确定是否在模型或仿真间存在很大的误差。如果发现有很大的误差,必须确定误差源并确定在两者中是否存在错误或不恰当的假设。由于HIL仿真常要求对系统模型进行简化和优化,以满足实时运行速度的要求,因此比较测试在进行HIL非实时仿真时非常有用,需要在两个仿真版本间进行仔细的比较测试,以确定这些变化是否会对实时仿真精度产生影响。另外,我们认为一个通过了所有V&V测试的仿真可以认为是正确的版本,但不能保证它无错。 8.4.2 VV&A技术与方法技术与方法n回归测试:可

121、以保证仿真中的变化不会引起系统误差并造成负面影响。回归测试是用早期仿真版本的测试数据重复对新仿真版本进行测试。由于在建立回归测试时,早期测试已定义了输人,因此当前测试过程不需要重新规定输入。早期测试得到的输出数据必须存储好,因为它是确定当前测试是否正确的基础。仿真项目的过程包括连续的变化以及对仿真模型增强,因此保持V&V过程的完整性是非常重要的。回归测试是在仿真发生变化时保持完整测试的最主要的工具。n 测试:是在仿真早期由仿真用户而不是由开发人员实施的测试。这种测试是用户第一次通过仿真直接体验系统。随着用户实施仿真,他们会面临许多问题,并将这些问题反馈给开发人员。开发人员针对这些反馈意见对仿真

122、软件与文档进行更新。测试是紧跟测试阶段的,测试是由仿真开发者在最初版本完成之后对模型和仿真进行的测试。 8.4.2 VV&A技术与方法技术与方法n功能测试:也称黑盒测试,是评价模型输入输出变换的正确性的方法。在功能测试中,将给定输入应用到模型中,用输出结果检验模型的正确性,且并不直接分析模型的实际处理过程。测试输入数据并不在多,但覆盖面要尽量广。实际上,对于大规模的复杂系统仿真来说,测试所有的输入输出情况是不大可能做到的,功能测试的目的在于提高对于模型使用的信心,而不是验证它是否绝对正确。n结构测试:又称白箱测试,与功能测试不同的是,结构测试要对模型内部逻辑结构进行分析,它借助数据流图和控制流

123、图,对组成模型的要素如声明、分支、条件、循环、内部逻辑、内部数据表示、子模型接口以及模型执行路径等进行测试,并根据结果分析模型结构是否正确。 8.4.2 VV&A技术与方法技术与方法n灵敏度分析:在一定范围内改变模型输入值和参数,观察模型输出的变化情况。如果出现意外的结果,说明模型中可能存在错误。通过灵敏度分析,可以确定模型输出对哪些输入值和参数敏感。相应地,如果我们提高这些输入值和参数的精度,就可以有效提高仿真输出的正确性。n统计测试:通过比较模型输出数据与系统输出数据的一致性达到模型验证的目的。利用统计技术的前提是模型与系统在相同的输入数据的情况下运行,且被建模的系统完全可观测,可以获得模

124、型验证的所有数据。下面是几种常用于模型验证的统计技术。 THEIL不等式系数法不等式系数法 假设(t=1,2,n)是实际系统运行时主要测量参数的时间序列,(t=1,2,n)是仿真系统仿真运行所产生的相应时间序列,THEIL不等式系数定义为 8.4.2 VV&A技术与方法技术与方法 (8.1) 当=对于所有的成立时,表示两个时间序列完全一样;而当= 对于所有的成立时,表示两个时间序列完全不一样。越接近于0,则表示两个序列越一致,而越接近于1,则表示两个序列越不一致。 8.4.2 VV&A技术与方法技术与方法灰色关联度法灰色关联度法 定义和之间的灰色关联系数为 (8.2)当 (常数)时,则定义 ,

125、 称为分辨系数, 的取值视具体情况而定,一般取 。对于给定的 越大,则认为 及 之间的关联程度越高。可以证明: n由于关联系数与各个采样点有关,信息过于分散,不便于分析,因而有必要将各个时刻的关联系数集中在一起,该点的值就是灰关联度。n灰关联度的定义如下式 8.4.2 VV&A技术与方法技术与方法 n当 取值比较小的情况下仍能得到较大的 (大于0.5),则认为仿真模型输出与参考输出之间具有较强的相关性,而且对于取定的 , 越大,二者的关联性越强。 分析法分析法 其原理是计算两个随机序列在频率域中的功率谱,通过比较功率谱的一致性来判断两个随机序列一致性的程度。设上述两个时间序列的功率谱密度为 对

126、二者作古典谱窗估计,求谱密度函数估计值 (8.4) 8.4.2 VV&A技术与方法技术与方法n式中 为延迟窗, 为自相关函数。由谱估计的渐近性质: 其中v为等价自由度 (8.5) 不同的窗函数 值不一样。 利用 的渐近分布可以对 作区间估计。以 表示 分布的/2分位数,即 。由式(8.35)可得,置信水平为1-的区间为 即 8.4.2 VV&A技术与方法技术与方法 按100(1-)%置信区间 比较和 , / 可由下式给出: (8.7) 是分子、分母为个自由度的F分布第P次百分比点。 如果置信区间上、下限包含 / =1,则在该频率点上两个时间序列是相等的。要使两个时间序列相等,它们的频谱必须在所

127、有频率 (j=0,1,2,n)均相等。因此,如果在每个频率上置信度区间都包括1,则仿真结果得到确认。 这种古典谱窗估计方法在理论和算法上比较成熟 8.4.2 VV&A技术与方法技术与方法n置信区间法置信区间法n模型输出变量的精度用模型输出变量的均值 与系统输出的变量的均值 差的置信区间给出,用户给出模型的可接受精度作为判断模型是否有效的标准,即n式中 、 、 都是矢量,分量形式 ,式中 、 分别为模型与系统输出变量j的均值, 为用户要求变量j达到的精度。只有当所有模型输出变量的精度都满足时,模型才是有效的。 8.4.2 VV&A技术与方法技术与方法n应用置信区间法时,如果真实方差未知,仅能从测

128、量结果估计方差,这要求大量地采样值以提高可接受的精度。在许多仿真情况下,由于测试费用和测试时间的限制,系统测试的采样样本量是有限的,因此置信区间法的应用将受到限制。n假设检验法假设检验法 假设检验法适于处理大样本情况下的静态性能数据,如鱼雷脱靶量、稳定航行的深度偏差信号等。在仿真数据与实际系统数据之间使用统计推理,根据样本中的信息来研究试验的典型统计量,是接受还是拒绝假设的决策取决于仿真输出数据与实际系统输出数据的接近程度,例如Kilmogorov-Smirnov检验、 检验等。假设检验法同样会受到诸如样本容量、独立同分布等条件的限制。 8.4.2 VV&A技术与方法技术与方法n(五)确认方法

129、n确认是指由领域专家或决策部门对整个建模与仿真过程及其结果可信度进行综合性评估,从而认定仿真系统和仿真结果相对于特定的研究目的来说是否可以接受。确认可以是模型或仿真满足具体的应用的一种官方认证。n在国外,有专门的确认代理和确认权威共同完成确认工作。确认代理是对确认评估负主要责任的一个组织,它给确认权威提供确认报告,确认权威最终决定确认结果。VV&A过程中,确认代理要检查和认可的工作有: 建立M&S需求与可接受规范; 对M&S(或联邦)进行初始分类; 检查中间结果; 优先执行测试; 在M&S完成后,给出结论。 8.4.2 VV&A技术与方法技术与方法确认权威的决策结论有以下几种: 满足其应用目的

130、的模型或仿真; 需加以限制的模型或仿真; 在使用前修改模型或仿真; 需实施其它的校核与验证; 不满足应用目的的模型或仿真。后三个确认结果将会造成额外的费用并延迟项目验收,或可能造成项目计划的剧烈变化,因此VV&A计划中必须确定确认的权威性,确认代理或机构应该有能力分析V&V报告,确定仿真是否满足要求。 8.4.3 VV&A的过程及基本原则的过程及基本原则n图描述了贯穿于建模与仿真(M&S)全生命周期中的VV&A过程模型,主要包括以下步骤:(1)需求校核;(2)制订VV&A计划;(3)概念模型的校核和验证;(4)设计校核;(5)仿真实现验证;(6)仿真结果验证;(7)仿真系统确认。n需求校核:需

131、求校核:仿真系统开发从对所研究问题的清晰的描述与定义开始,只有准确完整地定义了问题才可以确定系统需求,而需求又是确定VV&A评估标准的依据,因此定义问题和确定需求是整个仿真研究和VV&A活动最重要的阶段。需求校核的目的是保证仿真系统需求的正确性、完整性、一致性和可追溯性,需求分析是一个允许修改的过程,需求V&V结论反馈给仿真用户和仿真系统开发者,在进行下一步开发之前仿真用户和仿真开发人员将需求中所有的不准确、不完整和不一致的内容加以修改和补充,最后的需求分析说明书是制定VV&A计划和执行VV&A过程的重要参考资料。 8.4.3 VV&A的过程及基本原则的过程及基本原则n 图8.4.1 M&S全

132、生命周期中的VV&A过程 8.4.3 VV&A的过程及基本原则的过程及基本原则n制定制定VV&A计划:计划:VV&A人员根据需求V&V的结果,设计仿真系统VV&A计划的草案。全面详细的VV&A计划并严格按VV&A计划执行V&V过程对于仿真系统的确认十分重要。IEEE Standard 1059 中指出:计划的目标是有效地利用V&V资源,监督、控制V&V执行过程,明确VV&A参与者的作用与责任。仿真系统VV&A计划的设计应与仿真系统需求分析和开发计划设计阶段同步开始,并且延伸到概念模型V&V和设计校核阶段。n概念模型概念模型V&V:概念模型V&V的目的是确保概念模型对满足仿真系统需求,达到预期应

133、用目标是合理、恰当和正确的。其主要任务是: 8.4.3 VV&A的过程及基本原则的过程及基本原则 校核概念模型是否与仿真系统需求相符合,是否包含了所有需求; 校核建模过程中的假设、算法以及约束条件是否正确,所用数据是否有效,模型结构等是否满足仿真系统应用目标的需求; 校核概念模型是否能满足仿真系统整体的性能指标要求; 验证概念模型是否满足仿真系统的可信度要求,确定模型可接收的标准; 校核概念模型与需求之间的可追踪性。 8.4.3 VV&A的过程及基本原则的过程及基本原则n设计校核:设计校核:详细设计是进行系统构建的规划,主要工作是分析并设计系统元件、元素、函数等。对详细设计进行校核的目的是在开

134、始软件编码和硬件实现之前,保证详细设计的内容符合概念模型,建立仿真系统设计和概念模型对应关系图保证两者之间的可追踪性。对于软件,需校核功能模块划分、数据、接口、网络方案等,校核软件测试计划和软件度量分析计划,确定计算机辅助软件工具和方法。对于硬件,检查硬件设计结构图、接口控制图、电气机械设计、动力、电气及机械接口兼容性和总体性能。n仿真实现仿真实现V&V:在仿真系统的实现阶段,VV&A人员与仿真系统开发人员协同工作保证软件编码和硬件实现的正确性。主要工作是代码校核、硬件校核、初始数据校核和集成系统校核: 8.4.3 VV&A的过程及基本原则的过程及基本原则n仿真结果验证:仿真结果验证:仿真结果

135、验证是VV&A工作中最重要的内容,仿真结果验证通常涉及仿真结果与真实世界的比较问题,往往需要真实世界数据的支持,通过全面的迭代测试和对所有功能、模型行为、仿真输出响应的分析验证仿真系统和实际系统的一致性程度,说明仿真系统是否达到了预期应用目标。n确认:确认:确认是用户或由官方正式评估仿真系统的可用性。应当注意的是确认不是在所有校核和验证任务完成后才开始,而是与需求校核和验证同步进行的,因为在需求V&V后就已经确定了仿真系统确认的标准。所有校核和验证完成后,对所有阶段性报告进行汇总,并综合考虑V&V结果、仿真系统开发和使用记录、仿真系统运行环境要求、配置管理以及仿真系统中存在的局限和不足,对照确

136、认标准做出仿真系统是否可用的确认结论,并提交报告。 8.4.3 VV&A的过程及基本原则的过程及基本原则n在VV&A实践中,人们总结了关于VV&A的一些基本原则和基本观点。如果能够深刻理解这些原则和观点,将有助于人们合理制定VV&A计划,指导VV&A工作的进行,提高工作效率。n相对正确原则n由于在建模过程中不可避免地要进行假设和省略,因此模型是“先天不足”的,没有绝对正确的模型,也就没有绝对正确的仿真系统。另一方面,仿真系统的正确性是相对于其应用目的而言,一个仿真系统对一个应用目的而言完全正确,而对另一个应用目的可能是完全不正确。因此,VV&A的目的不是证明仿真系统完全正确,而是确保仿真系统针

137、对某个特定的应用目标是可用的,可信的。n有限目标原则n仿真系统VV&A的目标应紧紧围绕仿真系统的应用目标和功能需求,完全的V&V是不可能实现的也是不必要的,对于与应用目标无关的项目,可以不进行V&V活动,以减少VV&A的开支。 8.4.3 VV&A的过程及基本原则的过程及基本原则n全生命周期原则nVV&A是贯穿仿真系统生命周期的一项工作,仿真系统生命周期中的每个阶段都应该根据其研究内容和对实现应用目标的影响安排合适的VV&A活动,或者说,VV&A工作与仿真系统的设计、开发、维护等工作是并行的,以便尽早发现仿真系统可能存在的问题和影响。n必要不充分原则n仿真系统的验证不能保证仿真系统应用结果的正

138、确性和可接受性,即VV&A是必要的但不是充分的,因为如果仿真系统的目标和需求不够准确,VV&A也就无法得到正确的结论。要尽量避免三类错误:第一类错误是仿真系统是正确的,但却没有被接受;第二类错误是仿真系统是不正确的,但却被接受;第三类错误是解决了错误的问题。n条件性原则n由于仿真系统是针对一定的应用目标进行设计开发的,在建模和仿真过程中必然会根据其应用目标的需要采取必要的简化,因此仿真系统的确认是相对其预期应用目标而言的,也就是说,仿真系统对某个应用目标是可信的、可用的,而对于另外的应用目标来说必须重新进行评估。 8.4.3 VV&A的过程及基本原则的过程及基本原则n全局性原则n仿真系统的各子

139、模型/模块/组件在目标范围内是可信的、正确的,并不能保证整个仿真系统的正确性,整个仿真系统的正确性还必须从系统的整体出发进行校核与验证。n程度性原则n对仿真系统的确认得到的不是简单的接受或拒绝的二值逻辑问题,而是说明仿真系统相对其应用目标的可接受的程度如何。确认结论是要有详实的校核和验证过程做基础的,随着仿真系统的不断扩大,层次越来越多,对仿真系统的确认更无法用非此即彼的结论。n创造性原则n对仿真系统的VV&A需要评估人员具有足够的洞察力和创造力,因为仿真本身就是一门创造性很强的科学技术,对其评价更需要足够的创造力。VV&A不是一个简单的选择和应用V&V技术的过程,它涉及系统工程、软件工程、计

140、算机技术、仿真技术以及所研究的系统领域知识,并要进行创造性应用才能真正达到VV&A的目标。 8.4.3 VV&A的过程及基本原则的过程及基本原则n良好计划和记录原则n仿真系统的校核与验证必须做好计划和记录工作,良好的计划是VV&A成功的开始,整个VV&A过程要以标准格式进行记录和存档,这些文档既是对已完成的VV&A工作的总结,又是以后VV&A工作的基础。n分析性原则n仿真系统VV&A不仅要利用系统测试所获得的数据,更重要的是要充分利用系统分析人员的知识和经验,对有关问题尤其是无法通过测试来检验的问题,进行细致深入的分析。系统分析人员必须参与VV&A工作,如制订VV&A计划、选择合适的V&V技术

141、方法等,分析人员对仿真VV&A的成功将起重要作用。 8.4.3 VV&A的过程及基本原则的过程及基本原则n相对独立性原则n仿真系统的VV&A要保证评估工作一定的独立性,以避免开发者对VV&A结果的影响。尤其是对大型复杂仿真系统的VV&A,虽然,独立的VV&A会增加一定的费用但是相对于大型仿真系统的应用风险来说,独立的VV&A是必须的。另外要注意的是,这种独立性不是完全的VV&A工作与仿真开发之间的过分独立,否则将导致一些工作的重复进行,不利于各自工作的顺利进行。n数据正确性原则nVV&A所需要的数据、数据库必须是经过校核,验证与确认,证明其正确性和充分性的。数据是VV&A工作中的关键因素之一,

142、数据的不正确和不合适将会导致模型和仿真的失败,同时必然会影响VV&A的成功。 本章小结本章小结n随着计算机技术、网络技术及其相关领域技术的发展,面向对象的仿真技术、分布交互仿真技术、虚拟现实技术和建模与仿真的VV&A技术等现代仿真仿真技术得以快速发展,其理论体系不断完善,涉及国防和国民经济等诸多应用领域,已逐步成为一门新兴的学科。本章对上述现代仿真技术的基本概念、主要研究内容和应用情况进行了阐述,介绍了现代仿真技术的最新研究进展,通过本章的学习,使同学们能够了解现代仿真技术,为进一步学习和应用现代仿真技术奠定了基础。 习习 题题n说明你对面向对象方法的理解。n为什么说面向对象仿真方法适合于离散事件系统仿真和复杂大系统仿真?n试述分布交互仿真的特点、功能,并比较DIS和HLA技术的区别。n生活中你是否用到了虚拟现实技术?展望一下虚拟现实技术的发展前景。n选择你工作中或本书的仿真实例,写出仿真的VV&A计划,并为仿真设计一系列静态和动态验证测试,注意要确定用于校核和验证测试的数据源的正确性,保证这些测试可以覆盖系统运行和系统极端行为的所有模式。

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号