(计算机应用技术专业论文)基于internet的虚拟实验室平台的设计与实现.pdf_第1页
(计算机应用技术专业论文)基于internet的虚拟实验室平台的设计与实现.pdf_第2页
(计算机应用技术专业论文)基于internet的虚拟实验室平台的设计与实现.pdf_第3页
(计算机应用技术专业论文)基于internet的虚拟实验室平台的设计与实现.pdf_第4页
(计算机应用技术专业论文)基于internet的虚拟实验室平台的设计与实现.pdf_第5页
已阅读5页,还剩61页未读 继续免费阅读

下载本文档

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

文档简介

摘要 i n t e r n e t 的发展和现代教育的要求促进了远程教育的发展,基于i n t e r n e t 虚拟实验室是一种重要教学资源的原因,研究其快速有效的开发方法具有重要意 义。 本文针对目前已有虚拟实验室及其设计思想和方法的不足提出了基于 i n t e r n e t 的虚拟实验室平台的体系结构及实现方案。根据数字图像处理等课程 的试验要求,采用组件技术,设计和实现了一个通用的平台,并对实现虚拟实验 室平台的服务器端和客户端功能特性和所采用的主要技术做了详细的描述、比较 和说明。 本文将系统分为客户端和服务器端两个部分。客户端采用j a v a 语言实现, 具有以下特点:平台无关性,可以运行于各种流行的平台之上;支持可视化的定 制实验流程:采用对象工厂设计模式,以通用的虚拟实验室平台为基础,使用组 件提供试验室仪器设备;支持动态引入、创建实验设备对象,按用户需要下载相 关的执行文件和资源文件,有效地减小了网络流量;采用多线程技术实现并行计 算,提高执行效率。这些特点有效地解决了现有虚拟实验室系统中普遍存在的交 互性差、不便于扩充维护、软件功能模块不能重用等问题,同时降低系统开发维 护费用,缩短开发周期。 系统服务端采用c o r b a 技术实现j a v a 客户端与c + + 等语言开发的其他计算 引擎连接。有效利用已有异种对象软件功能,进一步降低软件开发成本,克服 j a v a 语言运算速度较低等闻题,重用软件功能,实现分布式处理,充分利用 i n t e r n e t 网络上的计算能力。 关键字:虚拟实验室、组件、分布式计算、数字图像处理、c o r b a a b s t r a c t t h ed e v e l o p m e mo fi n t e m e ta n dm o d 锄e d u c 撕o np r o m o t e sm e 冒。砒ho f r 1 0 t ce d u c 施o na sh t e m c tv 酬la _ b o r a t o r yi sac r u c i a le d l l c 撕o nr e s o u r c e ,i ti s i m p o n a n t 协咖d y 1 e m e 吐地d t o d 删e l 叩i t r a p i d l y a n d e 敝6 v e l y a c c o r d i gt 0t b es h o n a g eo fd e s i g ni d e aa n dm e t h o do f 也ec l 】i r e n t v i n l l a l l a b o m o r y ,t h i sp 印e rb r i n g sf o r v 吼r d 也ea r c h i t e c 加r ea n d 呻l e m e n ts c h e m e b y u s i n gc o m p o n c n tt e c h i l o l o g ya n di d e a ,w ed e s i g na n di m p l e m e n tac o r 衄o np l a t f o 皿 w 1 1 i c hs 撕s 轴gt h er e q l l i r e m e n t so f d i 西t a li n l a g ep r o c e s sa n do n l e rc o u r s e s a 丑d 也e 丘m c t i o n so ft h ep l 甜b r m ss e r v e r ,c l i e ma n d 也em a i nt e c h n 0 1 0 百e s1 1 s e db ya r ea l s o d e s c r i b e d ,c o r n p a r e d a n di n 仃o d u c e di n 血ep 印e r - 1 1 1 es y s t e mi sd i v i d e d 缸t 0s e r v e r 趾dc l i e n t c l i e n to f 血es y s t e mi si m p l 锄e n t e d b yj a v a ,a n dh a st 1 1 ef o u o w i n gn 撕v ea d v a 力诅g e s :c 印a b l e0 f 丌1 衄i n g0 na i m o s ta l l c o m m o p l a t f b r d l s ;v i s u a lc u s t o m i z i n ge x p e d m e n tf l o w ;b yl l s i n go b j e c tf h t o r y d c s i 印p a t t e mt oc 蛐c a b o m t 嘶e so fd i 鼢哪c o u r s e sb ym e a no fg i 诵唱t h e s p e c i 五cd e v i c e s 罄c o m p o n e n :【sb a s e do nc o m m o n 删i 籼咖p i a 矗 o r m ;b y d ) m a m i c a l l y 证l p o 血g ,c r c a t i n ge x p 豳e m 臼c i l i 够d b j e c t sa n dd o w n l o a d i n gr e l a t i v e e x e c m a b kf i l e sa n dr e s o u r c ef n e st om i 血i z en 心r kn o w ;b ya d o p 血gm u l d 也r e a d t e c l l 工l o l o g yt 0i m p l e m e mp a r a e lc o m p u d n g m l 也e s es p e c i a l t i e sh a 、,es o l v e d 也e p r o b l e m so f 山ec u e n tv i m l a lla _ b o n t o r ys y s b e m a tt 1 1 es 锄et i 】m e ,w eh a v en o to n l y r e d u c e dt h ed e v e l o p m e mc o s b u ta 王s os h 咖e dt h e d e v e l o p m e m 血d e t h es y s t e ms e r v e rc o 衄e c t sj a v ac l j e ma n do t h e rm a t t l r ec o m p u 血ge n g i n e d e v e l o p e db yc + + b ya d o p t h l gc o r b at e c h n 0 1 0 盱nm a k e s 削l1 l s eo f 也eo b j e c t s 矗1 n c t i o ni 1 1d i 疗醯e n tp l a 饪b r i st 0f e d u c et h ed e v e i o 口m e n tc o s o fs o 矗w a f ea n d o v e r c o m et b ep r o b l e mo fn l el o ws p e e d0 fj a v a 印p h c a t i o n b yr e u s i n gs o f t w a r c 铀c 廿0 na n di m p l 锄觚n gd i 蛳b u t ec o m 胛血器1 h es y 蜘舢ya v a i 】si t s e l fo f 血c c o m p u 血l ga b t yo f n e t 、】l ,o r k k 呵w o r d s :v i m l a ll a b o r a t o 聪c o m p o 呦t ,d i s 菌b u t ec o m p 曲岛d i 如lh a g e p r o c 嚣s 吨,c o r b a 中南大学硕士论文 第一章引言 i n t e r n e t 的迅速发展为远程教育提供了巨大的发展空间,而试验环节是学 习的重要组成部分。虚拟实验室能够提供基于i n t e r n e t 的远程试验环境,共享 资源,因而虚拟试验相关问题的研究是目前研究领域的热点问题。 1 1i n t e r n e t 促进了科研和教育的发展 近1 0 年里,i n t e r n e t 在全球得到了迅猛的发展,取得了巨大的成功,已成 为当今世界上覆盖面最大、规模最大、信息资源最丰富的计算机信息网络。作为 信息高速公路的原型,i n t e r n e t 极大地推动了世界科学研究的发展,展示了信 息网络对科研发展的巨大推动作用。在现代信息社会里,科研项目日渐复杂、规 模日益扩大,许多项目需要跨学科大规模的合作才能得到有效的解决;现代科研 活动耗资巨大,实验设备呈大型化趋势,造价昂贵,因此也迫切需要共享实验设 备以降低科研成本:信息网络的全球化和通信、计算机技术的新成就,极大地增 强了科研人员交互、协作和资源共享的能力,为不同领域的科研人员提供了更有 效的手段,能更好地面对信息激增所带来的挑战。 i n t e r n e t 的出现,也为远程教学带来无限生机。当高等教育正在探讨新世 纪如何提高人类的文化和科技素质时,现代科技不仅急剧地改变着人类的生产和 生活方式,而且正在从各个方面改造教育本身瞳1 。教学方式和时空观念正在发生 一系列深刻的变化。信息时代带来高等教育的根本变化,新知识将不仅仅是获得 就业机会的手段,而且还将向人们提供信息以提高其生活质量。人们将要求得到 在信息时代生存下去所需要的新信息和教育,教师必须继续去获得新知识和新手 段向学生授课。教育将受到巨大的压力,它要向几乎所有年龄阶段的人提供更多 种类的最新知识。而传统的教育方式都是由一位教师面向多个学生。但即使是一 位优秀教师,由于地域所限,他也只能教授有限的学生。要满足对教育的这些新 需求,学校将被迫避免使用直接面授的传统方法,采用不受时间、地域限制的新 的教育手段和方法。在西方发达国家如美国、英国等早已应用网络媒体进行远程 中南大学硕士论文 教学,网络远程教学已逐渐成为国外大学、中学乃至小学的主要教学形式。例如, 美国将在2 0 0 0 年把网络通向每一所学校、教室和图书馆,并要求8 岁儿童能够 独立阅读网上信息,1 2 岁能借助网络媒体进行学习。法国、马来西亚、新加坡 等国也在积极发展网络远程教学。1 。在我国,网络远程教学也越来越受到重视和 青睐“。“1 ,中国教育和科研网( c e r n e t ) 已联通了国内4 0 0 多所高校。近年来, 其它区域网、校园网也发展很快。部分高校和中学开展了远程教学,如清华大学、 浙江大学、北京邮电大学、湖南大学等高校纷纷举办了网络远程教学,北京的 1 0 1 中学在1 9 9 6 年制定了网上教学计划,网络远程教学正如雨后春笋般涌现。 大学将通过电子手段向学生授课,许多学生无需到学校听课。遍布全球的交互式 教学中心和“远程实验室”,将有可能在未来的三、五年以较大规模介入高等教 育和高层次继续教育体系”1 。我们在进行面向2 l 世纪课程改革立论的时候,必 须进行认真的讨论,利用先进的技术手段进行教学资源的共享,了解国际一流大 学的课程体系和教学内容的变革,使课程改革和建设能够建立在高起点上,符合 国情,又能真正体现面向2 1 世纪的具有一定可比意义的先进性。但是,网络教 学蓬勃发展需要网上能提供足够的教学内容、试验环境等软件设施,而这些正是 目前网络教学的瓶颈之一。在此背景下,“虚拟实验室”概念应运而生,为人们 展示出信息社会科研、教学等的环境和方式的发展趋势。 1 2 虚拟实验室研究现状 虚拟实验室( v i r t u a ll a b o m t o r y ) 概念,也称为“合作实验室( c o ll a b o r a t o r y ) ”, 最早在1 9 8 9 年由美国u n i v e 俗畸o f r g i 血的晰l l i a mw i l l f 教授提出,用来 描述一个计算机网络化的虚拟实验室环境。它致力于构筑一个综合不同工具和技 术的电子化、网络化的科学研究集成环境。在这个环境里,科学家们可以非常有 效地利用地理上分布的各种资源( 数据、信息、设备、人力) 来从事科研活动。w u l f 形象地把虚拟实验室称为“无墙的研究中心”。在其问,科研人员不管其地理位 置分布如何,都能共同从事研究与同事们相互交流,使用仪器,共享数据和 资源,在数字式图书馆中存取信息,共同撰写研究报告等。所有这些活动不必面 对面进行,而是在分布式网络环境支持下,通过电子邮件系统、多媒体会议系统 2 中南大学硕士论文 等手段来实现。因此,虚拟实验室实质上是一个分布式计算机系统。在系统中, 配置有具有遥控遥测能力的网络化研究设备和数据采集平台,有支持协作活动的 各种工具,建有可以支持大规模数据共享的数字式图书馆。虚拟实验室的所有技 术支持都旨在增强科学家、仪器设备和数据等资源之间的交互交融以提高科研 效率,降低科研成本,为发展高新科学技术提供强有力的技术保障,最终促进人 类社会的进步。 目前,国内外有很多组织都已经开展了虚拟实验系统的研究和建设工作,特 别是在国外一些著名的大学,已有较多建好并投入使用的虚拟实验系统,涵盖了 计算机网络、数学、人工智能瞎3 、生命科学粥、化学1 、物理、生物工程t 1 2 埘、 通讯、3 d c a d 、图形图像、农业科学等教学、科研领域。 v s l m r n l a ls y s t e l n sl a b o m t o r y ,简称v s l ) 虚拟系统实验室n 4 3 ,始建于19 8 9 年,由g e n 吼l f l o d d a 大学教育训练研究院建立,其目标旨在提高计算机图形的 艺术表现力以及改迸仿真过程中的入机接口设计。目前,该实验室正在开展多项 与虚拟实验相关的支撑技术研究,如虚拟实验环境中的网络及并行计算技术、复 杂实验环境的实时物理仿真技术、低价图形仿真技术等;己取得了大量的研究成 果,如设计并开发了第一例实时动态虚拟环境、第一例u d c a d 虚拟设计系 统等。 虚拟工程,科学实验系统,由j o h l l sh o p k i n s 大学化学工程系为配合课程 w h a t i s e n g i n e e 血g 的教学而建立的卯,实验的目的是引导学生尽快地掌握 实验、问题求解、数据采集和科学分析的方法。该实验系统尚在建设过程中,目 前能够提供的实验项目如下:逻辑电路实验、扩散过程实验、石油勘探实验、机 器人手臂控制实验、桥梁设计实验、管道传热实验、树木测量实验、声音传播实 验、热传导实验、概率分布实验。 中国农业大学建立了网上虚拟土壤作物系统实验室n “,应用计算机模拟植 物在三维空同中的生长发育状况,探讨虚拟植物模型在农业领域应用的关键问 题,包括植物与环境相互作用关系的定量化以及模拟机制,根系的虚拟,如通过 虚拟试验对农田水分、养分作用进行精确量化研究、作物株型设计、栽培等,在 农学、林学、生态学等众多领域有着广泛的应用前景。 中南大学硕士论文 我国已有的些远程教学资源在内容上己非常丰富,已经有实现了实验性质 的教学单元。但与西方发达国家相比,国内在虚拟实验方面开展的工作还不多, 只有清华大学、北京大学、上海交通大学、华中科技大学等部分高校设立了电子 教室,其中有少数电子教室提供了有限的虚拟实验功能,如华中科技大学机械学 院建立了一个工程测试虚拟实验室“,学生可以通过联网计算机终端来进行仿 真实验,图像处理研究室设计了数字图像处理虚拟实验室“,包括了些常用 的图像处理算法。 1 3 研究内容 现有虚拟实验室的建设、应用都取得较好的成果,但是在交互性、扩充性和 软件重用性方面都存在不足之处,如用户不能定制实验,无法将自己开发的实验 设备加入实验室中,从而扩充实验室功能;较难重用已有的功能模块,构造新的 实验室,这些缺点在开发和使用虚拟实验室等各方面都存在。 针对以上问题,我们利用面向对象技术和组件技术,设计并实现了基于 i n t e r n e t i n t r a n e t 的可重用组件功能模块的开放式虚拟实验室系统平台。虚 拟实验室提供者只需开发和重用符合虚拟实验室平台要求的试验设备仪器,注册 到虚拟试验平台,利用已有的虚拟实验室平台,即可组建新的虚拟实验室。试验 设备仪器是采用j a v a 语言开发的标准j a v ab e a n 组件“。使用组件技术可以提 高开发速度、降低开发成本、增加系统灵活性、降低软件维护费用等。使用这种 技术有助于迅速建立大量的虚拟实验室,满足远程教学和科研需要,推动远程教 育和科研的发展。 针对目前虚拟实验室不足之处,设计并实现了基于i n t e r n e t i n t r a n e t 的 可重用组件功能模块的开放式虚拟实验室系统平台。该体系结构及实现技术具有 以下特点:以通用的虚拟实验室平台为基础,以组件的方式提供具体的仪器设备 来构造不同学科的实验室;可视化地定制自己的实验流程:动态引入、创建实验 设备对象,接用户需要下载相关的执行文件和资源文件,有效地减小了网络流量: 采用多线程技术提高执行效率;实验室设备( 算法和仪器等) 以组件的方式开发, 提高了开发效率,实现软件重用,实验室的功能易于扩充;客户端用j a v a 语言 实现,具有平台无关,安全,健壮等内在特点;使用c o r b a 技术集成异种对象 4 中南大学硕士论文 并实现分布式处理等。 在虚拟实验室平台基础上,我们开发建立了功能强大的数字图像处理虚拟实 验室,并为该实验室提供了在线教程,联机帮助等丰富数字图像处理方面的信息。 1 4 论文组织结构 本论文分为六章。 第一章为引言部分。简要介绍虚拟实验室的基本概念、特点、国内外研究发 展状况。并提出了虚拟实验室平台的概念,描述了虚拟试验平台的基本特点和论 文的研究内容。 第二章介绍系统总体设计和分析。介绍了基于组件开发技术,分析了系统的 总体结构,简单介绍客户端和服务器的实现技术及方案、设计和运行环境。 第三章对系统客户巅的功能及实现作了详细的会绍,对系统实现所使用的主 要的类和对象作了说明。并介绍了在虚拟实验室平台上开发的数字图像处理实验 室的功能,验证了系统设计方案和设计思想。 第四章介绍使用c o r b a 技术实现分布式处理系统。通过阐述分布式系统需要 解决的问题和困难,简单介绍了d c o m 和c 0 r 队这两种常用的分布式系统解决方 案。并详细介绍使用c 0 r b a 技术的系统分布式的体系结构、使用i d l 定义客户服 务器接口、公布和定位服务器对象的方法和技术。 第五章主要介绍系统实现所使用到的关键技术和实现方法。包括基于 r e 丑e c t i o n 对象工厂的实现:使用对象序列化技术保存试验流程;使用) 。m ,技 术保存系统配置信息;应用程序发布技术;文件加密技术;产品国际化技术。 第六章总结了本文的主要工作,以及进一步的研究方向。 中南大学硕士论文 第二章系统总体设计与分析 2 1 基于组件的开发技术 组件是一种可复用的一段软件,基于组件的软件开发技术的思想在于创建和 利用可复用的软件组件来解决应用软件的开发问题。组件技术是一种更高层次的 对象技术:它独立于语言和面向应用程序,只规定组件的外在表现形式,而不关 心其内部实现方法;可以用面向对象的编程语言实现,也可以用非面向对象的过 程语言实现。只要遵循组件技术的规范,各个软件开发商就可以用自己方便的语 言去实现可被复用的组件。应用程序开发人员就可以利用这些组件组合成新的应 用软件系统,使应用系统开发简单、可靠、快速且成本低廉。 使用组件技术能解决软件领域中两个重要的问题:软件复用和互操作。软件 复用是组件具有的通用特性,组件提供的功能能为多种系统使用。互操作表示不 同来源的组件能相互协调和通信,共同完成复杂的功能。 使用基于组件技术开发的系统不再是一个固化的整体性系统,而是通过组件 间互相提出请求及提供服务的协同工作机制来达到系统目标。由于组件的良好接 插性能,使系统变得十分灵活。 目前比较流行的组件技术方案包括微软公司的c o m 、d c o m 方案,s u n 公司提 出的基于j a v a 的组件对象技术等。其中基于j a v a 的组件对象技术由s u n 公司研 究开发,其核心是j a v a b e a n s 技术。它将j a v a 技术和组件技术接合在一起,使 j a v a 应用程序的开发交得快速、简单、易于维护,以适应当前不断增长的网络 程序需要。 j a v a b e a n s 是一个用j a v a 语言编写的一种可移植、与平台无关的部件模型。 它使开发者可以编写一种可以为所有平台所使用的可复用组件。j a v a b e a n s 将为 所有组件模型建立桥梁,提供与其他组件的无缝连接方式。j a v a b e a r i s 组件可以 被嵌入当前许多流行的组件系统中,如m i c r o s o f t 的0 l e c o m a c t i v e x 系统。 m a c i n t o s h 的0 p e n d o c 系统以及n e t s c a p e 的l i v ec o n n e c t 系统等。 j a v a b e a n s 是一个完整的组件模型。它支持标准组件技术中各种特性:属性 6 中南大学硕士论文 ( p r o p e r t i e s ) 、事件( e v e n t s ) 、方法( m e t h o d s ) 、持续性( p e r s i s t e n c e ) 。另外, j a v a b e a n s 提供内查机制( i n t r o s p e c t i o n ) 和自定义( c u s t o m i 2 a t i o n ) 的支持。通 过其功能强大的发射( r e f l e c t i o n ) 技术支持,可以简单而快速的分析和配置一个 j a v ab e a n 。 2 2 系统体系结构 在总结各门专业课程( 如数字图像处理、数字信号处理、数字通信原理、计 算机网络技术等) 实验基本特点和要求的基础上。结合虚拟实验环境的交互性、 可扩充性及组件重用性的需求,提出了基于i n t e r n e t 的虚拟实验室平台体系结 构,如图2 一l 所示。将系统体系结构分成两个部分,即服务器端和客户端。服务 器端主要包括:m a t l a b 提供的0 l ea u t o 腿t i o n 服务;第三方提供c o m 服务组件; 使用t l a b 库文件和其他类型的库文件编写的c o r 队服务端组件。客户端是个 j a v a8 e a n 容器和j 8 v 8b e a n 组件,这些组件有两种类型:通过引用服务器端组 件对象,其运算在服务器端完成;组件对象直接在客户端运行。基于此体系结构, 开发虚拟实验室平台,然后以组件形式提供某一特定功能的组件,以组件组装方 式实现课程实验环境。 ( 1 ) 服务器 虚拟实验室采用m a t l a b 作为服务端计算引擎。m a t l a b 是目前最通用的计算 j a v a a p p l e t ( o r b ) i n t e m e t 工n 盘彻8 f o f b i x 2 0 0 0 e b c o r b a 服务端 组件 m 服务组件 c 0 r b 堰务端组件 虚拟实验室客户端平台类文件:实 验设备类文件;其他资源文件等 图2 1 系统体系结构 处理程序之一,提供了丰富的数字图像1 ,数字信号处理,信号仿真,人工智能, 中南大学硕士论文 模式识别等许多领域的算法处理包,并且提供功能强大,简单易用的脚本语言和 c c + + 等语言的编程接口。遥常有三种方式使用鼢t l a b :1 ) 直接在m a t l a b 集成 环境中编写m a t l a b 脚本语言程序文件并执行。2 ) 使用m a t l a b 提供的o l e 自动化 接口,在c h ,v b 等其他语言申调用,m a t l a b 自动激活并解释脚本语言程序, 将结果返回0 l e 服务程序调用者。3 ) 使用c c 什,f o r t r a r i 等编程语言接口。调 用m a t l a b 的库函数,编译成可执行程序。第一种方式不能脱离妇t l a b 环境,不 适作为虚拟实验后台计算服务引擎。第二种方案是由m a t l a b 解释执行脚本语言, 执行效率不高,但是程序编制简单。第三种方案执行效率最高,编程相对较难, 但是嫩t l a b 提供了一种将妇t l a b 脚本程序转化为c c + + 语言的工具,可以从一 定程度上的简化程序编写,缺点是转化过来的代码可读性较差,不便于修改、维 护。在虚拟实验室的服务器端可以采用后两种方案。对使用频繁和运行效率要求 较高的算法采用第三种方案。在第二种方案中,对熟悉m a t l a b 语言的用户可以 通过客户端组件提交其m a t l a b 脚本程序,完成实验室中没有提供的某些特殊要 求的试验仪器设备。 虚拟实验室客户端j a v aa p p l e t 通过c o r b a ( c o 啪o no b j e c tr e q u e s tb r o k e r a r c h i t e c t u r e ,公共对象请求代理体系) 与c + + 语言编写的c o r b a 服务器对象、 c 叫及o l ea u t o m a t i o n 通信。c o r b a 是由0 m g 组织定义的一种用于异种对象通讯 和分布式处理的工业标准。它为可移植的,面向对象的分布式计算应用程序提供 了不依赖于平台的编程接口和模型,具有不依赖于编程语言,计算平台,网络协 议的特点,往其非常适合于现有的分布式系统新的应用程序开发和系统集成。针 对业界的另一种标准c 叫,0 m g 在c o r b a 规范中定义了二者的互协作体系结构。 通过连接c 0 髓a e 0 也c q l i b a o l ea u t o 髓t i o n 的桥,实现二者之间的透明的交 互访问。但由于具体的产品实现方面的原因,虚拟实验室系统没有采用这种方案。 而是通过使用c + + 语言编写c o r b a 服务器对象访问c 伽0 l ea u t o 啪t i o n 服务。 服务器可以在不修改系统已有部分的前提下,增加基于j a v a 的跚i ( r e t e m e t h o di n v o c a t e ) 、跚i 1 1 0 p 等类型的组件,给客户端试验设备提供远程的分 布式计算服务。 c 叫( c o m p o n e n to b j e c tm o d u l e ,组件对象模型) 是一种以组件为发布单元 的对象模型。它定义了组件程序之间进行交互的标准,并且提供组件程序运行所 8 中南大学硕士论文 需的环境。有大量的组件都是以c o m o l e 提供的,包括系统中采用的m a t l a b 计 算引擎和其他已开发好的组件。通过重用和组装这些成熟的第三方组件,符合当 前软件技术的发展方向,能极大地减少程序开发工作量,减少系统的开发、维护 费用和时间池1 。 ( 2 ) 客户端 虚拟实验室客户端使用面向对象的设计方法和组件技术嘲,用j a v a 语言实 现,把a p p l e t 程序嵌入h t m l 文件中提供给用户使用。具有j a v a 程序内在的平 台无关,安全,健壮等特点。只需要支持j a v a 的浏览器即可运行,或者使用虚 拟实验室系统推荐的w e bs t a r t 技术。 虚拟实验室客户端设计成一个满足数字图像处理,数字通信原理,数字信号 处理等多个课程实验要求的环境,对各课程每一特定功能的实验设备或算法等以 j a v a b e a n s 组件的方式封装,注册到虚拟实验室平台,作为虚拟实验室仪器设各。 虚拟实验室动态刨建仪器设备,通过设置对象属性,调用对象方法,响应对象事 件的方式提供实验室仪器设备参数值在试验设计和运行时的修改,并提供让组件 相互通信的机制使仪器设备能在虚拟实验室中进行数据交互、通信。 虚拟实验室以可视化的手段给用户提供增加、删除、修改、移动、连接试验 仪器设备。使用户感觉好像在真实的环境中操作他所需要的仪器设备,根据其试 验要求选择合适的仪器设备来完成试验过程。 2 3 系统设计和运行环境 ( 1 ) 客户端运行环境 虚拟实验室客户端采用j a v a 开发,具有j a v a 语言内在的与平台无关的特点, 能运行在几乎当前所有流行的处理机和操作系统上。处理机包括i n t e lx 8 6 系列, 基于r i s c 的p 叫e rp c 等。操作系统如微软的w i n d 佣s 系列,如w i n d o w s9 8 、 盯n d o w sm e 、w i n d o w sn t 、w i n d o w s2 0 0 0 系列、s u n 公司的s o l a r i s 、 苹果 公司的m a c i n t o s h 以及l i n u x 操作系统等。 用户可以选择使用浏览器或w e bs t a r t 技术进入虚拟实验室,采用第一种方 式时由于j d k 版本更新较快,客户端机器的浏览器可能不支持高版本的j d k ,所 以需要安装由s u n 公司提供的j a v a 运行时环境,目前虚拟实验室平台使用的j d k 9 中南大学硕士论文 版本号为j d k l 3 o _ 0 1 ,使用i e 和n e t s c a p e 6 o 以下版本的浏览器需要用户自 己安装相应版本的j a v a 运行插件。采用w e bs t a r t 技术会自动安装相应的j d k 运 行环境。 ( 2 ) 服务器端运行环境 虚拟实验室平台服务器端包括w e b 服务器、c 0 r b a 服务器和m a t l a b 计算引 擎。三者可以安装在同一台w i n d o w s2 0 0 0s e r v e r 或w i n d o w sn t 上,推荐使用 两台或以上数量的机器安装这些服务。 在w i n d o w s2 0 0 0s e r v e r 或哥i n d o w sn t 上安装服务器,可以选择i i s 5 o 或其他w e b 服务器。也可以选择其他操作系统平台安装w e b 服务器,如在l i n u x 操作系统上安装a p a c h e 等。 服务器端c o r b a 服务器采用1 0 n a 公司的o r b i x 2 0 0 02 o ,虚拟实验室平台 选用该产品在i n t e lx 8 6 系列处理机及w i n d o w s2 0 0 0 操作系统的版本。0 r b i x 2 0 0 0 使用复制服务器的方式提供负载平衡的功能,所以虚拟实验室后台提供大量计算 服务时,可以使用多个o r b i x 2 0 0 0 服务器,这些服务器可以是位于局域网内或广 域网范围。 m a t l a b 6 1 使用w i n d o w s2 0 0 0 服务器。其他的c o m 或o l ea u t o a t i o n 服务 提供者按组件运行的要求选择相应的运行环境平台。 虚拟实验室服务器端的c o r b a 服务器和妇t l a b 计算引擎是可选的,如果客户 端所提供仪器设备的运算全部在客户端完成,无须调用c o r b a 服务和m a t l a b 计 算功能,则可以不安装这些服务器。 ( 3 ) 系统开发所使用的平台和主要开发工具 系统开发设计、分析、开发和发布主要使用到以下的编程语言以及相应的开 发工具和软件包。如r a t i o n a lr o s e 2 0 0 0 与u 地,j b u i l d e r 5 o ,v c + + 6 0 , j d k l 3 o 1 ,j r e l 3 o 1 ,w e bs t a r t l _ o ,o r b i x 2 0 0 02 0 开发工具包, f r o n t p a g e 2 0 0 0 ,i i s 5 o ,w i n d 0 w s 2 0 0 0s e r v e r ,m a t l a b 6 1 计算软件包等。下 面是这些软件的简单介绍。 u l 皿嘲五删 u 札( 统一建模语言,u n i f i e dm o d e l i n gl a n g u a g e ) 是一个通用的可视化建 模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。 1 0 中南大学硕士论文 它记录了对必须构造的系统的决定和理解,可用于对系统的理解、设计、浏览、 配置、维护和信息控制。u 札适用于各种软件开发方法、软件生命周期的各个阶 段、各种应用领域以及各种开发工具,是一种总结了以往建模技术的经验并吸收 当今优秀成果的标准建模方法。u 札包括概念的语义,表示法和说明,提供了静 态、动态、系统环境及组织结构的模型。它可被交互的可视化建模工具说支持, 这些工具提供了代码生成器和报表生成器。u 儿标准没有定义一种标准的开发过 程,它适用于迭代式的开发过程,是为支持大部分现存的面向对象开发过程而设 计的。 u 池描述了一个系统的静态结构和动态行为。u 乩将系统描述为一些离散的 相互作用的对象并最终为外部用户提供一定功能的模型结构。静态结构定义了系 统中重要对象的属性和操作以及这些对象之间的相互关系。动态行为定义了对象 的时间特性和对象为完成目标而相互进行通信的机制。从不同但相互联系的角度 对系统建立的模型可用于不同的目的。 u m l 还包括可将模型分解成包的结构组件,以便于软件小组将大的系统分解 成易于处理的块结构,并理解和控制各个包之间的依赖关系,在复杂的开发环境 中管理模型单元。它还包括用于显示系统实现和组织运行的组件。 r a t i o n a ir o s e r a t i o n a lr o s e 是分析和设计面向对象软件系统的强大工具。支持目前最常 用的三种可视化建模图注方法:b 0 0 c h 、对象建模技术( 0 m t ) 和统一建模语言 ( l ) 。 r a t i d n a lr o s e 可以用于系统开发的每一个步骤,是项目组每个成员可以收 集所要信息的范围和设计信息的仓库。帮助开发人员产生代码各种语言的框架, 如c + + 、j a v a 、v i s u a lb a s i c 等。同时可以逆向转出工程代码,根据现有系统产 生模型。代码的改变,r o s e 可以对模型做出相应的修改,模型的变化也可以用 它修改代码,这样可以保证模型与代码同步,避免过时的模型。 m a t l a b m a t l a b 开始作为一种矩阵运算工具而设计,主要为了解决常用的计算机高 中南大学硕士论文 级语言如c ,f o r t r a n 等对矩阵运算支持不足的问题。随着功能的不断增强,成 为目前世界上最为流行的计算工具软件,提供了传统的交互式编程语言、丰富可 靠的矩阵运算、图形绘制、数据处理、图像处理、方便的w i n d o w s 编程等便利工 具以及各种以m a t l a b 为基础的实用工具箱,广泛地应用于自动控制、图像信号处 理、生物医学工程、语音处理、雷达工程、信号分析、振动理论、时序分析与建 模、化学统计学、优化设计等领域,表现出一般高级语言难以比拟的优势。 o r b i x 2 0 0 0 o r b i x 2 0 是i q n a 公司的旗舰产品,是目前市场占有率第一的c 0 r b a 服务器 产品,可以运行在w i n d o w s2 0 0 0 ,酊n d o w sn t ,u n i x 家族,l i n u x 等各种主流 的操作系统上。o r b i x 2 0 0 0 是建立高性能系统的c o r b a 开发平台,它的模块化结 构满足系统的可伸缩性、高性能、发布的灵活性的要求。0 r b i x 2 0 0 0 体系结构是 语言无关的,它支持j a v a 和c h 语言。o r b i x 2 0 0 0 的应用程序可以通过标准的 i i o p 协议与其他任何与c o r b a 技术兼容的应用程序通信。它高度模块化结构使 开发人员可以在不修改源代码的前提下配置和修改程序功能,并且可以还具有多 种系统发布方式,便于管理和配置复杂的分布式系统。 2 中南大学硕士论文 第三章系统客户端设计与实现 3 1 系统客户端功能需求 虚拟实验室客户端设计为一个具有良好交互性、开放式、可视化的虚拟试验 环境。模拟实际物理实验室操作环境,方便用户使用和操作,使用户处于一个具 有较好真实感的试验环境。具体功能包括以下方面: 设计试验流程,包括选择和添加、选取、移动、删除、连接试验设备,并 在这些操作中应用试验流程设计规则; 设计和运行时调整试验设备参数值; 运行试验流程,输出试验结果; 用户可以随时中断试验运行; 保存试验流程,恢复以前保存的试验流程; 动态注册虚拟试验设备: 在线帮助提示 3 2 用户界面设计 虚拟实验室客户端的运行环境,如操作系统平台、浏览器的类型等不能确定, 用户喜欢可能是l i n u x 风格的界面,也可能是苹果电脑的界面或w i n d o w s 的界面 风格,所以利用j a v a 的功能缺省设置与操作系统一致的用户界面风格,包括 了m e t a l 、w i n d o w s 等种风格的界面,用户可以选择其中自己喜欢的一种。 客户端主界面是图形窗口界面。在主窗口中包括主菜单、工具栏、状态条、 试验设计窗口和试验运行时结果窗口。图3 1 是系统在w i n d o w s 操作系统上运行 的界面。界面对象类模型如图p 2 。 中南大学硕士论文 图3 一l 虚拟试验室平台客户端主界面 图3 2 客户端用户主界面类模型 3 3 系统关键类的设计 根据系统功能需求,实现虚拟实验室平台的类主要类如下 1 ) 虚拟试验设备载体( d e v i c e c a r r i e r ) 为减轻虚拟试验设备仪器开发工作量,使程序员集中试验设备的功能,虚 中南大学硕士论文 拟实验室提供统一的试验设备载体对象,代表试验设备处理试验设备的共同行 为,包括; 选取、移动、绘制等; 磁盘文件中读取序列化的对象、将内存对象写入磁盘文件: 根据用户的选择设置试验设备的处理方法。以实现特定的功能; 在运行调用试验设备方法,完成试验设备功能: 获取和输出引脚的值: 类的详细设计见图3 3 ,操作说明见表3 一l ,类详细设计图和操作说明表 中忽略了类属性的简单存取方法。 d e v i c e c a r r i e r 虚拟试验设备载体类 n 锄e 载体名孚 t i t l e 试验设备载体标题 x 设备x 坐标 y 设备y 坐标 w i d t h 设备宽度 h e i g h t 设备高度 c l a s s u r l 试验设备类的u r l 地址 i n s t a n c e 试验设备对象引用 1 e a d s 试验设备引脚 e t h o d i n 输入引脚的值 m e t h o d o u t 输出引脚的值 p r o c m e t h o d p u b l i cv o i de x e c u t e m e t h o d ( ) p u b l i cv o i dd r a w ( g r a p h i c sg ) p u b l i cv d i dm o v e ( i n tx , i n ty ) p r i v a t er e a d o b j e c t ( o b j e c t i n p u t s t r e a mo i s ) p r i v a t ew r i t e o b j e c t ( o b j e c t o u t p u t s t r e a m0 0 s ) p u b l i cv o i ds e t p r o e r t y v a l u e ( s t r i n gp r o p e r t y n 删,0 b j e c to ) p u b l i cv o i dg e t p r o p e r t y v a l u e ( s t r i n gp r o p e r t y n a l e ,o b j e c to ) p u b l i cv o i ds e t c l a s s u r l ( s t r i n gn e 酊1 a s s u r l ,s t r i n gp r o c m e t h o d n 鲫e ) p u b l i cv o i ds e t m e t h o d ( s t r i n gp r o c n 锄e ) 图3 3d e v i c e a r r i e r 类详细设计图 中南大学硕士论文 表3 1d e v i c c a r r i e r 类操作说明表 方法 功能 e x e c u t e m e t h o d ( )执行设备的方法,完成试验设备功能 在设计面板上绘制试验设备载体 r e a d o b j e c t ( ) 读取序列化对象 盯i t e o b j e c t ( ) 将试验设备对象序列化 m o v e ( )移动试验设备载体 g e t p r o p e r t y ( )取引脚的值 s e t p r o g e r p t y ( )设置引脚的值 2 ) 虚拟试验设备连接器( d e v i c e c o e c t o r ) 该对象用于连接试验仪器设备载体的引脚。连接器的形状、位置等随试验设 备载体的移动自动移动和改变形状,用户也可以通过改变连接器手柄的位置来改 变来改变其位置。该对象提供虚拟试验设备仪器之间连线的基本

温馨提示

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

评论

0/150

提交评论