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

(计算机应用技术专业论文)基于corba技术的虚拟实验室平台的架构设计与实现.pdf.pdf 免费下载

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

文档简介

摘要 厂、j 争 1 伤f p : 远程教学作为一种新型的教育模式已成为近年来各国教育界的 重要研究课题。基于i n t e r n e t 的虚拟实验室是现代远程教学质量提 高的关键,因为实验是大部分工程类和应用类课程的重要一环,是人 们快速、廉价地获取知识和技能的有效途径。 本文提出了基于c o r b a 技术的网上虚拟实验系统的开发模型,该 模型以j a v aa p p l e t 作为客户端,c o r b a 作为中间通信桥梁,能够集 成j a v ab e a n 、m a t l a b 、c o m d c 0 m 作为计算后台,大大提高了开发效 率。文中对虚拟实验室系统的设计与实现进行了深入的论述,重点介 绍了如何利用c o r b a 技术构建虚拟实验室系统平台,并对系统中采用 的关键技术和主要模块进行了详细的说明。本文同时给出了基于该模 型的通信原理虚拟实验室和数字图像处理虚拟实验室的系统实现,该 系统客户端用j a v a 语言实现,具有与平台无关,安全,健壮等内在 特点;实验室设备( 算法和仪器等) 以组件的方式开发,提高了开发 效率,实现了软件重用,实验室的功能易于扩充;服务器端以m a t l a b 为计算后台,提供了强大的系统仿真能力。 本文最后对平台实现过程中的研究与开发工作进行了总结,并阐 述了将来进一步对该系统进行扩充与完善的一些工作。 关键词虚拟实验室,c o r b a ,m a t l a b ,j a v aa p p l e t ,j a v ab e a n a b s t r a c t w i m 血er a p i d d e v e l o p m e m o fi n t e m e t ,m o d e ml o n g - d i s t a l l c e e d u c a t i o na san e we d u c a t i o nm o d eh a sb e c 锄ea l li m p o r t a n tp r o b l e mf o r d i s c u s s i o n r t u a ll a b o r a t o r y ( 。) b a s e do n 血ei n t e m e ti sak e yo n i m p r o v i n g m e 1 0 n g d i s t a l l c e e d u c a t i o n s q u a i i 哆s i n c ee x p e r i m e n t i s s i g n i :e i c a n tf o r m o s t e n g i n e e r i n ga 1 1 d 印p l i c a t i o n c o u r s e s t h i s p a p e rp r o p o s e s an e wa r c m t e c t u r ef o r w e b _ b a s e dv i r m a l l a b o r a t o r yw i 吐lc o r b at e c h o l o 弘i i lt h e 砌i t e c t u r e ,j a v aa p p l e ta c t s a s 也ec l i e n tt o o l s ,a 3 r b aa c t sa st 1 1 ec o m m u n i c a t i o nb r i d g eb e t w e e n d i f i e r e n to b j e c t s ,t i l ei m e 铲a t i o no fj a v ab e 舡l ,m a t i a ba n dc o m d c o m a c ta sm e c o r n p u t i n gt o o l s i nm es e r v e r b yu s i n gt h ea r c h t e c t u r e ,也e e f f i c i e n c yo fd e v e l o p i n g t 1 1 ev i 咖a ll a b o r a t o 叫c a l lb e i m p r o v e dm a r k e d l y t h e p 叩e r d i s c u s s e st 圭1 e d e s i g n a 1 1 d i m p l e m e n t a t i o n o f 廿1 ev i r t u a l l a b o r a t o 巧s y s t e m ,s u c h a sm eu s eo fc o r b a t e c h i l o l o g y m ek e y t e c h n o l o g i e sa n d m o d u l e s t h i sp 印e ra l s oi 1 1 t r o d u c e st h ei i i l p l e m e n t a t i o n o fc o 舢m u 工1 i c a t i o np r i n c i p l ev i r c u a l l a b o r a t o 科b a s e do n 也ea r c h i t e c t u r e i nt h ev i r t u a l l a b o r a t o d r ,c l i e n t s s i d eu s ej a v aa p p l e tt oc o r m u n i c a t e w i t hs e r v e r i nt l l i sw a y ,c l i e n t s s i d ei si i l d e p e n d e mo f p l a t f o m ,s a f ea n d r o b u s t t h ei n s n l j m e n t sa r ed e v e l o p e da sc o n l p o n e n t s ,w h i c hi m p r o v e s t h e d e v e l o p i n ge m c i e n c ya 1 1 dt 1 1 e r e u s eo fc o m p o n e n t s m a 廿a bi sa l s o u s e df o r c o m p u t i n g i nt l l e s e n ,e r ,w h i c he r l l l a l l c e sm es i m u l a t i o n c 印a b i l 觋 f i n a l l y ,t l l ep 叩e r s 啪s u p o u rw o r k d 耐n g t h e d e s i 驴a n d d e v e l o p m e n t ,a 1 1 dd i s c u s s e sh o w t oi h 巾r o v em e p l a t f o n ni n 协e f i 巾1 r e k e yw o r d sv i r t u a ll a b o r a t o c o r b a ,m a t l a b ,j a v a a p p l e t ,j a v ab e a l l i l 原创性声明 本人声明,所呈交的学位论文是本人在导师指导下进行的研究 工作及取得的研究成果。尽我所知,除了论文中特别加以标注和致谢 的地方外,论文中不包含其他人已经发表或撰写过的研究成果,也不 包含为获得中南大学或其他单位的学位或证书而使用过的材料。与我 共同工作的同志对本研究所作的贡献均已在论文中作了明确的说明。 作者签名:臀墨阻 日期:! 垒兰生年土月盟日 关于学位论文使用授权说明 本人了解中南大学有关保留、使用学位论文的规定,即:学校 有权保留学位论文,允许学位论文被查阅和借阅;学校可以公布学位 论文的全部或部分内容,可以采用复印、缩印或其它手段保存学位论 文;学校可根据国家或湖南省有关部门规定送交学位论文。 储签名:幽7 掣新签名垮腻业年旦月丝日 硕士学位论文 第一章绪论 第一章绪论 i n t e r n e t “的出现改变了人类的生活方式,大大提高了人们通信的效率和速 度,使得不同地域的人们可进行实时对话。作为教育本身来说,为了给社会培养 更多的高质量技术人才,其教学模式必将随着通信手段的提高进行相应的改进, 如何利用i n t e r n e t 进行远程教学“”( 即基于i n t e r n e t 的远程教学,或现代远程 教学) 己成为近年来各国教育界的重要研究课题。其实远程教学很早就开始了, 如函授大学、电视大学等,只是由于现代的i r w 技术给远程教学提供了前所未 有的交互性和巨大的资源共享潜力,远程教学最近才得到如此重视。尽管目前人 们对基于删w 的远程教学模式还不是完全清楚,但有一点是确定的:基于w w w 的远程教学在不久的将来会成为一种重要的教育模式。 1 1 课题的研究背景 近l o 年里,i n t e r n e t 在全球得到了迅猛的发展,取得了巨大的成功,己成 为当今世界上覆盏面最大、规模最大、信息资源最丰富的计算机信息网络。作为 信息高速公路。”的原型,i n t e r n e t 极大地推动了世界科学研究的发展,展示了 信息网络对科研发展的巨大推动作用。在现代信息社会里,科研项目日渐复杂、 规模日益扩大,许多项目需要跨学科大规模的合作才能得到有效的解决;现代科 研活动耗资巨大,实验设备呈大型化趋势造价昂贵,因此也迫切需要共享实验 设备以降低科研成本:信息网络的全球化和通信、计算机技术的新成就,极大地 增强了科研人员交互、协作和资源共享的能力,为不同领域的科研人员提供了更 有效的手段,能更好地面对信息激增所带来的挑战。在此背景下,“虚拟实验室” 概念应运而生,为人们展示出信息社会科研环境和方式的发展趋势。 虚拟实验室”1 ( v i r t u a ll a b o r a t o r y ) 概念,亦称为“合作实验室( c ( ) 1 l a b o r a t o r y ) ”,最早在1 9 8 9 年由美国u n i v e r s i t yo fv i r g i n i a 的w i l l i a i i l w u l f 教授提出,用来描述一个计算机网络化的虚拟实验室环境“。它致力于构 筑一个综合不同工具和技术的电子化、网络化的科学研究集成环境。在这个环境 里,科学家们可以非常有效地利用地理上分布的各种资源( 数据、信息、设备、 人力) 来从事科研活动。 w u l f 形象地把虚拟实验室称为“无墙e g 研究中心”“”。在其间,科研人员 不管其地理位置分布如何,都能共同从事研究与同事们相互交流,使用仪器, 共享数据和资源,在数字式图书馆中存取信息,共同撰写研究报告等。所有这些 活动不必面对面进行,而是在分布式网络环境1 支持下,通过电子邮件系统、多 硕士学位论文 第一章绪论 媒体会议系统等手段来实现。因此,虚拟实验室实质上是一个分布式计算机系统 “”o “。在系统中,配置有具有遥控遥测能力的网络化研究设备和数据采集平台, 有支持协作活动的各种工具,建有可以支持大规模数据共享的数字式图书馆“。 虚拟实验室的所有技术支持都旨在增强科学家、仪器设备和数据等资源之间的交 互交融,以提高科研效率,降低科研成本,为发展离新科学技术提供强有力的技 术保障,最终促进人类社会的进步。 当前,在世界范围内,网络时代信息化社会的到来正一步步推动高校教育的 改革,传统的课堂教学方式受到了挑战。远程教学作为一种新型的教育模式已成 为近年来各国教育界的重要研究课题。基于i n t e r n e t 的虚拟实验室是现代远程 教学质量提高的关键,因为实验是大部分工程类和应用类课程的重要一环,是人 们快速、廉价地获取知识和技能的有效途径。对于大多数的虚拟实验室而言,主 要缺点是结构单一,只适合开发某一类课程的虚拟实验室,且开发工作量较大, 不能够充分利用现有的第三方软件。虚拟实验室为用户提供了一种不受时间,地 点,实验设备限制的实验环境,对于高校实验教学改革具有重要的应用价值,对 于提高远程教育的教学质量具有重要的意义。 1 2 课题的研究现状 。 目前,国内外有很多组织都已经开展了虚拟实验系统的研究和建设工作,特 别是在一些著名的大学和虚拟实验室中,已经建好并投入使用的虚拟实验系统 也不少。 v s l ( v i r t u a ls y s t e m sl a b o r a t o r y ,简称v s l ) 虚拟系统实验室,始建于1 9 8 9 年,由g e n t r a lf l o r i d a 大学教育训练研究院建立,其目标旨在提高计算机图形 的艺术表现力以及改进仿真过程中的人机接口设计。目前,该实验室正在开展多 项与虚拟实验相关的支撑技术研究,如虚拟实验环境中的网络及并行计算技术、 复杂实验环境的实时物理仿真技术、低价图形仿真技术等:已取得了大量的研究 成果,如设计并开发了第一例实时动态虚拟环境、第一例v r 3 d c a d 虚拟设计系 统等。 虚拟工程科学实验系统,由j o h n sh o p k i n s 大学化学工程系为配合课程 w h a ti se n g i n e e r i n g ? 的教学而建立的,实验的目的是引导学生尽快地掌 握实验、问题求解、数据采集和科学分析的方法。该实验系统尚在建设过程中, 目前能够提供的实验项目如下:逻辑电路实验、扩散过程实验、石油勘探实验、 机器人手臂控制实验、桥梁设计实验、管道传热实验、树木测量实验、声音传播 实验、热传导实验、概率分布实验。 与西方发达国家相比,国内在虚拟实验方面开展的工作还不多。目前从网上 堕圭茎竺笙苎 一 一一茎二兰! ! 垒 可查到的信息和各院校开放的对外服务看,国内清华大学、北京大学、上海交 通大学、华中科技大学( 原名华中理工大学) 等高校己陆续在网上设立了自己的 电子教室,其中有少数电子教室提供了有限的虚拟实验服务,如华中理工大学机 械学院建立了一个工程测试网上虚拟实验室,学生可以通过联网计算机终端来进 行仿真实验。 研究发现,目前虚拟实验室的系统设计方案从实现技术的角度可分为两大 类:一类足以纯软件方式开发;另一类是软件结合硬件的方式。以纯软件方式开 发的虚拟实验室大多是采用了现今流行的1 f 哪技术,包括h t m l 、c g i 、j a v a a p p l e t 、j a v as e r v l e t 等技术。文献 2 描述了虚拟生物学实验室的设计与开发, 该系统是以j a v aa p p l e t 作为客户端,以j a v 8 b e a n 的形式实现实验组件,用x m l 来描述应用和实验数据;文献 6 提出的基于i n t e r n e t 虚拟实验室平台是以j a v a 语言实现的,客户端是j a v aa p p l e t 。设备组件由j a v a b e a n 实现。该实验室以 组件的方式提供具体的仪器设备,用户可视化地定制自己的实验流程:文献 7 中介绍了远程编程虚拟实验室的设计,客户端采用h t 札、j a v aa p p l e t 技术实现, 服务器端采用c g i 、j 8 v as e r v l e t 技术实现,用户首先在实验室中写好程序代码, 客户端以文本的方式发送给服务器,服务器接收到源代码后,调用相应的语言编 泽器编泽执行,再将结果返回客户端;文献 8 提出了基于i n t e r n e t 的d s p 课程 实验室,完全采用j a v a 语言实现。每一个示范实验由一个j a v aa p p l e t 完成, 用户可以直接运行j a v aa p p l e t 来完成示范实验。该实验室还提供了一个实验编 辑台,用户通过鼠标的拖拉可以使用系统提供的虚拟设备来构建实验。第二类以 软件结合硬件方式开发的虚拟实验室在客户端还是采用h t 札、j a v aa p p l e t 等技 术,不同的是服务器端加入了真实硬件设备来完成仿真过程。在文献 3 中提出 的i p 网络虚拟实验室是以一台e t h e r n e ts w i t c h 和多台运行l i n u x 操作系统的 p c 机作为仿真设备,用户可以在b 上远程输入l i n u x 网络操作命令,服务器 端将仿真设备的结果返回给用户:在文献 5 提出的残疾人虚拟实验室中,用户 界面采用了m a c r o m e d i a 出品的a u t h o r w a r e 多媒体创作软件,使得用户界面更真 实生动,使用l a b v i e w 软件来接受某些真实设备的输入数据来完成模拟过程,同 时可以采用l a b v i e w 本身的“g ”编程语言来编程实现用户需要的虚拟设备;文 献 4 提出了一种虚拟实验室的实现方案,该方案采用了w w w 技术,包括h t 虬、 c g i 和j a v a 技术,使用l a b v i e w 平台来开发虚拟设备,该平台能够对具有标准 接口的真实设备提供支持;文献 9 提出了基于w e b 的分布式虚拟教育实验室。 该系统允许服务器端的组件数据库分布在不同的主机上,客户端的请求通过远程 连接管理者来定位服务组件。服务组件的开发采用l a b v i e 平台。不管是以纯软 件还是以软件加硬件的形式来实现仿真过程,它们都只能在同种对象之间进行信 硕士学位论文第一章绪论 息传送,无法实现异种对象间的通信,无法集成已存在的虚拟仿真系统。“”,垂 于i n t e r n e t 的虚拟实验室系统旨在解决这一问题,提高虚拟实验室系统的开发 效率。 我国己有的一些远程教学资源在内容上已非常丰富,有些课件已经出现了实 验性质的教学单元,但很少有虚拟实验室课件能提供这样的平台:用户可以定制 自己的实验过程,可以加入自己编写的算法从而使实验室的可扩充性增强。在这 种情况下,我们寻求一种重用功能模块的开放式方法来推动虚拟试验室的进一步 发展。我们制作的通信原理虚拟实验室就是在这方面作出的首次尝试。 1 3 研究目标 ( 1 ) 通过本项目的研究,能够提供一个基于i n t e r n e t 虚拟实验平台,该平 台提供了各类虚拟实验室需要的基本功能,在该平台上能方便的添加各门课程的 虚拟实验室。在此基础上设计开发完成数字图像处理虚拟实验室、通信原理虚拟 实验室、数字信号处理虚拟实验室和网络虚拟实验室。 ( 2 ) 实现可视化的实验流程定制:使用实验室简单、易学,相对于目前常见 的虚拟实验室来说,用户可以按照自己的需要组合相应的实验。进行学习、研究, 而不仅仅只对单个算法进行实验的演示。 ( 3 ) 虚拟实验室必须便于扩充,用户自己提供的算法可以很方便地引入到实 验室中,为科研、教学等提供一个了验证自己算法的环境,对比自己所提供算法 的优劣;同时可以与i n t e r n e t 上其他用户共享从而丰富实验室功能等。 ( 4 ) 针对开发虚拟实验室需要很大的工作量,寻求一种最佳的开发模式,使 系统能够具备良好的可扩充性和软件重用性,以及有效的利用第三方软件来加快 虚拟实验室开发的过程并提高虚拟实验室的正确性。 1 4 基于c 0 r b a 技术的网上虚拟实验室平台的提出 现有的虚拟实验室系统无法实现异种对象间的通信,无法集成已存在的虚拟 仿真系统。这个缺陷使得虚拟实验室的开发效率低、周期长,而且虚拟实验室的 正确性得不到有力的保障。如何充分利用已有的第三方软件来加快开发的速度和 开发的正确性成为虚拟实验室开发中急需解决的重要问题。基于此出发点,提出 了利用c o r b a 技术来构建虚拟实验室平台的方案。 现有虚拟实验室的建设、应用都取得较好的成果,但是在交互性、扩充性和 软件重用性方面都存在不足之处,如用户不能定制实验,无法将自己开发的实验 设备等加入实验室中,从而扩充实验室功能;较难重用已有的功能模块,构造新 硕士学位论文 第一毒绪论 的实验室,这些缺点在开发和使用虚拟实验室等各方面都存在。 针对以上问题,我们利用面向对象技术和组件技术,设计并实现了基于 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 组件。使用组件技术可以提高 开发速度、降低开发成本、增加系统灵活性、降低软件维护费用等。使用这种技 术有助于我们迅速建立大量的虚拟实验室,满足远程教学和科研的所需要的大量 的各种类型的虚拟实验室,推动远程教育和科研的发展。 1 5 论文的组织 论文全文共分七章: 第一章绪论。这一章主要介绍课题的研究背景、研究现状和研究目标,并 阐述了基于c o r b a 技术的虚拟实验室平台的必要性及其重要意义。 第二章系统的总体设计。描述了系统的整体架构的设计和实现方案。 第三章系统的设计与实现。详细说明系统的客户端和服务器端的实现方案, 以及两者之间的协作方案。 第四章系统的关键技术。这一章对系统实现过程中使用的关键技术进行了 详细的介绍,包括c o r b a 技术的、j a v a b e a n 组件技术、反射技术、) ( m l 技术、对 象序列化技术等关键技术在系统的不同功能模块中所发挥的作用。 第五章主要模块的设计。介绍了构成系统的主要模块的设计思想,包括运 行模块、算法提交模块、实验存取模块和组建信息存取模块。 第六章系统开发实例。以系统实现的数字图像处理虚拟实验室和通信远离 虚拟实验室为例,说明利用该系统开发虚拟实验室的基本步骤。 第七章结束语。 硕士学位论文 第二章系统的总体殴计 第二章系统的总体设计 虚拟实验室对远程教育的发展也具有不可替代的作用。在远程教学模式中特 别需要建立基于i n t e r n e t 的虚拟实验室,因为实验是大部分工程类和应用类课 程的重要一环,是人们快速、廉价地获取知识和技能的有效途径。目前,开发虚 拟实验室工作量较大,随着需求的变化,要不断的扩充虚拟实验设备,并且,要 求虚拟实验室能够跨平台运行。针对这些问题,我们提出了基于c o r b a 技术的网 上虚拟实验系统开发架构,具有良好可扩充性、平台独立性、软件重用性,在此 架构的基础上可以构建各类虚拟实验室。 2 1 系统的体系结构 c o r b a ( c o 衄o n0 b j e c tr e q u e s tb r o k e ra r c h i t e c t u r e ) 定义了一个开放的 分布对象总线( 对象请求代理o r b ) 标准,允许分布式对象应用程序之间进行互 操作( 即应用程序与应用程序之间通信) ,不管这些应用程序采用什么语言编写 或驻留在什么地方。c o r b a 对象是标准的软件对象,具有语言独立性,每个c o r b a 对象有一个清晰定义的接口,该接口用e 0 r b a 接口定义语言( i n t e r f a c e d e f i n i t i o nl a n g u a g e ,i d l ) 来定义,i d l 提供了独立于编程语言的服务实现定 义。它作为中间语言定义客户端使用和服务器端实现的接口。我们将利用c o r b a 技术来实现虚拟实验室系统架构设计。 6 硕士学位论文 第二章系统的总体设计 实验组件的开发在虚拟实验室的设计中十分重要,而且需要花费很多时间。 如何提高组件开发效率成为缩短研发周期和提高组件重用性的关键。m a t l a b 是新 一代高性能的科学与工程计算软件,它提供了强大的数值计算能力,同时m a t l a b 提供了很多仿真工具包,能够快速的实现多个领域的系统建模。2 1 和仿真工作。 在虚拟实验系统中集成m a t l a b 可以大大增强系统的仿真能力和提高开发效率。 系统以上的特点要求能够实现j a v a 、m a t l a b 、c + 十这些异种对象之间的通信。 c o r b a 内在的跨语言、跨平台特性决定了它是构建虚拟实验室系统的合适选择。 系统结构包括客户端和服务器端。客户端采用浏览器中嵌入j a v aa p p l e t 的方式, 使得虚拟实验室的客户端具有j a v a 语言的平台独立性、安全性等特点。服务器 端主要包括使用m a t l a b 计算引擎编写的c o r b a 服务对象( s e r v a n t s ) ;编译 m a t l a b 源文件生成的动态链接库;第三方提供的c o m d c o m 组件;以及j a v a b e a n 组件。系统体系结构如图2 一l 所示。 用户通过支持j a v a 的浏览器与虚拟实验室系统的w e b 服务器建立连接,选 择进入的虚拟实验室后,浏览器会自动下载服务器端的a p p l e t 到本地客户端, 并在客户端浏览器的j a v a 虚拟机上运行。通过客户端的o r b 和服务器端的o r b 通信,实现与c o r b a 服务器的连接,及远程访问。 2 2 系统的运行环境 2 2 1 客户端 虚拟实验室客户端采用j a v a 开发,具有j a v a 语言内在的与平台无关的特点, 能运行在几乎当前所有流行的处理机和操作系统上。处理机包括i n t e lx 8 6 系列, 基于r i s c 的p o w e rp c 等。操作系统如微软的w i n d o w s 系列,如w i n d o w s9 8 、 w i 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 0 1 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 版本号为j d k l 3 一0 1 ,使用i e 和n e t s c a p e 6 0 以下版本的浏览器需要用户自 己安装相应版本的j a v a 运行插件。采用w e bs t a r t 技术会自动安装相应的j d k 运 行环境。 2 2 2 服务器端 虚拟实验室平台服务器端包括w e b 服务器、c o r b a 服务器和 f a t l a b 计算g 硕士学位论文 第二章系统的总体设计 擎。三者可以安装在同一台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 或w 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 服务器采用b o r l a n d 公司的v i s i b r o k e r 4 5 ,虚拟实验室平 台选用该产品在i n t e lx 8 6 系列处理机及w i n d o w s2 0 0 0 操作系统的版本。 v i s i b r o k e r 使用复制服务器的方式提供负载平衡的功能,所以虚拟实验室后台 提供大量计算服务时,可以使用多个v i s i b r o k e r 服务器,这些服务器可以是位 于局域网内或广域网范围。 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 m a t i o n 服务 提供者按组件运行的要求选择相应的运行环境平台。 虚拟实验室服务器端的c 0 r b a 服务器和m a t l a b 计算引擎是可选的,如果客户 端所提供的仪器设备的运算全部在客户端完成,无须调用c o r b a 服务和m a t l a b 计算功能,则可以不安装这些服务器。 2 ,3 系统的主要开发工具 系统设计、分析、开发和发布主要使用到以下的编程语言以及相应的开发工 具和软件包。如r a t i o n a lr o s e 2 0 0 0 与u m l ,j b u i l d e r 7 0 ,v c + + 6 0 ,t d k l 3 0 1 , j r e l 3 o 1 ,w e bs t a r t l 0 ,v i s i b r o k e r 4 5 开发工具包,i i s 5 0 ,w i n d o w s 2 0 0 0 s e r v e r ,m a t l a b 6 1 计算软件包等。 ( 1 ) j b u i l d e r 7 o j b u i l d e r 是b o r l a n d 公司推出的j a v a 编程工具,它具有一个功能强大的集 成开发环境,可以让你快速创建各种j a v a 应用程序。它具有广泛的代码浏览工 具以及用于创建和修改j a v a b e a n 组件的工具。 ( 2 ) u m l u m l ( 统一建模语言,u n i f i e dm o d e l i n gl 矗g u a g e ) 是一个通用的可视化建 模语言,用于对软件进行描述、可视化处理、构造和建立软件系统制品的文档。 它记录了对必须构造的系统决定和理解,可用于对系统的理解、设计、浏览、配 置、维护和信息控制。u 札适用于各种软件开发方法、软件生命周期的各阶段、 各种应用领域以及各种开发工具,是一种总结了以往建模技术的经验并吸收当今 优秀成果的标准建模方法。u 札包括概念的语义,表示法和说明,提供了静态、 动态、系统环境及组织结构的模型。它可被交互的可视化建模工具所支持,这些 工具提供了代码生成器和报表生成器。u m l 标准没有定义一种标准的开发过程, 它适用于迭代式开发过程,是为支持大部分现存的面向对象开发过程而设计的。 硕士学位论文 第二章系统的总体设计 u m l 描述了一个系统的静态结构和动态行为。u 札将系统描述为一些离散的 相互作用的对象并最终为外部用户提供一定功能的模型结构。静态结构定义了系 统中重要对象的属性和操作以及这些对蒙之间的相互关系。动态行为定义了对象 的时间特性和对象为完成目标而相互进行通信的机制。从不同但相互联系的角度 对系统建立的模型可用于不同的目的。 u m l 还包括可将模型分解成包的结构组件,以便于软件小组将大的系统分解 成易于处理的块结构,并理解和控制各个包之间的依赖关系,在复杂的开发环境 中管理模型单元。它还包括用于显示系统实现和组织运行的组件。 ( 3 ) r a t i o n a lr o s e r a t i o n a lr o s e 是分析和设计面向对象软件系统的强大工具。支持目前最常 用的三种可视化建模图注方法:b o o c h 、对象建模技术( o 岍) 和统一建模语言 ( u m l ) 。 r a t i o 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 可以对模型做出相应的修改,模型的变化也可以用 它修改代码,这样可以保证模型与代码同步,避免过时的模型。 ( 4 ) m a t l a b 矾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 为基础的实用工具箱,广泛地应用于自动控制、图像信号处 理、生物医学工程、语音处理、雷达工程、信号分析、振动理论、时序分析与建 模、化学统计学、优化设计等领域,表现出一般高级语言难以比拟的优势。 ( 5 ) v i s i b r o k e r v i s i b r o k e r 是b o r l a n d 公司的旗舰产品,可以运行在w i n d o w s2 0 0 0 ,w i n d o w s n t ,u n i x 家族,l i n u x 等各种主流的操作系统上。v i s i b r o k e r 是建立高性能系 统的c o r b a 开发平台,它的模块化结构满足系统的可伸缩性、高性能、发布的灵 活性的要求。v i s i b r o k e r 体系结构是语言无关的,它支持j a v a 和c + + 语言。 v i s i b r o k e r 的应用程序可以通过标准的1 1 0 p 协议与其他任何与c o r b a 技术兼容 的应用程序通信。它高度模块化结构使开发人员可以在不修改源代码的前提下配 置和修改程序功能,并且可以还具有多种系统发布方式,便于管理和配置复杂的 分布式系统。 硕士学位论文 第三章系统的设计与实现 第三章系统的设计与实现 3 1i o l 接口文件定义 c o r b a 中接口的定义是通过一组由接口定义语言“7 1 ( i d l ) 制定的语言结构 来建立的。i d l 结构的语法与c c + + 和j a v a 相似,但无法直接编译为二进制代码, 而是作为中间语言。定义客户机使用和服务器实现的接口。i d l 可以看成利用对 象的系统和实现对象的系统之间的“协议”。建立c o r b a 系统的开发人员用i d l 构造系统,定义系统支持的接口。这个模型实际系统的抽象表示。例如,通信原 理虚拟实验室中使用的i d l 文件“c o 哪p r i n c i p l e i d l ”的部分内容如下: i n t e r f a c el o w p a s s f i l t e rf m y t y p el o w p a s s ( i nd o u b l ep a s s f , i nd o u b l es t o p f ,i nd o u b l ep a s s a , i nd o u b l es t o p a ,i nd o u b l e s a m p l e f , i nm y t y p ex ) : ) : i n t e r f a c eh e i g h t p a s s f i l t e r m y t y p eh e i g h t p a s s ( i nd o u b l ep a s s f ,i nd 。u b l es t o p f ,i nd o u b l ep a s s a , i nd o u b l es t o p a ,i nd o u b l es a m p l e f , i n y t y p ex ) : : i n t e r f a c eb a n d p a s s f i l t e rf m y t y p eb a n d p a s s ( i nd o u b l ep a s s f , i nd o u b l es t o p f ,i nd o u b l e b a n d w l ,i nd o u b l eb a n d w 2 ,i nd o u b l ep a s s a ,i nd o u b l es t o p a ,i nd o u b l e s a i l l p l e f , i n m y t y p ex ) : ) : 这一部分定义了低通滤波、高通滤波和带通滤波的接口。 i d l 2 j a v a 编译器lii d l 2 c p p 编译器 客户端代码jf 桩代码ll 框架代码0 服务器端对象实现 j a v a 编译器iic + + 编译器 客户端字节代码fi 服务器端二进制代码 图3 1 客户端和服务器端接口定义c o p r i n c i p i e i d l 的编译示意图 l o 硕士学位论文 第三章系统的设计与实现 客户端与服务器端使用相同的i d l 接口:c o 皿f l p r i n c i p l e i d l 。该i d l 定义 了虚拟设备需要调用的每个操作的方法及属性。客户端使用i d l 2 j a v a 编译器来 对c o m p r i n c i p l e i d l 进行编译,会产生客户端的桩代码( s t u bc o d e ) ,桩实现 了i d l 接口中的方法定义,是客户机用于解析远程c o r 队对象引用的。”;服务器 端使用i d l 2 c p p 编译器对c o m m p r i n c i p l e i d l 进行编译,会产生服务器端的框架 代码( s k e l e t o nc o d e ) ,框架用于实现对象,实现对服务请求信息的传送。 当客户端要调用c o r b a 服务对象时,首先通过命名服务。”( n a 【l i n gs e r v i c e ) 得到远程对象的引用,返回的引用通过客户端的o r b 传递给客户端的桩,燃后客 户端通过桩和o r b 传递调用信息给服务器端的框架,框架传递给目标对象实现。 c o m m p r i n c i p l e i d l 具体的编译过程如图3 1 所示。 3 2 服务器端的软件设计 服务器端的软件设计主要包括服务方主程序入口,对象方法的实现,以及对 m a t l a b 的调用。 服务主程序负责初始化o r b ,使用适当的策略创建p o a 【3 4 1 ( 可移植对象适配 器) 以管理服务对象,然后根据c o 姗p r i n c i p l e i d l 中的定义生成服务对象,分 别等待接收调用。对象方法的实现是以继承编译c o m m p r i n c i p l e i d l 文件时产生 的基类为基础,对已定义好的方法编写c + + 代码来实现。 命名服务器提供服务器所提供的c o r b a 对象的引用。c o r b a 对象有两种:临 时的和持久的。临时对象的寿命与生成该对象的服务器相同。服务器运行时,该 对象即可使用。持久对象则不需要服务器运行。如果请求不存在的对象,则o r b 精灵启动相应的服务器,声称对象并返回其引用。c o r b a 服务器可以使用两种方 法之一引用对象的实现:静态或动态啪1 。在两种情况下,客户机请求都不是直接 送入对象实现,而是通过框架传递。框架提供的方法可以处理传入所表示的对象 种方法调用的交元顺序,并提供讲调动结果返回存根模块的方法。 静态框架直接从i d l 接口声明产生。这是最容易生成的,因为变元顺序及其 类型是( 编译时) 事先知道的。动态框架更灵活,使对象上的方法调用可以在运 行时动态处理。j a v ai d l 提供了两种将框架接口与实际对象实现连接的方法。 一种是通过从i d l 编译器产生的框架类派生子类直接继承框架方法,这种方法很 简单,每个i d l 接口有直接对应的框架方法。系统中使用的是静态调用,静态调 用要求客户程序源代码包含为它所要调用的服务对象类型编译生成的s t u b c o d e 。换句话说,使用静态调用的客户程序要进一步声明它将激活的服务对象类 型。对于部分会被频繁访问的服务对象也适合使用静态调用。静态调用的响应时 间快,因为s t u bc o d e 已经完成了运行时刻的大部分工作。 硕士学位论文第三章系统的设计与实现 3 3 客户端的软件设计 客户端的软件设计包括j a v aa p p l e t 的实现和虚拟设备的实现。虚拟实验室 客户端以a p p l e t 的形式实现,该a p p l e t 主要功能是实现用户操作界面。虚拟设 备以j a v a b e a n 的形式实现,每个j a v a b e a n 完成服务对象的获取和方法调用。 用户操作界面主要包括:菜单栏、工具条,设备属性编辑栏、实验操作窗口、 设备栏等。设备栏提供了虚拟实验室为用户提供的全部设备,用户通过鼠标选择 需要的设备拖放到实验操作窗口,按要求把实验设备连线,组合成实验流程图, 点击工具栏的运行按钮运行实验。 每个j a v a b e a n 对服务对象的获取是使用命名服务的方式。服务器调用命名 上下文对象上的b i n d ( ) 方法来公布对象,并提供和该对象相关联的名字结构以 及对象本身。客户机通过调用特定命名上下文对象上的r e s o l v e ( ) 方法来查找对 象。 客户端主界面是图形窗口晃面。在主窗口中包括主菜单、工具栏、状态条、 试验设计窗口和试验运行时结果窗口。界面对象类模型如图3 2 。 3 4 系统实现过程 图3 2 客户端用户主界面类模型 如图3 3 所示,虚拟实验室系统的实现过程分为客户端和服务器端。客户端 和服务器端对相同的接口定义文件c o 皿p r i n c i p l e i d l 进行编译,分别产生桩代 码和框架代码。服务器以产生的框架代码为基础,实现c o 锄p r i n c i p l e i d l 中定 义的方法,并在命名服务器中公布服务对象;客户端以编译产生的桩代码为基础, 硕士学位论文 第三章系统的设计与实现 通过命名服务获取服务对象,通过客户端o r b ( v i s i b r 。k e rf o r 托v ao r b ) 和 服务器端o r b ( v i s i b r o k e rf o rc 什o r b ) 实现服务对象的方法调用。 图3 3 系统实现过程 由于j a v a a p p l e t 在大多数的浏览器中会受到“s a n d b o x ”安全模型的限制, 使得它不能访问w e b 服务器以外

温馨提示

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

评论

0/150

提交评论