概念模型建模方法研究摘要:随着仿真规模的不断扩大,仿真系统复杂性不断提高,由此对概念模型建模的要求也不断提高。
本文总结了现有的概念模型抽象方法,提出了六元抽象方法,分析了这种方法的相似性原理,设计了相关的建模视图。
关键词:概念模型;六元建模;相似性中图分类号:TP391文献标识码:A文章编号:1672-9870(2007)03-0126-04收稿日期:2007-03-15作者简介:刘洁(1981-),女,博士研究生,主要从事系统建模与仿真的研究,E-mail :wuqiong1205@ 。
刘洁1,柏彦奇1,孙海涛2(1.河北石家庄军械工程学院装备指挥与管理系,石家庄050003;2.河北石家庄军械工程学院火炮工程系,石家庄050003)Research on Conceptual ModelingLIU Jie 1,BAI Yanqi 1,SUN Haitao 2(1.Department of Equipment Command &Management ,Ordnance Engineering College ,Shijiazhuang Hebei ,050003;2.Department of Artillery Engineering ,Ordnance Engineering College ,Shijiazhuang Hebei ,050003)Abstract:With the extending of simulation scope ,the system complexity is becoming larger and larger.Therefore ,the re-quest for the conceptual modeling is enhancing rapidly.This paper summarizes the existing methods of conceptual model-ing ,puts forward the six-element modeling method ,analyzes the inner comparability principle ,and designs the corre-sponding modeling view.Key words:conceptual model ;six-element modeling ;comparability计算机仿真是复杂系统开发与集成的重要支撑手段,在系统全寿命管理中发挥着不可替代的作用。
为满足军用大规模复杂系统仿真的迫切需要,美国国防部仿真与建模办公室(DMSO )提出了美军的建模与仿真主计划。
在该计划的通用技术框架中提出要开展“任务空间概念模型(Conceptual Models of the Mission Space ,CMMS )、高层体系结构(High Level Architecture ,HLA )及一系列数据标准”。
目前,这一技术框架已成为指导仿真建设的基本依据,并在各国的作战仿真领域得到广泛的应用。
然而,任务空间概念模型和HLA 中的对象模型(OM )面临着一系列问题和挑战,主要表现在:CMMS 规范中,EATI 的四元抽象描述对问题域的定义和描述并不完整。
EATI 的四元抽象的方法用实体(Entity )、行为(Action )、任务(Tas-k )、交互(Interaction )来描述问题域的问题空间,但是忽略了内涵(Inclusion )、结构(Struc-ture )。
因此,EATI 四元抽象产生的CCMS 描述问题域的准确性和完整性将受到质疑,由此建立的仿真系统与客观实际也不相符。
因此,有必要研究一种新的概念模型建模方法,扩展原有建模方法的描述方式,增强仿真模型描述的完整性,使得仿真应用更符合客观实际。
1概念模型建模方法现状分析概念模型是对真实世界的第一次抽象,是连接真实世界与仿真世界的桥梁。
对概念模型的深入研究始于美国国防部建模与仿真办公室(DMSO ),在1995年10月,DMSO 发布的“建模与仿真主计划”[1,2]中就把任务空间概念模型(CMMS )作为第30卷第3期2007年9月长春理工大学学报(自然科学版)Journal of Changchun University of Science and Technology (Natural Science Edition )Vol.30No.3Sep.2007建模与仿真技术框架的三大技术标准之一。
从被仿真模型的行为本质看,可将概念模型分为静态模型和动态模型。
1.1静态模型概念建模方法1.1.1实体——关系(ER)方法ER方法是20世纪70年代提出的一种概念建模方法,到现在仍被广泛采用。
ER方法特别适合静态模型的建立[3]。
1.1.2ORM建模ORM(对象—角色)建模是Object-Role Model-ing的缩写,最早出现于20世纪70年代中期,后来微软的Terry Halpin博士在一些前人的研究基础上将其总结推出,是一种帮助信息建模人员更好把握业务规则而提出的一种全新的建模方法,是微软最新的Visual 的核心信息建模方法。
它依照自然语言来表示模型,用角色来描述对象与对象之间的关系,并且可以在概念层和逻辑层之间进行映射,在建模思想上有重大的突破,把事物的属性分离出来作为建模研究的对象,强调表述的规范化,强调建模流程,所建的模型具有唯一约束性,稳定性强,在建模过程中使用自然语言描述来强调表达的规范,弥补图形的不足,并且能够从ORM 模型中提取出ER信息模型[4]。
然而,ER模型采用图形的描述方式,由实体、属性和关系构成。
这种建模方式最初是作为数据库模型设计工具而提出的,它受到传统数据模型的局限,当分析较复杂问题时会带来不必要的、更大的复杂性。
同时,这种方法也不符合人们的思维习惯,缺乏自然性和直接性。
1.2动态模型概念建模方法由于被仿真系统通常具有行为特征,因此,静态模型概念建模方法就存在了局限性,进而出现了动态模型概念建模方法。
对于动态模型的概念描述,目前的研究均采用EATI方法。
EATI是美军的CMMS采用的抽象方法,即以任务为中心,将军事行动分解为:实体(E),活动(A),任务(T)和交互(I)。
目前,国内外对于概念建模的研究都主要集中于对动态模型方法的研究,主要有以下几种:1.2.1面向功能的概念模型建模在20世纪90年代以前的相当长的一段时间内,建模方法主要由基于功能的建模方法所主导。
在那个阶段,功能模型是概念建模所要建立的核心模型。
以结构化分析与设计方法(SADT)和IDEF 方法为代表的功能分解法成为业务建模的主要方法。
其中,IDEF方法是面向结构的分析方法,IDEF系列(主要包括IDEF0、IDEF1x、IDEF2)能够非常清晰、分层次地用图形描述过程的功能。
基于功能的建模方法存在的主要问题。
(1)由于功能分解方法的基本组件仅有一个(称为活动的功能单元),所以功能建模方法虽然具有非常好的通用性,但是缺乏丰富的语言描述能力[5]。
(2)对信息过程流建模存在不足,不能表达过程时序,不支持过程描述,也无法描述各活动之间的时间顺序上的约束关系。
(3)此外功能本身具有的易变性、功能分解结构的随意性以及功能结构与现实问题常难对应等问题直接影响了其在实际中的应用[6]。
1.2.2面向过程的概念模型建模在基于过程的业务建模方法中,过程定义为由一组活动组成的偏序集,活动之间有一定的先后顺序,活动的执行由事件触发。
过程可以包含子过程,子过程又可以包括子过程,这样在父子过程之间就形成了递阶的关系。
面向过程的业务建模方法主要有IDEF3、Petri网、PERT图、GANTT图、工作流等。
不同的过程建模方法有不同的应用范围。
面向过程的建模方法偏重于对系统动态特征如活动、状态等的描述,而对系统的静态特征如结构、功能方面描述能力较差,不能全面描述系统的特征。
1.2.3面向对象的概念模型建模与面向过程的业务建模所采用的面向过程的观点不同,面向对象的建模采用构造模型的观点。
在模型的构建过程中,各个步骤的共同目标是构造一个问题域的模型,在分析阶段把业务系统分解成实体及其关系,建模阶段则是解决这些实体和关系如何实现的问题。
为实现上述目标,还要做一系列的工作:抽象、密封、模块化、层次化、类型化、并发化、持久化。
根据这些概念已经提出了不少建模方法,其中Coad/Yourdon,OMT,Booch和UML 建模的方法得到了广泛的认可[7]。
(1)Coad/Yourdon方法Coad与Yourdon方法严格区分了面向对象分析(OOA)和面向对象设计(OOD),对后来面向对象的发展具有很重要的影响。
Coad认为,采用OOA的系统分析方法,可使刘洁,等:概念模型建模方法研究第3期127得在人类的基本思维组织模式的框架内,来定义和传递系统的需求,即对象和属性、分类结构(类的组织)以及组装结构(整体与构件)。
OOA本质上是把焦点集中在对问题空间的理解上,将对象的属性与关于这些属性的专有方法作为一个实质整体来看待,可以用自治划分(对象之间的依赖最小)的方式来进行分析,并通过共有特性的显示表示来得到系统的层次。
OOD包含类设计和应用设计两个部分,并且被融合在应用开发中。
类设计可以隐含在应用设计中,而应用设计包含确定问题域中的各种实体以及实现求解的一些特定实体。
面向对象设计支持良好的设计风格,如模块化、信息隐藏、低耦合度、高聚合度、抽象、可扩充性以及可集成性等。
同时,面向对象范式为软件模块的重用提供了很强的支持。
(2)OMT方法对象模型技术(OMT)是J.Rumbaugh在面向对象技术开发实践基础上提出的一套系统开发方法学。
它以面向对象思想为基础,通过构造一组相关模型(对象模型、动态模型和功能模型)来获得关于问题的全面认识。
对象模型描述了系统中对象的结构,即对象的标识、与其它对象之间的关系、对象的属性以及操作。
动态模型描述系统中与时间有关的方面以及操作执行的顺序,包括引起变化的事件、事件的序列、定义事件上下文的状态以及事件和状态的主次。
功能模型描述系统内部数据值的转换,表示怎样从输入值到输出值,包括函数、映射、约束和功能性依赖。
上述三者从不同视角描述了系统的不同方面,同时也互相引用。
对象模型描述了动态模型、功能模型所操作的数据结构,对象模型中的操作对应于动态模型中事件和功能模型中的函数;动态模型描述了对象的控制结构,告诉人们哪些决策是依赖于对象值,哪些引起了对象的变化并激活了功能;功能模型描述了由对象模型中操作和动态模型中动作所激活的功能,而功能作用在对象模型说明的数据上,功能模型还表示了对对象值的约束。