(系统工程专业论文)分布异地HLA对象模型的协同建立.pdf_第1页
(系统工程专业论文)分布异地HLA对象模型的协同建立.pdf_第2页
(系统工程专业论文)分布异地HLA对象模型的协同建立.pdf_第3页
(系统工程专业论文)分布异地HLA对象模型的协同建立.pdf_第4页
(系统工程专业论文)分布异地HLA对象模型的协同建立.pdf_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

华中科技大擘硕士学位论文 摘要 窝溪露系嚣鞫溅泌。,s i g hl e v e la r c h i t e c t u r e ) 静瓣象搂爨模投( o m t , o b j e c t m o d e lt e m p l a t e ) 是戮旗实觋糕搡终嬲璧震戆麓要粳制之一,宅静建立建h l a 遴行 备辩傍巍应耀熟必不霹少豹步骤。h :l a 蹩当裁聚究豹热纛,它在个领壤土蛇照耀, 健进了姻关褥烛蛉发展,绘国民经济、阑防、般室等等襻来了缎多的好处。祗j c 重象模 瀣藤酲憝复杂黎大鍪纯,藤来熬霭要协瓣建立羧零懿支撑。螽鲻在丈鳘熬软髂开基过 程中采用一蝗协同技术样。这样可以减少开发成员之间的冲突,保证代码的一致性。 奉文对h l a 对象模蝥济简建立技术滋行了研炎开发,圭袋稳餍了瓣络魏优势, 解决了分布舞城的问题,并采取定舟勺协同策略,研究交互式建模,使建摸更加蔡成 纯,大麓亿。本文匿绕蓿分布舜地h l a 对象模鍪的协弼建立技术串酶协同环境框架、 褥凌协议遗行设诗努攒,毅诗算瓤吏骛翡游弱王侔赘淫埝鸯壤攒,遂行了详绥魏攘述。 羹点解释了霈蘩解决的芙键技术,主蘩毽摆捺闲按议静磷究,嶷中分蠢瓣管撰,数据 蛰输酌设诗戳及分毒式舨拳控瓣器系缝鹣数据誊德等蒋潞题。 义避的最鹾在系缎分板和设计的熬础上构建了一个简单疯现,以联网的p c 和 w i n d o w s 秀疆软 孛环境,遴过礴络综合绪输交薹焦慧黎数据嫠爨,集中分蠢熬保存模 型数据,并确您版本信息。能够有效地支持分敞在务她的不同的成员熟亭模溅数据, 实现协作开发等。 关键调。蠢层体系机枕h l a 分蠢舅媳h l a 对象模型协瞰黔议版本控制 l 华中科技大学硕士学位论文 a b s t r a c t t h eo b j e c tm o d e l t e m p l a t e ( o m t ) o fh i g hl e v e l a r c h i t e c t u r e ( h l a ) i s o n eo ft h e i m p o r t a n tm e c h a n i s mo fh l a t or e a l i z ei t sf u n c t i o no fi n t e r a c t i o na n dm u s i n g t h e e s t a b l i s h m e n to fo m ti sa na b s o l u t e l yn e c e s s a r ym o v ef o rt h es i m u l a t i o no fh l ai n a p p l i c a t i o n h l a i saf o c u si nc u r r e n tr e s e a r c hf i e l da n di t sa p p l i c a t i o ni nd i f f e r e n td o m a i n s p r o m o t e sd e v e l o p m e n t o fr e l a t i v ei n d u s t r i e s ,b r i n g i n gal o to f a d v a n t a g ei na s p e c t ss u c h a s n a t i o n a le c o n o m y , n a t i o n a ld e f e n s ea n da v i a t i o n t h et r e n do f o b j e c tm o d e l sb e i n gm o r e a n dm o r ec o m p l e xa n d l a r g e s c a l e dc a l l sf o rt h es u p p o r to f t h et e c h n o l o g yo f c o o p e r a t i v e c o n s t i t u t i o n t h es a m ea st h ea d o p t i o no fs o m ec o o p e r a t i v et e c h n o l o g i e si nt h ep r o c e s so f l a r g e s i z e d s o f t w a r ed e v e l o p m e n l 诵t ht h er e s a l to fc o n f l i c tb e t w e e nm e m b e r so ft h e d e v e l o p m e n t t e a mr e d u c e da n dc o h e r e n c e a m o n g c o d e s g u a r a n t e e d t h i s p a p e r d o e sr e s e a r c ha n d d e v e l o p m e n t o nt h e t e c h n o l o g y o f c o o p e r a t i v e c o n s t i t u t i o no f h l a ,m a i n l y f o c u s e do ns o l v i n gt h ep r o b l e mo fd i s t r i b u t i o nb y u s i n g t h e a d v a n t a g eo fn e t w o r k a tt h es a l n et i m e ,i n t e r a c t i v em o d e l i n gw h i c hc a nm a k em o d e l i n g m o r ei n t e g r a t e da n dl a r g e - s c a l e di ss t u d i e dt h r o u g ht h ea d o p t i o no f c o o p e r a t i v es t r a t e g i e s 。 t h ep a p e rm a k e sd e t a i l e d d e s c r i p t i o n f o ri t s d e s i g na n da n a l y s i s o ft h e c o o p e r a t i v e c i r c u m s t a n c ef l a m ea n d c o o p e r a t i v ep r o t o c o li nt e c h n o l o g i e so fc o o p e r a t i v ec o n s t i t u t i o no f d i s t r i b u t i n gh l ao b j e c tm o d e l s ,b a s e do nt h et h e o r y o f c o m p u t e rs u p p o r t e dc o o p e r a t i v e w o r k i tm a i n l ye x p l a i n st h o s ek e yt e c h n i c a lp r o b l e m si nn e e do f s o l u t i o n ,i n c l u d i n gt h e r e s e a r c ho nc o o p e r a t i v ep r o t o c o l ,m a n a g e m e n to fc e n t r a l i z e dd i s t r i b u t i o n ,d e s i g no fd a t a t r a n s m i s s i o n , d i s t r i b u t i n gv e r s i o nc o n t r o la n dd a t as t o r a g eo f s y s t e m s , t h ef i n a lp a r to f t h e p a p e r c o 篮t r u c t sa s i m p l er e a l j z a t i o no n t h eb a s i so f s y s t e m s a n a l y s i sa n d d e s i g n 。i t u s e sp c 遮n e t w o r kc o r m e e f i o na n dw i n d o w si l l s t h eh a r d w a r ea n ds o f t w a r e e n v i r o n m e n t st oc o m p r e h e n s i v e l yt r a n s m i ti n t e r a c t i v ea n dd a t ai n f o r m a t i o n t h r o u g h t h en e t w o r k , s t o r em o d e l i n gd a t ai nc e n t r a l i z e dd i s t r i b u t i o n , a n d 约c o 琏i t nt h ev e r s i o n i n f o r m a t i o n 。i t p o s s e s s e st h ea d v a n t a g e so f e f f e c t i v e l ys u p p o r t i n gt h es h a r e dm o d e l i n gd a t ao f d i f f e r e n tm e m b e r s s p r e a d i n ge v e r y w h e r e , a n dr e a l i z i n gc o o p e r a v ed e v e l o p m e n t k e y w o r d s :h l ad i s t r i b u t e dh l a o b j e c tm o d e lc o o p e r a t i o np r o t o c o l y e r s i o nc o n t r o l l l 独创性声明 本人声明所曼交的学使论文是我个人在导师指导下进行的研究工作及取得的 研究成聚。滕我所知,除文中已经标明引用的内容外,本论文不包含任何其他个 人或集体已经发表或撰写邋的研究成果。府本文的研究做出贡献的个人和集体, 均西在文中戳明确方斌标鹈。本入完全意识到本声明的法律结巢由本入承担。 掌经论文作案签名: 律案盛 日期:卅年;月,目 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有 权保留并向阑家有关部门或机构送交论文的复印件和电予版,允许论文被查阅和 借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制芋段像存和汇编本学位论文。 保密姻,在年解密后适用本授权书。 本论文蔗予 不保氟日。 ( 请在以上方框内打“”) 学位论文作者签名: 肇弘t 基瓤砷弓嗣哟 指导教师签名 鑫期:多衅专舞,歹b 帮 华中科技大学硕士学位论文 1 绪言 近年来,随着计算机技术、信息技术和系统技术的飞速发展,计算机仿真的应用 域不断拓宽,国民经济发展特别是军事需求的强大推动,促使计算机仿真在理论和实 践两方面都走上了快速发展的道路。当前,计算机仿真己广泛应用于航空、航天、通 信、船舶、交通运输、军事、化工、生物、医学、社会经济系统等自然科学与社会科 学的各个领域,其重要性已广为人知。1 1 1 1 问题的提出 随着计算机仿真应用领域的拓宽,计算机需要解决的问题也越来复杂,许多问题 靠单个仿真系统已经无法解决,必须依靠多个仿真系统进行联合协同仿真,因此,分 布仿真已成为计算机仿真领域的前沿和热点之一。【l 】 与传统的单个系统仿真相比,分布仿真的关键问题是多个仿真系统的互操作问 题,为此,美国国防领域的相关组织通过大量的研究,提出建模与仿真的高层体系结 构( h i g h l e v e l a r c h i t e c t u r e ,简称h l a ) ,h l a 的开发是为了提供一种通用的仿真体系结 构,从而支持模型与仿真的互操作和可重用。h l a 对象模型是h l a 互操作和资源可 重用的重要基础,其主要作用是提供描述和协调联邦成员间数据交换的种通用的、 标准的机制;提供描述仿真应用固有属性的一种通用的、标准的机制:促进m a 联邦 开发支撑软件的设计和应用。1 1 1 1 2 1 匾 时,美国还申明自2 0 0 1 年起只支持基于h l a 仿 真系统开发,这就要求我们加快对h l a 的研究,积极的参与才能使我们在建模与仿 真技术领域站稳脚跟,才能更进一步,加入到标准的制定和开发中去。在我国的航空、 航天有关部门和很多的科研机构已经开始大力进行h l a 的研究、开发和应用推广。 由于h l a 对象模型具有可重用性、互操作性、能提供更大规模的将构造仿真,虚拟仿 真实况仿真集成在一起的综合环境、可以建立不同层次和不同粒度的对象模型等优 点,使得基于h l a 标准开发的模型可以实现广泛的用途: 使得为一个仿真应用开发的模型能在不同的仿真应用中实现共享,从而大大地 节省新系统的开发费用和开发周期。 华中科技大学硕士学位论文 使得不同的h l a 应用模型能实现集成,实现基于网络的多子系统的交互和对 抗仿真。 按照联邦开发和运行过程f e d e p 模型,联邦对象模型f o m 成员对象模型s o m 的开发是h l a 应用开发过程中的一个重要阶段。如果没有软件工具的支持,完全依 靠手工操作,f o m s o m 的开发是比较困难的,不但工作量大,对象模型的可重用实现 困难,而且正确性也难以保证。为了提高工作效率保证对象模型的正确性和一致性, 各种研究单位研制开发了h l a 对象模型设计和开发的对象自动化生成系统0 m a s , 如美国a e g i s 公司开发的l a b w o r k so m d tp r o 建模工具、国防科技大学的 k d o m d t 。这种实现方式对于小范围的工作组来说是适合的,但是,对于分布异地 大型复杂的h l a 联邦对象模型的建立,由于联邦中各开发成员对应的仿真应用存在 分布性、异地性等特点,以往的对象自动化生成系统o m a s 不能满足此特殊要求。 所以应当与分布异地网络资源利用技术相结合,研究分布异地协同建立h l a 联邦模 型技术: 一方面,此技术为开发h l a 联邦各组成成员提供了一种协同建模的协调机制, 及时进行分布式的f o m 一致性检查,保证分布异地h l a 对象模型的正确性和一致性; 另一方面,此技术提供了对分布式h l a 对象模型资源的菇享和管理功能,为h l a 对象模型的可重用性提供分布式的共享利用。 因此分布异地h l a 联邦模型建立技术是在现有的h l a 对象模型规范以及自动 化o m d t 建模工具的基础上,为适应现代h l a 应用的分布性、异地性等特点,综合 现代软件工程、先进的对象建模技术以及网络通信技术,为我国武器装备发展和军事 仿真技术提供新思想、新方法的基础性和应用基础性研究,以提高建模与仿真的综合 性、可重用性、互操作性以及组成成员之间建模交互的协调性,降低f o m 的开发成 本,具有旺盛的生机和广阔的应用前景。 1 2 国内外相关领域的发展现状与前景 高层体系结构的研究在我国刚刚起步,研究单位主要有航天工业总公司二院、国 防科技大学三院、北京航空航天大学仿真试验室、北京仿真中一t l , 、哈尔滨工程大学、 2 华中科技大学硕士学位论文 空军导弹学院、北京理工大学一九系等。【1 0 】 国防科技大学三院军用仿真技术研究室是我国最早开展a 研究的机构之一。 他们很早开展h l a 对象模型方面的研究,发表多篇利用面向对象建模技术建立联邦 对象模型f o m 仿真对象模型s o m 的论文,对h l a 在我国的推广起到很大作用。 他们设计开发了自己的基于c o r b a 的运行支持系统r t i ,采用集中分布式的结构框 架,基于t c p i p 协议在e t h e r n e t 网上实现,并提出扩展到广域网、利用共享内存提 高系统实时性的方案。【l l 】 现阶段,各种研究单位研制开发了m a 对象模型设计和开发的对象自动化生成 系统o m a s ,如美国a e g i s 公司开发的l a b w o r k so m d tp r o 建模工具、国防科 技大学的k d o m d t 。这些工具促进了h l a 对象模型的设计和开发,使模型的正确 性,规范性得到保证。但在资源共享方面还尚待进一步的发展。 h l a 对象模型模板o m d t 是联邦设计和开发过程中的重要软件工具,它的进一 步发展应与设计和开发阶段的需求相结合,一方面,向“深”的方向发展,做好接口, 与建模、仿真运行结合起来,形成较完整的h l a 应用开发系统,这样可以及时的了 解所建立模型的影响:另一方面,向“高”的方向发展,支持更广泛意义上的资源共 享。即应当与分布异地网络资源利用技术相结合,如同美国d m s o 正在做的一样。 由国家权威部门建立模型与仿真资源库( m s r r ) ,并在网络上提供浏览接口,对象模 型编辑软件内嵌与d m s om s r r 中对象模型库的接1 3 ,提供一定安全级别上的浏览、 下载和上载的功能,便于建立正确和一致性的h l a 对象模型。同时,可以考虑到时 差的原因,当与西半球的开发人员合作时,可以互相不干扰,充分的利用资源。国内 在这方面还没有进行研究。 1 3 本系统完成的主要任务 本系统的研究目标是在符合h l a 对象模型模板( o m t ) 仿真标准的基础上,将单 机环境下建立h l a 对象模型的方法扩展到基于分布异地h l a 建模环境下的对象模型 协同建立上,为广泛意义上的分布异地仿真建模技术提供建模协同机制、版本控制、 分布式仿真对象模型存取、分布式联邦对象模型一致性检测等技术。 3 华中科技大学硕士学位论文 首先就其中的核心技术进行分析研究: 1 ) 分布异地h l a 联邦成员对象模型的协同机制 在分布异地大型复杂h l a 对象模型建模环境下,首要的问题之一便是实现广泛 意义上的资源共享和协同建模机制。协同建模机制规范了在h l a 联邦各组成成员在 分布异地建模时使用的统一协同指令,比如h l a 联邦中建模成员的登录、发送消息 ( 指定成员发送、组播发送) 、接受消息、同步指令等。核心的协同机制提供在一定 的安全级别上各成员可以透明的共享其他成员的仿真对象模型信息和建模状态信息, 便于整个分布异地h l a 对象模型能够正确、快速的建立。 2 ) 分布异地m a 联邦对象模型的版本控制 设计和开发 a 联邦对象模型的过程是一个渐进和逐步完善各仿真对象模型 s o m 同时合成联邦对象模型f o m 的过程。它是一个螺旋式回归设计修改完善的过程。 因此记录归档这一设计开发过程也是在分布式异地环境下建立复杂h l a 对象模型的 关键。为此,采用版本控制对设计开发过程中的仿真对象模型s o m 以及联邦对象模 型f o m 的不同版本进行存取控制、一致性检测。结合协同机制规范分布异地组成成 员对仿真对象模型s o m 在任意时刻点上的提取、修改、存储;规范分布异地环境下 统一的联邦对象模型f o m 在任意时刻点上的同步保存、恢复和分布异地一致性检测。 需解决的关键问题是在实现分布异地联邦开发成员的协同机制时如何建立良好 的协同环境、完善的协同机制原语;另一个关键的问题时如何确立分布异地联邦对象 模型的版本控制策略。 技术难点包括:确定实用、简单、可靠、完善的协同机制,规范在分布异地环境 下组成成员间统一的协同指令,实现透明的联邦对象建模环境;分布异地环境中,h l a 对象模型的可靠同步的分布式存取和一致性检验技术。 采取的研究方法和技术路线有: 1 ) 分稚异地h l a 联邦成员对象模型的协同机制并不是要建立一套全新的体系结 构,其强调的一个观点就是充分利用已有的技术、工具、资源,把这些工具和资源根 据新任务的需求进行集成,建立开发成员之间的简单适应的协同环境,形成致的设 计结构,在符合h l a 对象模型模板的标准下,力争在最短的时间内、以最经济的形 华中科技大学硕士学位论文 式丌发出符合分布性、异地性要求的h l a 对象模型。因而,分布异地h l a 联邦成员 对象模型的协同机制主要包括以下几个技术环节: 协同环境( c o l l a b o r a t i o ne n v i r o n m e n t s ,c e ) 协同环境是为完成一个特定领域的任务而组成的联邦成员以及他们协同工作提 供的可重用和可操作的模型、工具、数据库等资源。协同环境是实现分布异地h l a 联邦成员实现资源共享的重要途径,其根本目的是向各h l a 联邦成员提供特定领域 的资源以及透明相互访问操作的可重用框架,强调把各分布异地的h l a 联邦成员有 机的组织起来,组成分布异地h l a 对象模型建模团队,协同工作。协同环境提供的 资源浏览框架,提供联邦成员之间交互的通道等。 协同机制原语 协同机制原语支持各h l a 联邦成员之间进行交互,它通过原语解释器与具体实 现的服务相关联,因此这些原语具有良好的用户接口,隐蔽了有关网络通信的细节, 具有良好的透明性和一致性。用户也可以在此基础上扩展原语,具有较好的扩展性。 这些原语包括用户登录原语( l o g i n 、l o g o u t ) 、授权原语( g r a n t ) 、发送消息 ( s e n d ,支持点到点发送、组播发送) 、同步原语( s y n c h ) 等。 2 ) 分布异地h l a 联邦对象模型的版本控制提供了各h l a 联邦成员可以方便的 控制整个开发过程建立的仿真对象模型的归档、存取,提供分布异地h l a 联邦对象 模型的一致性检验和存取控制。在分布异地h l a 联邦对象模型描述的形式下,对联 邦成员开发的仿真对象模型s o m 的任意时刻点的存取进行有效的控制,用户可以随 时提取他所需要的前某一存储时刻的仿真对象模型,在此基础上修改和完善。当某联 邦成员提取或提交的仿真对象模型s o m 时,其他联邦成员可以立即刷新自己视图中 相应的联邦成员的仿真对象模型,同时进行联邦对象模型f o m 的一致性检验,保持 对象模型的一致性;当h l a 联邦对象模型开发处于一个阶段性成果时,可以申请协 同提交h l a 联邦对象模型存储,协同一致后,可以保存此阶段的h l a 联邦对象模型 f o m ,同时将保存各个联邦成员的仿真对象模型s o m 副本。当需要恢复某一时刻的 联邦对象模型f o m 时,将同时恢复每个联邦成员的仿真对象模型s o m 。同时对于联 邦对象模型f o m 的存取控制必须附加一定的管理权限和安全级别。 一 5 华中科技大学硕士学位论文 2 协同开发技术基础 在设计系统之前,需要对基础知识有一定的了解,协同开发涉及到的方方面面很 多,例如开发的对象是什么,它的实现需要一些底层技术支撑,有什么样的协作模型 等等。以下分别论述。 2 1 协同开发的对象简介 我们知道,d m s om a1 _ 3 规范主要由三部分组成:a 规则( h l a r u l e s ) ,a 接口规范( i n t e r f a c es p e c i f i c a t i o n ) ,h l a 对象模型模板( o m t , o b j e c tm o d e lt e m p l a t e ) 。在 这里我们先了解一下高层即仿真结构( h l a ) ,然后重点介绍系统所涉及的对象对象 模型模板的相关知识。【l 3 】 2 1 1 离层次体系结构( i - i l a ) h l a 是按照面向对象的思想和方法来构建仿真系统,它是在面向对象分析与设 计的基础上来划分仿真成员,构建仿真联邦的技术。h l a 对象模型是h l a 互操作和 资源可重用的重要基础,其主要作用是提供描述和协调联邦成员间数据交换的一种通 用的、标准的机制;提供描述仿真应用固有属性的一种通用的、标准的机制;促进 m a 联邦开发支撑软件的设计和应用。h l a 的对象模型分为联邦对象模型( f o m ) 和仿 真对象模型( s o m ) 两类。按照联邦开发和运行过程f e d e p 模型,f o m s o m 的开发是 h l a 应用开发过程中的一个重要阶段。图2 1 展示了h l a 仿真系统的层次结构。【1 3 1 圈2 - 1 基于h l a 的仿真系统的层次结构 6 华中科技大学硕士学位论文 在基于h l a 的仿真系统中,联邦( f e d e r a t i o n ) 是指用于达到某一特定仿真目的的 分布仿真系统,它由若干个相互作用的联邦成员( 或简称成员) 构成。所有参与联邦运 行的应用程序都可以称为联邦成员。联邦中的成员有多种类型,如用于联邦数据采集 的数据记录成员,用于和实物接口的实物仿真代理成员以及用于联邦管理的联邦管理 器成员等等,其中最典型的一种是仿真应用( s i m u l a t i o n ) 。仿真应用是使用实体的模型 来产生联邦中某一实体的动态行为。联邦成员由若干相互作用的对象构成,对象是联 邦的基本元素。m a 定义了联邦和联邦成员的构建,描述和交互的基本准则和方法。【1 1 2 1 2h l a 对象模型模板( o m t ) h l a 是一个开放的体系结构,其主要目的是促进仿真系统间的互操作,提高仿 真系统及其部件的重用能力。为了达到这目的,h l a 要求采用对象模型( o b j e c t m o d e l ) 来描述联邦及联邦中的每一个联邦成员,该对象模型描述了联邦在运行过程中 需要交换的各种数据及相关信息。通常来讲,对象模型可以用各种形式来描述,但 h l a 规定必须使用一种统一的表格对象模型模板( o m t , o b j e c tm o d e lt e m p l a t e ) 来规范对象模型的描述,o m t 是h l a 实现互操作和重用的重要机制之一。【1 3 h l a o m t 是一种标准的结构框架( 或模板) ,它是描述h l a 对象模型的关键部件, 之所以采用标准化的结构框架是因为它可以做到以下几点: 提供一个通用的,易于理解的机制,用来说明联邦成员之间的数据交换和运 行期间的协作。 提供一个标准的机制,用来描述一个潜在的,联邦成员所具备的与外界进行 数据交换及协作的能力。 有助于促进通用的对象模型开发工具的设计与应用。 在h l ao m t 中,h l a 定义了两类对象模型,一类是描述仿真联邦的联邦对象 模型f r o m ,f e d e r a t i o no b j e c tm o d e l ) ;另一类是描述联邦成员的成员对象模型( s o m , s i m u l a t i o no b j e c tm o d e l ) 。这两中对象模型的主要目的都是促进仿真系统间的互操作 和仿真部件的重用。 联邦对象模型( f o m ) :h l a f o m 的主要目的是提供联邦成员之间公共的,标准 化的格式进行数据交换的规范,它描述了在仿真运行过程中将参与联邦成员信息交换 华中科技大学硕士学位论文 的对象类,对象类属性,交互类,交互参数的特性。h l af o m 的所有部件共同建立 了一个实现联邦成员之间互操作所必须的“信息模型协议”。 成员对象模型( s o m ) :h l as o m 是单一联邦成员的对象模型,它描述了联邦成 员可以对外公布或需要订购的对象类,对象类属性,交互类,交互参数的特性,这些 特性反映了成员在参与联邦运行时所具有的能力。基于o m t 的s o m 开发是一种规 范的建模技术和方法,它便于模型的建立,修改,生成和管理,便于对已开发的仿真 资源的再利用,能够促进建模走向标准化。 尽管h l a 是采用面向对象方法在分布式仿真领域建立的标准规范,但是h l a 中关于对象模型的概念,同面向对象分析与设计( o o a d ,o b j e c t o r i e n t e da n a l y s i sa n d d e s i g n ) 方法中对象模型的概念并不完全一致。在面向对象分析与设计领域,对象模型 被描述为对系统的抽象,设计和开发对象模型的目的是为了促进对系统的理解。为此, 大多数面向对象( o o ,o b j e c to r i e n t e d ) 方法建议从多个不同角度为真实系统定义多个 对象模型,包括对象和对象转移的各种静态及动态关系的完整描述。相对面向对象方 法而言,h l a 对象模型对系统描述的范围要窄的多,它仅仅关注联邦和联邦成员进行 信息交换所必须的要求和能力。比如,对s o m 来说,它仅仅描述联邦成员对外的公 共接口,即联邦成员中参与交互的对象类和交互类,关于联邦成员如何进行设计及内 部功能的详细描述,应该由成员设计支持文档及其他相关资料提供,而不是由s o m 提 供。同样,对f o m 来说,它的主要目的是描述联邦成员间的信息交换。在f o m 开 发前,通常先采用面向对象方法,为真实系统设计一个类似o o a d 对象模型产品, 该产品提供了对真实系统的完整描述,包括系统中所有对象的行为和它们之间的关 系,它是f o m 开发的基础和依据而不是f o m 的组成部分。 h l a 和o o a d 在概念和原则上的差别也同样体现在对象上。在o o a d 中,对 象被定义为数据的方法和封装体;而在h l a 中,对象由标识其特征的属性完全定义, 在联邦执行过程中,通过这些属性值在联邦成员之间的传递可以实现信息的交换,联 邦成员内部的数据操作方法负责对属性值进行更新和维护。o o a d 的对象可以是具体 的也可以是抽象的,但是在h l a 中,对象通常代表真实世界中的一个实体。 继承的概念在h l a 和o o a d 中是一致的,但它们在确定类与子类关系时所关 8 华中科技大学硕士学位论文 注的内容有差别。o o a d 的对象通过“消息”传递进行交互,在交互过程中,一个 对象可以激活另一个对象的方法。而在h l a 中,对象间的信息交换是通过属性值的 更新或彼此间发送交互实例来实现的,属性值更新的职责可以由联邦中所有的联邦成 员来承担。但在o o a d 中,对象的状态以及更新对象状态的操作( 方法) ,都通过对象 的类封装在一起。 h l a 对象模型f r o m 和s o m ) e h - - 组相关的部件组成,h l a 要求将这些部件以 表格的形式规范化。1 9 9 8 年4 月2 0 日,美国国防部公布了h l a o m t 的1 _ 3 版本, 它是d m s oh l ao m t 的正式定义。1 3 版本的o m t 由以下九个表格组成,每个表 格描述了联邦与联邦成员的一个方面。 对象模型鉴别表记录与a 对象模型相关的重要标识信息。 对象类结构表记录所有联邦或联邦成员对象类的名称,并且描述了类与子类 之间的关系。 交互类结构表记录所有联邦或联邦成员交互类的名称,并且描述了类与子类 之间的关系。 属性表记录联邦或联邦成员中对象属性的特征。 参数表记录联邦或联邦成员中交互参数的特征。 枚举数据类型表用来对出现在属性表参数表中的枚举数据类型进行说明。 复杂类型数据表用来对出现在属性表参数表中的复杂数据类型进行说明。 路径空间表用来指定联邦中对象类属性和交互类的路径空间。 f o m s o m 词典用来记录上述各表中使用的所有术语的定义。 当描述一个仿真联邦或单个仿真系统( 1 i p 联邦成员) 的h l a 对象模型时,必须使 用上述所有表格,即o m t 的各部件对f o m 和s o m 都适用。 一个h l a 对象模型至少要包含一个对象类或交互类,但在某些情况下,描述对 象模型的一些表可能是空表。例如,在一个联邦中,成员内部的对象之间存在信息交 换,但各成员之间并不发送“交换实例”,这样,该联邦对象模型( f o m ) 的交互类结构 表为空表,相应的其参数也会为空。一般情况下,如果一个联邦成员的对象具有其他 成员都感兴趣的属性,那么这些对象及其属性都需要在s o m 中描述。但是,如果某 9 华中科技大学硕士学位论文 个联邦成员甚至整个联邦只通过“交互实例”来交换信息,那么它对应的对象类结构 表及属性表都将为空。对于s o m 来说,其路径空间总表为空,因为它的信息交换仅 局限于单个成员内部。而对于f o m 而言,如果整个联邦都不使用数据分享管理( d d m , d a t a d i s t r i b u t i o n m a n a g e m e n t ) 艮务,其路径空间表也将为空。【i 】 2 2 协同开发的底层模型 客户机服务器( c s ,c l i e n t s e r v e r ) 概念来源于日常生活中常见的一种工 作方式。例如,在一个大餐馆中,食客向招待员点菜,招待员把食客要求通知厨房的 厨师,厨师按食客要求做好菜让招待员端给食客,这就是一种餐馆的c s 工作方式。 餐馆中的招待员和厨师进行了分工:招待员直接面向食客,了解食客要求并向食客提 供最终服务;厨师看不到食客,但具体运作食客提交的任务。如果把餐馆看成一个系 统,则招待员与厨师的分工就是一种系统的分工,c s 工作方式就是一种系统分工、 协同的工作方式,有时也称为c s 模式、c s 系统。招待员与厨师的分工关系是一 种系统的结构关系,所以c s 实际上也是一种系统结构模式。 2 2 1 客户机,服务器模式的基本思想 客户i l l 务器模式的基本思想是把集中在一起的应用划分成功能不同的两个部 分,分别在不同的计算机上运行,通过它们的分工合作来实现一个完整的功能。 在这两部分中,一个为服务器程序,用来响应和提供固定的服务;另一个为客户 机程序,用来向服务器提出请求和要求某种服务。从这个角度上来讲,服务器和客户 机是软件上的概念,也是相对的概念。比如一台机子上同时运行着一个客户机程序和 一个服务器程序,则它既是客户机又是服务器。只不过在实际的应用中,服务器一般 都运行在性能较强、配置较高的计算机上,而且服务器一般可以同时响应多个客户机 的请求。 在这里举个实际的计算机应用,在用户使用浏览器进行信息查询中,首先用户需 要执行一个浏览器的应用程序,输入服务器的同一资源定位器( u n i f o r mr e s o u r c e l o c a t o r ,简称u r l ) ,浏览器将用户的请求转换成标准的信息查询请求,然后通过 i n t e m e t 发往服务器,此时的浏览器就是一个客户机应用程序。服务器接收到客户机 一。 1 0 华中科技大学硕士学位论文 的请求以后,通过服务器的服务应用程序对客户机的请求进行分析和处理,然后服务 器把响应的超文本( h y p e r t e x tm a k e u pl a n g u a g e 简称h t m l ) 文档通过h t t p 协议传 送到客户机,而客户机上的浏览器会对此超文本文档进行分析,并把分析的结果显示 给用户,这时用户看到的就是一幅生动的画面了,而且还可以通过文档中的超链接继 续在网上进行漫游。【2 1 由于客户系统只是向服务器发送操作请求,其后等待服务器送回结果,而服务器 也是获得请求后才进行实际的操作并送回结果。所以从通信的角度上看,在客户进程 和服务器进程间建立一条可靠的会话连接,并在该连接上使用半双工方式是可能的。 但是由于建立多层连接将引起比较大的开销,又由于请求和回答所传输的数据量并不 象连续的文件传输那么大,因此实际上客户服务器模式往往采用不可靠的数据服务, 牺牲可靠性来保证较高的效率。 2 2 2 编程接口概述 毫无疑问,t c p i p ( t r a n s m i s s i o nc o n t r o lp r o t o c o l i n t e r a c tp r o t o c o l ,传输控制协议 网际协议) 是发展至今最成功的通信协议之一。它起源于2 0 世纪6 0 年代末美国政府资 助的一个分组交换网络研究项目,它允许分布在各地的装着完全不同操作系统的计算 机互相通信。随着p c 的普及,t c p i p 以其开放性的特点,成为了i n t e r n e t 的基础, 通过i n t e m e t 把全世界数以千万的计算机连接在了一起。 w i n s o e k 是一套开放的、支持多种协议的w m d o w s 下网络编程接1 :2 ,是w i n d o w s 网络编程事实上的标准。应用程序通过调用w i n s o c k 的a p i 实现相互之间的通信,而 w i n s o e k 利用下层的网络通信协议和操作系统调用实现实际的通信工作。 套接字是通信的基石,是支持t c p i p 协议的网络通信的基本操作单元。可以将 套接字看作不同主机间的进程进行双向通信的端点,它构成了在单个主机内及整个网 络间的编程界面。套接字存在于通信域中,通信域是为了处理一般的线程通过套接字 通信而引进的种抽象概念。套接字通常和同一个域中的套接字交换数据( 数据交换 也可能穿越域的界限,但这时一定要执行某种解释程序) 。w i n s o c k 规范支持单一的通 信域,即i n t e m e t 域。各种进程使用这个域互相之间用i n t e r n e t 协议簇来进行通信 ( w i n s o c k l 1 以上的版本支持其他的域,例如w m s o c k 2 ) 。 华中科技大学硕士学位论文 套接字可以根据通信性质分类,这种性质对于用户是可见的。应用程序一般仅在 同一类的套接字间通信。不过只要底层的通信协议允许,不同类型的套接字间也照样 可以通信。 套接字有两种不同的类型:流套接字和数据报套接字。 流套接字 流套接字提供双向的、有序的、无重复并且无纪录边界的数据流服务,它适用于 处理大量数据。网络传输层可以将数据分散或集中到合适尺寸的数据包中。 流套接字是面向对象连接的,通信双方进行数据交换之前,必须建立一条路径, 这样既确定了它们之间存在的路由,又保证了双方都是活动的、可彼此响应的,但在 通信双方之间建立一个通信信道需要很多开支。除此以外,大部分面向连接的协议为 保证发送无误,可能会需要执行额外的计算来验证正确性,因此会进一步增加开支。 数据报套接字 数据报套接字支持双向的数据流,但并不保证数据传输的可靠性、有序性和无重 复性。也就是既,一个从数据报套接字接受信息的进程有可能发现信息重复,或者和 发出时的顺序不同的情况。此外,数据报套接字的一个重要特点是它保留了纪录边界。 数据报套接字是无连接的,它不保证接受端是否正在侦听,类似于邮政服务:发 信人把信装入油箱即可,至于收信人是否想收到这份信或邮局是否会因为暴风雨未能 按时将信件投递到收信人处等等,发信人都不得而知。因此,数据报并不十分可靠, 需有程序员负责管理数据报的排序和可靠性。 其他一些重要的基本概念有: 广播 数据报套接字可以用来向许多系统支持的网络发送广播数据包。要实现这种功 能,网络本身必须广播功能,因为系统软件并不提供对广播功能的任何模拟。广播信 息将会给网络造成极重的负担,因为它们要求网络上的每台主机都为它们服务,所以 发送广播数据包的能力被限制于那些用显式标记了允许广播的套接字中。广播通常应 用于以下两种情况: 一个应用程序希望在本地网络中找到一个资源,而应用程序对该资源的地址又没 华中科技大学硕士学位论文 有任何先验的知识。 一些重要的功能,例如路由要求把它们的信息发送给所有可以找到的邻机。 被广播信息的目的地址取决于这一信息将在何种网络上广播。i n t e m e t 域中支持 一个速汜地址i n a d d r _ b r o a d c a s t 用于广播。由于使用广播以前必须捆绑一个 数据报套接字,所以所有收到的广播消息都带有发送者的地址和端口。 字节顺序 不同的计算机有时使用不同的字节顺序存储数据。例如,基于i n t e l 处理器的计 算机和m a c i n t o s h 计算机使用了相反的字节排序规则。i n t c l 的字节排序被称为 “l i t t l e - e n d i a n ”,它与网络的字节排序规则“b i g - e n d i a n ”排序顺序相反。 任何从w i n s o c k 函数对i p 地址和端口号的引用和传送给w m s o c k 函数的i p 地址 和端口号均是按照网络顺序组织的,这也包括了s o e k a d d r _ i n 这一数据结构中的坤地 址域和端口域( 但不包括s i n _ f a m i l y 域) 。 阻塞和非阻塞 套接字可以处于阻塞模式或非阻塞模式。调用任何一个阻塞模式的函数,都会产 生相同的后果耗费或长或短的时间等待操作的完成。而当套接字处于非阻塞模式 时,a p i 函数的调用立即返回,大多数情况下这些调用都会“失败”,并返回一个 w s a e w o u l d b l o c k 错误,它意味着请求的操作在调用期间没有时间完成。w i n s o c k 的套接字i 0 模型可以帮助应用程序判断一个套接字何时可供读写。 1 6 】 2 2 - 3 w i a d o w s 平食下网终编程原理 简单网络模型 进入2 0 世纪9 0 年代后,随着计算机和网络技术的发展,很多数据处理系统都采 用开放系统结构的客户机服务器( c l i e 州s e r v 盯) 网络模型,即客户机向服务器提出请 求,服务器对请求做相应的处理并执行被请求的任务,然后将结果返回给客户机。这 种方式隐含了在建立客户机服务器间通信时的非对称性。d 8 客户机服务器工作时要求有一套为客户机和服务

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论