(控制科学与工程专业论文)面向结构图的可视化建模仿真软件设计与实现.pdf_第1页
(控制科学与工程专业论文)面向结构图的可视化建模仿真软件设计与实现.pdf_第2页
(控制科学与工程专业论文)面向结构图的可视化建模仿真软件设计与实现.pdf_第3页
(控制科学与工程专业论文)面向结构图的可视化建模仿真软件设计与实现.pdf_第4页
(控制科学与工程专业论文)面向结构图的可视化建模仿真软件设计与实现.pdf_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

国防科学技术大学研究生院硕十学位论文 摘要 面向结构图的图形化建模仿真已逐渐取代以往通过数据文件或手工输入参数 建立系统模型进行仿真的方式而成为w i n d o w s 平台下最主要也是最重要的建模仿 真方式。本文以x x x 武器系统的研制为背景,在充分调研国内外类似软件的优缺 点的基础上,设计与实现了面向结构图的可视化建模仿真软件k dv i s s i m l d e 。它 完全支持类似s i m u l i n k 的可视化建模方式,能够快捷方便地建立系统的结构图模 型,并可对其进行仿真并以图形化方式动态实时的输出仿真结果,适应了x x x 武 器系统研制对建模仿真工具的需求。 本文介绍了k dv i s s i m l d e 从无到有的全部开发过程,从最初的需求分析、 总体设计、系统架构至最后的代码实现等都进行了详尽的阐述。同时通过对插件 系统架构的研究,实现了基于m f c 的具有极好的可扩展性的微内核插件系统架构 并将其作为k dv i s s i m l d e 软件系统的底层架构。本文亦详细介绍了作为 k dv i s s i m l d e 重要组成部分的模型编辑器、仿真运行控制工具以及仿真结果图形 化显示工具的设计与实现过程,中间涉及到仿真模块的封装、积分算法库的实现 以及w i n d o w s 下高精度定时机制的实现等等,这些都是系统进行正确的建模仿真 的基础。 k dv i s s i m l d e 支持类似s i m u l i n k 的模型图编辑方式并且能与已有的仿真程 序包无缝结合,适应了x x x 武器系统研制过程中对建模仿真工具的需求。同时通 过对k dv i s s i m l d e 软件的实现,探讨了许多仿真软件开发方面的关键技术,为 以后开发其它仿真软件奠定相关技术基础。 主题词:可视化建模结构图仿真软件插件架构 第i 页 国防科学技术大学研究生院硕十学位论文 a b s t r a c t s t r u c t u r ec h a r tf a c e dv i s u a lm o d e l i n ga n ds i m u l a t i o ns o f t w a r eh a sb e e nr e p l a c i n g t h ef o r e p a s s e ds i m u l a t em e t h o d sw h i c hb u i l du ps y s t e mm o d e l b yd a t af i l e so ri n p u t t i n g p a r a m e t e r sa r t i f i c i a l l y ,a n db e c o m e st h ep r i m a r ya n dt h em o s ti m p o r t a n tm o d e l i n g s i m u l a t em e t h o d g r o u n d i n go nt h ed e v e l o p m e n to fx x x w e a p o ns y s t e m t h i st h e s i s d e s i g n sa n dr e a l i z e ss t r u c t u r ec h a r tf a c e dv i s i b l em o d e l i n ga n ds i m u l a t i o ns o f t w a r e k dv i s s i m i d e i ts u p p o r t sv i s i b l e m o d e l i n gm e t h o ds i m i l a rt os i m u l i n k c a nb u i l dt h e s t r u c t u r ec h a r to fas y s t e mc o n v e n i e a n t l ya n dc a l ls i m u l a t eb a s eo ni ta n do u t p u t s i m u l a t i n gr e s u l ti nt h ef o r mo ff i g u r e sw h i c hs a t i s f yt h er e q u i r e so ft h ed e v e l o p m e n to f x x x s y s t e mo nm o d e l i n gs i m u l a t i o ns o t t w a r e s 碰st h e s i si n t r o d u c e sa n de x p a t i a t e st h ew h o l ep r o c e s so ft h ed e v e l o p m e n to f k dv i s s i m l d ef r o md e m a n da n a l y s i s g e n e r a ld e s i g na n ds y s t e mf r a m e w o r ka tt h e v e r yb e g i n n i n gt oc o d er e a l i z a t i o n a tt h es a m et i m e ,t h o u g ht h er e s e a r c ho nt h e f r a m e w o r ko fp l u g l ns y s t e m ,t h em i c r o - i n n e rc o r ep l u g i ns y s t e mf r a m e w o r ki sr e a l i z e d b a s e do nm f cw h i c hi s p r o v i d e dw i t hw o n d e r f u le x p a n s i b i l i t ya n di st h eb o t t o m f r a m e w o r ko fk dv i s s i m l d es o f t w a r es y s t e m s t i l l ,t h i st h e s i se x p a t i a t e st h ed e s i g n a n dr e a l i z a t i o no fi m p o r t a n ts e c t i o n so fk dv i s s i m i d e :m o d e le d i t e r , s i m u l a t i o n o p e r a t i o nc o n t r o lt o o la n dv i s i b l es i m u l a t i o nr e s u l td i s p l a yt o o lw h i c hi n v o l v et h e r e a l i z a t i o no fe n c a p s u l a t i o no fs i m u l a t i o nm o d u l ea r t di n t e g r a la l g o r i t h m sl i b r a r ya n d t h er e a l i z a t i o no fh i g hp r e c i s i o nt i m i n gm e c h a n i s mi nw i n d o w sa n ds oo n t h e s ea r et h e b a s ef o rt h es y s t e mt ob u i l l dm o d e la n ds i m u l a t ec o r r e c t l y k dv i s s i m l d es u p p o r tm o d e lc h a r te d i tm o d el i k es i m u l i n ka n dc a l lb e c o m b i n e dw i t ha v a i l a b l es o f t w a r ea d m i r a b l yw h i c hm e e tt h en e e d so ft h ed e v e l o px x x w e a p o ns y s t e m o n m o d e l i n g a n ds i m u l i n kt 0 0 1 1 1 1 0 u g h t h er e a l i z a t i o no f k d m a n yk e yt e c h n i c sa b o u tt h ed e v e l o p m e n to fs i m u l a t i o ns o f t w a r e sa r e d i s c u s s e dw h i c hs e t t l e st e c h n i c a lb a s e so ft h ed e v e l o p m e n to t h e rs i m u l a t i o ns o f l w a r e s k e y w o r d s :v i s u a lm o d e l i n g 。s t r u c t u r ec h a r t ,s i m u l a t i o ns o f t w a r e ,p l u g l n a r c h i t e c t u r e 第i i 页 围防科学技术大学研究生院硕十学位论文 表目录 表4 1欧拉法程序各参数意义3 9 表4 2w i n d o w s 下六种定时方式比较4 6 第1 i i 页 国防科学技术大学研究生院硕十学位论文 图目录 图1 1计算机仿真三要素及其相互关系。2 图1 2k d s s i m i d e 的最终实现5 图1 3k d s s i m i d e 仿真结果动态图形显示6 图1 4k d s s i i i l l d e 仿真结果动态列表显示6 图1 5k d s s i i i l i d e 整体结构7 图1 6k dv i s s i m i d e 系统用例图8 图2 1宏内核插件系统架构1 0 图2 2 微内核插件系统架构1 l 图2 3 e c l i p s e 系统架构【川1 2 图2 4 插件和主程序的关系1 6 图2 5k d s s i m i d e 插件系统架构1 7 图2 6k d s s i m i d e 微内核插件系统构成1 8 图2 7l s s i m i d e 软件系统中的插件生存周期1 9 图3 1仿真模块的树形分组结构2 8 图3 2k d s u a l s i m i d e 中模块类之间的继承关系2 8 图3 3 仿真模块管理器3 0 图3 4 仿真模块管理器加载仿真模块插件算法流程3l 图3 5 模型编辑器用例3 2 图3 6 模型编辑器类图一3 3 图3 7 动态连接线示例一3 5 图4 1积分算法管理器4 0 图4 2 定时方式一精度测试。4 l 图4 3定时方式四精度测试4 3 图4 4 定时方式五精度测试4 4 图4 5定时方式六精度测试4 5 图4 6 仿真时间及仿真运行命令对话框4 6 图4 7 面向结构图仿真计算主程序流程图。4 7 图4 8 模型示例。4 8 图4 9k dv i s s i m l d e 对图4 8 中模型的模块连接信息分析结果4 9 图4 1 0s i m r e s u l t v i e w e r 功能显示5 0 图4 1 ls i m r e s u l t v i e w e r 曲线绘制流程图5 l 图5 1 k dv i s s i m l d e 模型元素关联图5 4 图5 2 测试模型5 4 图5 3设置止弦模块参数5 5 图5 4 设置积分模块参数。5 5 图5 5 设置增益模块参数。5 6 图5 6 设置r e s u l t t o f i l e 模块参数5 6 图5 7 设置模块参数后的系统结构图5 6 图5 。8k dv i s s i m i d e 中对仿真参数进行设置5 7 图5 9 各仿真模块的输入输出数据5 7 图5 1 0k dv i s s i m l d e 中对图5 2 中结构图模型仿真结果5 8 图5 11t e s t d a t 文件中的仿真结果输出5 8 图5 1 2 在s i m u l i n k 中建立上述测试模型5 9 图5 。1 3 在s i m u l i n k 中对上述模耍! 进行仿真的结果一5 9 图5 1 4 在k dv i s s i m l d e 中建立简单p i d 控制系统结构图模型一6 0 图5 1 5 在k dv i s s i m l d e 中对图5 1 4 中结构图模型进行仿真的结果列表显示6 0 第页 国防科学技术大学研究牛院硕十学何论文 图5 1 6 住k dv i s s i m l d e 中刘幽5 1 4 中结构图模型进 j :仿真的即时图形显示6 l 图5 1 7 在s i m u l i n k 中建立图5 1 l 中结构图模型6 l 图5 1 8 在s i m u l i n k 中对图5 1 7 中模型进行仿真的结果显示6 2 第v 页 独创性声明 本人声明所呈交的学位论文是我本人在导师指导下进行的研究工作及取得 的研究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含 其他人已经发表和撰写过的研究成果,也不包含为获得国防科学技术大学或其它 教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任 何贡献均已在论文中作了明确的说明并表示谢意。 学位论文题目:亘自结抱图鲍互塑焦建搓笾真筮鲑遮进生塞理 学位论文作者签名: 译里蠢 日期:如口g 年i1 月占日 学位论文版权使用授权书 本人完全了解国防科学技术大学有关保留、使用学位论文的规定。本人授权 国防科学技术大学可以保留并向国家有关部门或机构送交论文的复印件和电子 文档,允许论文被查阅和借阅;可以将学位论文的全部或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存、汇编学位论文。 ( 保密学位论文在解密后适用本授权书。) 学位论文作者签名: 迕旦鸯 作者指导教师签名:龚觯 日期:2 口0 8 年i1 月6 日 日期:】口诌年l1 月台日 国防科学技术大学研究生院硕十学位论文 第一章绪论 1 1 系统仿真技术简介 系统仿真是以相似理论、控制理论、计算机技术、信息技术及其应用领域的 专业为基础,以计算机和各种物理效应设备为工具,利用数学模型或部分实物, 对实际的或设想的系统进行动态试验研究。系统仿真以实际系统为原型,根据实 际系统的某些属性、关系或功能,人为地建立与原型系统相似的模型进行实验, 通过研究模型揭示原型的形态特征和本质,从而达到认识和干预实际系统的目的。 随着时代的发展,系统仿真技术的应用进一步拓宽并日趋成熟。目前,系统仿真 已广泛应用于军事、航空航天、电力、化工等众多领域,取得了很大的经济效益 和社会效益。另一方面系统仿真己扩展到工程应用生命周期的全过程,即新系统、 新产品研究开发等方面川。 系统仿真有多种分类方法,依据不同的分类标准,系统仿真可进行不同的分 类。按实现方法可分为数字仿真( 计算机仿真) 、半实物仿真( 硬件在回路中的仿真) 、 物理仿真( 全实物仿真) 。数字仿真即计算机仿真,是利用系统数学模型在计算机上 进行仿真试验的方法。半实物仿真是在进行系统仿真试验时,将一部分实物接入 仿真试验回路,用计算机和物理效应设备实现系统模型的方法。物理仿真是系统 模型全部采用物理效应模型进行系统仿真试验的方法,这种方法要求物理效应模 型与系统原型具有相似的物理属性。对后两种仿真,当人作为操作人员或决策人 员进入仿真回路内进行仿真时,称为人在回路中的仿真【2 1 。 计算机仿真是指首先建立系统的数学模型,并将数学模型转化为仿真计算模 型,通过仿真模型的运行达到对系统运行的目的。现代数学仿真由仿真系统的软 件硬件环境,动画与图形显示、输入输出等设备组成。数学仿真在系统分析与设 计阶段是十分重要的,通过它可以检验理论设计的正确性与合理性。数学仿真具 有经济性、灵活性和仿真模型通用性等特点,今后随着并行处理技术、集成化软 件技术、图形技术、人工智能技术和先进的交互式建模仿真软硬件技术的发展, 数学仿真必将获得飞速发展【2 】。 计算机仿真以计算机作为实验平台,其产生和发展与计算机的发明和计算机 技术的发展密切相关。计算机仿真的三个基本要素是:系统、模型、计算机,联 系着它们的三项基本活动是:模型建立、仿真模型建立( 二次建模) 、仿真实验【3 1 。 它们之间的关系如图1 1 所示。 第1 页 国防科学技术大学研究生院硕十学位论文 摸裂 真模繁建立 实骏 图1 1 计算机仿真三要素及其相互关系 对系统进行数字仿真主要有数值积分法及离散相似法。数值积分法又分单步 法( 以龙格一库塔法为主) 及多步法( 以阿达姆斯法为主) 。离散相似法是根据离散等 价原理建立起来的仿真方法,它的物理概念明确,因此很容易为从事控制系统的 分析、设计的工程师所掌握。为了将上述方法用于数字仿真,还必须解决误差估 计与步长控制的问题。数值积分法在这方面解决得比较好,因此在分析、设计的 仿真程序中用得比较普遍。 1 2 仿真软件及其发展 作为系统仿真试验的载体,仿真计算机及其软件的研究一直是仿真技术领域 中的一项重要课题。仿真研究的许多活动都是通过仿真软件来实现的。仿真软件 的性能决定了仿真系统的质量。因为计算机仿真的基础是以仿真软件形式出现的 仿真模型,仿真研究的许多活动总是要通过仿真软件来实现。计算机仿真技术的 发展与仿真软件的研发息息相判4 1 。另外,从整个仿真系统设计过程来看,工作量 最大、难度最大的部分是仿真软件的编制,因此可以说仿真技术的重点是在仿真 软件的开发和应用上。 仿真软件从出现至今己有3 0 多年的历史,从最初的仿真程序到后来的仿真语 言,到一体化的建模与仿真环境、智能化仿真环境和支持分布交互仿真的综合仿 真环境,仿真软件逐渐向一体化、多功能、工程化等方向发展。 仿真软件的研究方向主要包括两个方面:探索高效的仿真算法;开发通用性 较强的仿真软件。近四十年来,仿真软件充分吸收了仿真方法学、计算机、网络、 图形图象、多媒体、软件工程、自动控制、人工智能等技术的最新成果,从而得 第2 页 国防科学技术入学研究生院硕十学位论文 到了很大发展。 仿真软件属专用软件。仿真软件的发展目标一直是不断改善其面向问题、面 向用户的模型描述能力及增强它对模型建立、试验、设计和检验的功能。实际上, 仿真软件既是仿真方法的集中表现,又是计算机仿真的艺术性和科学性的集中体 现。它包括为在仿真计算机上建模、验模、运行模型和结果分析而编写的所有程 序和文档。仿真软件的功能可概括为: ( 1 ) 模型描述的规范及处理建模 ( 2 ) 仿真试验的执行与控制运控 ( 3 ) 数据与结果的分析、显示及文档化结果处理 ( 4 ) 对模型、试验程式、数据、图形或知识的存储检索与管理数据库【5 】 仿真是一个建模实验分析修改模型再实验分析不 断反复的过程,在这个过程中涉及到多个功能软件,如建模软件、实验设计软件、 仿真执行软件和结果分析以及图形化显示软件等,各功能软件之间存在着信息联 系,为了提高仿真效率,必须将它们集成起来( 或称一体化) 。这是八十年代中 期后仿真软件系统的一个普遍趋势【6 】。 从仿真软件发展的观点来看,最初出现的是一些功能简单的程序包,以后为 便于仿真用户使用,开发了许多仿真语言,同时研制出一些功能较为齐全的仿真 程序包。八十年代后期,国内才开始出现一体化仿真环境,目前主要的仿真软件 产品包括面向对象的连续系统建模仿真支撑环境( i c s l ) 、连续离散混合系统仿 真语言( m s l ) 、图形输入仿真语言( 正a s ) 、m p s 1 0 、y h s i m 仿真语言及一 体化仿真软件环境等。目前,国际上较为流行的一体化仿真环境软件有美国 m a m w o r k 公司的m a t l a b 软件,加拿大c n g e n u i t y 公司的s t a g e 软件、美 国系统集成公司( i s i ) 的m a t r i x 软件及英国马可尼公司( m a r c o n i ) 的c o s m o s 软件【7 1 。我国的仿真软件虽然起步较晚,但由于一方面借鉴了国外先进的经验与成 果,另一方面国内学者重视与努力,国内八十年代后期也陆续出现一体化仿真环 境软件,现在与国外水平差距不大。但由于软件产品的推广应用工作差距较大, 没有形成真正的仿真软件产业,没有一个比较通用的一体化仿真环境软件【7 】。 1 3 课题任务背景 现代战争是全方位的立体化、信息化战争。随着战争环境的复杂化和作战任 务的多样化,对武器装备的战场生存能力和攻击能力都提出了新的要求,从而促 进了机载武器的需求和发展。作为快速、远程、精确打击的新型空对地攻击武器, x x x 已成为了各国武器装备研制的热点。 和所有的制导武器的研制过程一样,为了节省人力物力,缩短研制周期,减 第3 页 国防科学技术大学研究生院硕十学位论文 少研制费用,提高研制质量,x x x 的研制定型过程也普遍采用了系统仿真的方法, 实现对整个武器系统飞行控制、作战过程的模拟试验。 系统仿真利用系统模型来研究一个已经存在的或正在设计中的系统,系统模 型的建立在整个仿真过程中是至关重要的一步,关系着整个仿真工作的进展、仿 真精度甚至成败。x x x 系统是一个相当庞大复杂的系统,对其进行建模和仿真同 样是一件极其复杂的任务。传统的建模过程是首先根据系统的方框图模型建立系 统的数学模型,然后再将其转化成可以在计算机上运行的仿真模型,即所谓的“二 次建模”,最后再对仿真模型进行仿真试验,然后再依据试验的结果对模型不断 进行迭代以使之更完善。而这两次建模过程都非常复杂并且很容易出错,于是通 常一个完善的系统模型的建立需要进行多次的迭代,工程技术人员花费大量时间 在仿真模型的建立上,使用传统方法为此类复杂系统建立模型显得力不从心,直 接影响整个仿真分系统的研究进展,在这种情况下,人们急需一种能够方便快速 的在计算机上建立系统结构图模型并由结构图模型直接得到仿真模型的可视化仿 真建模工具。 目前,国外已经有了相当成熟的可视化仿真建模软件,如s i m u l i n k 。s i m u l i n k 是m a t l a b 最重要的组件之一,它提供一个动态系统建模、仿真和综合分析的集 成环境。在s i m u l i n k 提供的图形用户界面g u i 上,只要进行鼠标的简单拖拉操作 就可构造出复杂的仿真模型。仿真模型以方块图形式呈现,且采用分层结构。从 建模角度讲,这既适于自上而下( t o p d o w n ) 的设计流程( 概念、功能、系统、 子系统、直至器件) ,又适于自下而上( b o t t o m u p ) 逆程设计【8 1 。从分析研究角 度讲,这种s i m u l i n k 模型不仅能让用户知道具体环节的动态细节,而且能让用户 清晰地了解各器件、各子系统、各系统间的信息交换,掌握各部分之间的交互影 响。s i m u l i n k 具有适应面广、结构和流程清晰及仿真精细、贴近实际、效率高、灵 活等优点,已被广泛应用于控制理论和数字信号处理的复杂仿真和设计。 在x x x 研制初期,s i m u l i n k 还没有广泛应用到建模仿真的研究工作中,科研 人员大都采用c 语言对x x x 系统进行仿真,并由此积累了大量c 语言编写的仿 真程序包,这些仿真程序包具有很高的技术价值,但在s i m u l i n k 的环境下很难将 这些程序包与之集成。同时s i m u l i n k 生成的模型是建立在m a t l a b 语言基础之上 的,并且和m a t l a b 环境紧密结合、不可分割,对其进行移植比较困难。而且 m a t l a b 体积过于庞大,实时性能不是很好,在实际工作中往往需要小巧且实时 性好的仿真建模工具,这种情况下s i m u l i n k 不能很好的满足需求【9 1 。所以我们迫 切需要一种具有s i m u l i n k 可视化建模仿真的优点并且能与我们所研究的特定武器 系统良好结合且具有完全自主知识产权的仿真软件工具。 在这种背景下,本文设计实现了面向结构图的可视化建模仿真软件 第4 页 国防科学技术大学研究生院硕士学位论文 k dv i s s i m i d e 。它支持类似s i m a l i n k 的模型图编辑方式并且能与已有的仿真程序 包无缝结合,适应了x x x 研制过程对建模仿真工具的需求。它还具有体积小巧、 操作简单方便、可扩展性好并具有完全自主产权等特点。同时通过对 k dv i s s l m i d e 的设计、开发以至最终实现,探讨了许多仿真软件开发方面的关键 技术,为以后丌发其它仿真软件奠定相关技术基础。 k dv i s s i m i d e 的最终实现如图12 、13 、14 所示: # 4 ) 抖卵髓 d 口口a : 目 圉12k dv i s s i m l d e 的昂终实现 第5 页 国防科学技术人学研究生院硕十学忙论文 图14k dv i s s i m l d e 仿真结果动态列表显示 第6 页 国防科学技术人学研究生院硕十学位论文 1 4 k d _ v i s s i m l d e 系统组成及用例 k dv i s s i m l d e 是一款面向系统结构图模型的可视化建模仿真软件。它采用类 似于s i m u l i n k 的图形化组态建模的方式,允许用户采用鼠标拖拉模块的方式建立 系统的结构图模型,并可对模型进行仿真和结果分析及处理。具备建模、运控、 结果处理及数据库的功能,能提供用户建模仿真过程的一体化支持。它由结构图 模型编辑器v i s s i m e d i t o r 、仿真运控工具s i m c o n t r o l l e r 、仿真结果图形化显示工具 s i m r e s u l t v i e w e r 三大部分组成,软件系统底层由仿真模块库和积分算法库组成, 它们各由相应的库管理器来管理。其中v i s s i m e d i t o r 向用户提供快速建立系统结 构图模型的功能,用户只需从仿真模块管理器中选取相应的模块拖放至模型编辑 器中,然后用连线将这些模块连接起来就可以对其进行仿真,大大减轻了用户的 工作量。s i m c o n t r o l l e r 提供仿真运行控制功能,包括开始、暂停、结束以及仿真 参数设置等。s i m r e s u l t v i e w e r 为用户提供仿真运行过程中的数据实时可视化显示 并可将这些数据保存至文件或数据库供以后查询。下图就是k dv i s s i m l d e 的整 体结构。 系统用例图如下: 图1 5k d s s i i i l d e 整体结构 第7 页 国防科学技术大学研究生院硕十学位论文 ,7、 | 、 ,、 q n d u d e ,? 7 模型建立、编辑、保存 、,7 ,一、,7 j ? 、j ,平台插件开发 : ,一一。一 、一,7 7 、 一 ? 墙j 曾 模型验证 ,、 , 建模 “2 “ 0 ,|,一一、 , ? 。一专、j j ,、 ,。、 7 一,、 、7 r 一一一强、,上、:一一a ,j 二次开发人八仿真模块开发 , j 、仿真、0 则u d e 仿真龃 、。一、 普通用户- 、 。玉,“、 , 、 、j 一 , - 7 。、仿真代码生成 仿真算法偶数库二次开发 结果处理、 、- 、q r i d u d e ,一一、 1 | j i 、 、一 ,、。函n d u d 西、仿真运行 。、一 、 、 、 : 了系统环境殴置 1 i :。i n d u d ;蛉、一, 7 、t i | 、翌硒刀口i ,。彳( i 删u 蚋、一7 。i 、夕一、 厂、辱乇蜘 平厶插件管理 蚓。d :d e 支、,7 、7 7 、一,7 一、图形化显示 系统管理t 、一。 、一 、7 ) 一、 、仿真模块管理i) 、 孓 一、踣果导出,一、结果导出 fj 、7厂,一、 仿真算法函数库管理 、一 文档生成 图1 6k d v i s s i m l d e 系统用例图 k dv i s s i m l d e 建模仿真软件采用微内核插件体系架构,整个软件系统中除了 一个微小的系统内核之外,所有的工具包括上述的v i s s i m e d i t o r 、s i m c o n t r o l l e r 、 s i m r e s u l t v i e w e r 、仿真模块、积分算法等都是以插件形式挂载在相应的系统扩展 点上。采用这种架构使得k dv i s s i m l d e 具有极好的可扩展性,用户可以随意向 其添加自己实现的插件甚至可以替换掉系统提供的初始插件,只要提供的插件符 合系统预定义的插件接口即可。具体实现原理及解决方案将在第二章中详细阐述。 第8 页 国防科学技术大学研究生院硕十学何论文 1 5 论文组织编排 论文共分六章,各章的主要内容如下: 第一章绪论 本章对系统仿真技术和仿真软件及其发展历史做了简要介绍,然后介绍了课 题的任务背景,接着介绍了k d 。v i s s i m l d e 的微内核系统架构、系统组成以及对 其的用例分析。 第二章k dv i s s i m l d e 微内核插件体系结构设计与实现 本章概略介绍了软件插件体系结构的基本概念,然后以e c l i p s e 为例重点阐述 插件体系的微内核架构。最后详细阐述了k dv i s s i m l d e 微内核体系结构的实现 方法。 第三章面向结构图的模型编辑器的设计与实现 模型编辑器k dv i s s i m l d e 建模仿真软件最重要的组成部分,是 k dv i s s i m l d e 进行建模和仿真的基础,本章详细介绍了模型编辑器的设计与实 现,同时中间穿插讲解了作为建模仿真基础的仿真模块的封装以及仿真模块管理 器的实现。 第四章仿真运行控制功能及仿真结果图形化显示工具的实现 介绍了k dv i s s i m i d e 对仿真试验运行控制的功能的实现。中间阐述了积分 算法库的实现以及通过对w i n d o w s 环境下六种定时机制的比较研究,得出适合高 精度仿真的定时机制并简略介绍了k dv i s s i m l d e 的仿真结果分析处理工具 s i m r e s u l t v i e w e r 的实现过程中的几个重要方面。 第五章k dv i s s i m l d e 建模仿真实例 本章通过两个示例来阐述使用k dv i s s i m l d e 对系统进行建模仿真的全过程, 并通过与完全相同条件下的s i m u l i n k 仿真结果的对比验证了k dv i s s i m l d e 设计 和实现的正确性。 第六章总结与展望 总结了论文研究所取得的成果,同时指出了论文研究中的不足之处,并展望 了该领域需继续研究的方向和内容。 第9 页 国防科学技术大学研究生院硕十学位论文 第二章k d v i s s i m l d e 微内核插件体系结构设计与实现 2 1 软件插件体系结构概述 随着计算机软件规模的不断扩大,往往一个有实用价值的软件系统不是由一 二个程序员来完成的,而是很多人共同合作的结果。由于软件是由很多人编写的, 这就会带来一些问题。如一个完整的系统由很多模块组成,这些模块将被分发给 不同的人员去完成,一般有两种方法可以完成这种分发。第一种方法就是将所有 的模块放到一个或几个大工程中,然后通过版本控制软件( 如s o u r c e s a f e 、c v s 等) 来控制源程序文件的修改;第二种方法就是将这些模块以插件的形式发布,通过 主程序调用这些插件【l o 】。第一种方法虽然被经常采用,但将很多模块都放到一个 和几个大工程中不利于扩展。而第二种方法将非常容易扩展,如某一个模块的功 能放生变化,或者增加新的功能,只需发布新的插件即可。 插件是一种遵循统一的预定义接口规范编写出来的程序,应用程序在运行时 通过接口规范对插件进行调用,以扩展应用程序的功能。插件式软件系统具有两 种架构方式,即宏内核架构和微内核架构。 宏内核架构的插件系统由“插件外壳”和“业务”两部分组成。其中业务部分与插 件没有任何关系,按照一般的应用程序开发即可。最终提供给插件外壳一个主要 的界面和公布出来的方法。插件外壳提供接口供外界调用。系统和其它插件完全 通过插件外壳和插件进行交互【1 1 】。著名的图像处理软件p h o t o s h o p 就是宏内核架 构插件系统的典型代表。p h o t o s h o p 本身并不具备进行大量的图像处理功能,插件 的加入使其获得了产生诸如模糊、斑点等独特效果,而其中任何一项功能都不是 父应用程序自身所具有的。 图2 1 宏内核插件系统架构 第1 0 页 国防科学技术大学研究生院硕十学位论文 微内核架构的插件系统的核心思想就是“力物皆插件”【1 2 】,整个系统由一个 极微小甚至没有界面的系统内核和大量具有实际功能的插件组装而成,是众多“可 供插入的地方”( 扩展点) 和“可以插入的东西”( 插件) 共同组成的集合体。 图2 2 微内核插件系统架构 现在非常流行的e c l i p s e 以及# d e v e l o p 两款i d e 就是基于微内核的插件系统, 它们都是精心设计的具有极强扩展性的成熟的体系结构。它们分别是基于j a v a 语言以及c 撑语言。下面以e c l i p s e 平台为例来简要分析微内核插件体系结构。 2 2 e c l i p s e 微内核插件体系结构概述 e c l i p s e 平台是i b m 公司向开放源代码社区捐赠的j a v a 程序开发框架,是一个 开放的、通用的、可扩展的集成开发环境。它是世界上最大的开源组织的产品, 是一个基于j a v a 的可扩展的开发平台,就其本身来说,它只是一个框架和一组服 务,用于通过组件构建开发环境。 e c l i p s e 是一个全能的工作平台,主要得益于其插件体系结构。整个e c l i p s e 采 用平台加插件体系结构,e c l i p s ep l a t f 0 1 t 1 1r u n t i m e 作为整个系统的基础,是一个专 门为插件提供的运行时容器,其本身不具备任何面向用户的业务功能。就像一个 常见的j 2 e e 容器,如果没有应用,那么也就是一个纯粹的中间件。同样如果没有 插件,e c l i p s e 平台的运行时就是一个纯粹的容器【1 3 】。 由于e c l i p s e 采用了完全开放的扩展方式,在熟练的程序员手里,e c l i p s e 更像 个高级的玩具,程序员可以自由实现他想要的功能,唯一的束缚可能就是他的 想象力了。e c l i p s e 给我们带来最重要的思想就是微内核与可扩展的插件体系结构。 第11 页 国防科学技术大学研究生院硕+ 学位论文 e c l i p s e 系统架构图如下: 图2 3 e c l i p s e 系统架构【1 4 】 相比宏内核架构的插件系统,e c l i p s e 的微内核插件机制更为彻底,也更为具 体,因此在特定的平台上,具有更方便的使用性。 e c l i p s e 平台启动时其核心会检查所有的系统插件并注册,但是直到被调用, 这些插件才会被实例化,这也就是插件系统的懒加载机制。e c l i p s e 启动后,插件 处于等待激活和被调用状态,由程序来激活插件的功能,或者由用户输入来产生 插件的初始化事件等,从而实现预定的功能,这一点和一般的应用程序开发本质 上没有区别,只不过以前我们开发应用程序,完全是c a s eb yc a s e ,也就是各为其 主,现在如果要投身到e c l i p s e 的世界中,就要树立这样一种世界观,即所有的功 能都是通过插件来实现的,所开发的应用程序只不过是e c l i p s e 平台运行时和插件 的集合【1 5 1 。 在e c l i p s e 中有一个契约以保证插件能够和插件的容器通信,即拥有一个完整 的插件开发和配置规范。这里首先需要一个抽象的插件定义,基础平台只通过固 定的抽象接口和具体的插件交互,在平台的眼里,是不应该知道不同插件的差别 的。平台和插件( 包括插件与插件通过平台的) 的交互通过固定的接口实现,而 用户与插件的交互则是通过插件本身对u i 事件的响应来实现的。扩展( e x t e n s i o n ) 是e c l i p s e 中一个关键的机制,插件利用扩展向e c l i p s e 平台添加新功能。但是扩展 不能随意地创建,必须按照扩展点( e x t e n s i o np o i n t ,参照图2 3 中插头的标记) 定义的规范进行明确的声明,e c l i p s e 才能识别出这些扩展【1 6 。所谓扩展点,就是 第1 2 页 国防科学技术大学研究生院硕士学位论文 e c l i p s e 定义出来可以让你进行扩展的地方,可以认为是一些扩展的契约;而扩展 则是对这些扩展点的实现,当然你自己的插件也可以定义扩展点供别的开发人员 扩展。我们不仅可以使用e c l i p s e 提供的众多现成的扩展点,而且还可以定义新的 扩展点,并在该扩展点上进行扩展。e c l i p s e 平台本身的实现定义了很多的扩展点 供程序员扩展,常见的e c l i p s e 扩展点有: 动作集( a c t i o n s e t ) ; 编辑器( e d i t o r ) ,i 弹出式菜单( p o p u p m e n u ) ; 视图( v i e w s ) ; 透视图( p e r s p e c t i v e s ) ; 属性页( p r o p e r t y p a g e s ) 等;【1 7 】 在e c l i p s e 平台中,几乎一切都是插件。从架构上来讲,e c l i p s e 采用的是“内 核+ 核心插件+ 定制插件 的结构体系。这种架构体系有很多值得我们学习和借鉴 的地方,对于比较复杂、模块众多的软件系统来说是一种很优秀的架构方式。 2 3 插件体系结构解决方案 在一个软件系统中实现插件机制主要有以下四种技术解决方案【1 8 】: ( 1 ) 脚本式 使用某种语言或者自定义的格式把插件的程序逻辑写成脚本代码,这些脚本 描述了插件的信息以及插件的功能,平台程序通过读取这些脚本来对插件进行加 载和使用。 ( 2 ) 动态函数库d l l 插件以动态链接库函数文件的形式存在,其功能被封装在动态链接库中。主 程序通过某种渠道( 插件编写者、某些工具或预定义接口) 获得插件d l l 中的函 数签名,然后在合适的地方调用它们。 目前大多数插件体系结构软件都是采用动态链接库作为技术解决方案,这也 是目前比较成熟的一种技术,是w i n d o w s 下实现插件体系结构的最主要的方式。 k dv i s s i m l d e 插件体系结构的实现也是采用动态链接库作为解决方案,具体实现 在下节中介绍。 ( 3 ) 聚合式 顾名思义,就是把

温馨提示

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

评论

0/150

提交评论