DS-VLAB Documentation
1 技术路线
多思计算机组成原理虚拟实验系统是一种基于浏览器客户端技术的网络教学软件,该系统完全采用浏览器客户端技术,用JAVASCRIPT+JQUERY+JQUERYUI+CSS+VML编程实现,在IE10中测试通过。
系统使用JAVASCRIPT开发组件库,利用CSS绘制芯片等组件,采用VML绘制组件间的连接线,用HTML5 File API实现电路文件的导入导出。使用基于队列的单线程组件调度算法,解决众多组件之间信息传递和调度运行的问题。系统从功能上对组件进行仿真,支持电路设计,可进行简单模型机等设计性实验。
目前,实现网络虚拟实验室的技术主要有Java、Flash、VRML等,与基于这些技术的虚拟实验系统相比,本系统的优点有:结构简单,无需安装插件,既能以B/S模式运行,也可不加修改直接以单机方式运行,能够非常方便地整合到其它网络综合实验平台中。
2 系统架构
系统架构如图1所示。客户端通过浏览器向WEB服务器提出页面请求,WEB服务器响应请求,找到所请求的页面,并将此页面及其引用的JavaScript脚本代码和CSS样式表作为响应内容,发送回客户端,客户端浏览器打开发回的页面文件、解释并执行JavaScript代码。
客户端承担了仿真实验室运行的全部任务,包括电路的绘制、运行等。由于JavaScript脚本是由客户端解释执行,不占用服务器资源,从而大大减轻了服务器的压力、提高了页面反应速度。
图1 系统架构
3 系统主要模块
系统主要包括四大部分:组件库、电路绘制、组件调度、文件操作。
组件库是实验组件的类库,包括了所有功能器件的类函数,描述了每个器件的大小、引脚个数和名称等属性,实现了器件的功能函数。组件库供电路绘制、组件调度等模块调用。
电路绘制模块的功能是在工作区绘制芯片、门电路等组件以及组件间的连接线。当用户从实验设备工具箱中拖出组件、在组件间拉线,或导入电路文件时,系统会自动调用电路绘制模块画出相应的器件和线。
组件调度模块是所有组件的运行调度中心,负责调度和控制组件的工作顺序,在组件之间传递信息,控制信息的流动,最终得到电路运行结果。
文件操作模块主要提供实验电路的新建、导入和导出等功能。
4 源程序目录结构
源程序的目录结构如图2所示