您好,欢迎来到筏尚旅游网。
搜索
您的当前位置:首页基于VB的模型管理系统平台的架构及关键技术研究

基于VB的模型管理系统平台的架构及关键技术研究

来源:筏尚旅游网
维普资讯 http://www.cqvip.com 第28卷vol 28 ・第9期 №9 计算机工程 2002年9月 September 2002 Computer Engineering 软件技术与数据库・ 文章编号:1ooo__3428(2o02)09—_o154—_o3 文献标识码:A 中图分类号:TP 311.52 基于VB的模型管理系统平台 的架构及关键技术研究 马金平 (青岛大学管理科学与工程系,青岛266071) 摘要:在文献[1】的基础上,对模型表示方法进行改进,D ̄(Visual Basic 6.0为基础,采用Visual c++6.0作为开发工具,研究设计了一个模型 管理系统平台。文章主要论述该系统平台的框架结构和实现的关键技术。 关健词:ActiveX组件;知识库;模型管理系统;Visual c++ Study on Architecture and Key Technology 0f Model Management System Platform Based 0n VB MAJinping (Management Science&Engineering Department of Qingdao University,Qingdao 266071) [Abstract】This paper bases on document[1]to improve model express me ̄od.Based on Visual Basic 6.0 language,it USes Visual C++6.0 as development tool to research and design a model management system platform.This paper discusses architecture and key technology of the system pJatf0rm. [Key words】ActiveX component;Knowledge base;Model management system;Visual C++ 作者在参考文献【1 J中,介绍了一个自己开发研究的”基 于ActiveX组件技术的模型库管理系统”,在该系统中,采用 VB类模块的结构形式表示模型,利用Word 2000模板技术 和使用VBA语言,开发了模型库管理系统。作者在使用该 系统过程中,感到还有许多不足之处,并听取了同行专家的 建议,决定对该系统进行大幅度的改进,引入人工智能技 术,以Visual Basic语言为基础(使用VB类模块结构形式表 模型知识库(知识模型)和增减文件;模型工程属性没置;模块属 性设置;知识库属性设置等。 模型 程 理器对模型的测试程序和应用程序(调用 模型的程序)进行统一管理。 应曰 垆 理向应用程序管理器添加窗体模块、公共模 块;增减文件;工程属性设置等。 虐 售馏编译程序模型,生成程序模型的可执行文件;创 建和运行测试程序;知识模型检验、知识模型的推理求解及结果输 出;编译模型的应用程序、生成可执行文件。 帮助r舆创建类属性、类方法、变量和类内部过程;变量 定义、创建数据文件接口、创建数据库接口、知识库与程序模型的 接口等;模型应用程序创建向导和测试程序创建向导等。 搬袅:纺 器在Excel2000基础上开发,用于创建编辑输出模 型运行结果的报表。 (9)程亭模塑编辑器、知识模塑编辑器和模塑应圉程亭编辑 器、 衰萄 器这些编辑器与各自的辅助工具相结合,采用全屏 幕方式,承担程序模型、知识模型和模型应用程序的编辑任务。 示模型,模型测试程序及模型的使用程序都是VB应用程 序,使用VB的C2编译器和Link连接器完成程序模型、模型 测试程序及使用程序的编译连接工作)。采用Visual c++作 为开发工具,重新开发该系统。该系统与文献川所开发的 系统相比,其功能和实现技术等方面,都作了很大的改进。 1模型管理系统平台的框架结构 本文所设计的模型管理系统平台的框架结构如图l所 示。该框架结构将用计算机程序表示的模型(程序模型)和用 知识表示的模型(知识模型)及模型的应用程序的开发按客户/ 服务器的体系结构有机地集成到同一开发环境中。DSS开发 人员在该环境下,在完成模型开发的同时,也能够完成模型 应用程序的开发工作。主要组成模块的具体功能如下: j 理 够 创建、打开、保存模型工程组文件和模型应 用程序工程文件;保存模型工程文件、模块文件、知识库文件;打 印输出各种文件文本。 模垄 莹组 理器首先将每个模型的开发过程都看成一项 工程进行管理,即模型工程。在每个模型工程内,都有一个模型工 程文件(ActiveX DLL类型),同时也包含多个VB类模块文件(至 少一个)、多个公共模块文件(也可以没有)和编译连接后的 ActiveX组件文件。当开发人员针对某个具体领域,进行DSS开发 时,往往需要开发多个模型,以支持决策,即用一组模型支持决 策。这些模型之间存在着互相协调的调用集成关系,因此,需要把 图1模型管理系统平台的框架结构 作者简介:马金平(1960 ̄),男,副教授、硕士,主研管理信息系 统、决策支持系统、会计电算化等 收稿日期:2001—12-26 它们置于同一环境下,进行统一的组织管理。模型工程组管理器就 是为开发人员提供的一个管理多个模型工程的工具。 模型r翟 碧创建新模型工程、添加类模块、公共模块、 一1 54一 维普资讯 http://www.cqvip.com 2系统实现的关键技术 sForm pFormHeader;//FORM模块的头指针,结构见2.3 2.1模型的袁示 Cstring m strOLE∥对OLE Automation的引用信息。 2.1.1基于程序的模型表示 CString Type; 作者在文献…1中,提出了采用基于ActiveX组件技术, ,,从此行开始是VB工程属性对话框中的选项设置信息共35项。 用VB类模块的结构来表示程序模型的方法,将求解模型所 }*pProjectHeader; 需要的参数定义为组件中类的属性(称为模型属性),模型求 这样,通过定义MFC中的CStdioFile类的一个对象,调 解方法定义为类的方法(称为模型方法),并且对模型属性的 用有关的函数,就可以方便地完成工程文件的创建和将上述 命名方法进行了具体规定。在本文中,仍采用VB类模块的 结构中的信息写入文件中。 结构表示模型,但是取消文献【l】中对模型属性命名的规 2.3程序模型测试程序的生成技术 定。为了实现模型与外部数据源(例如:文本数据文件、数 对于用VB类结构形式表示的程序模型(ActiveX 据库、Excel电子表等)的无缝连接,模型属性除了可以定义 DLL),自己不能运行,需要创建标准的VB EXE应用 成目前VB中基本的数据类型之外,本系统增加了多项用户 程序进行测试。在VB开发环境下,除了工程文件能够自动 自定义类型: ConnectionString ,TextDataFile, 生成之外,测试程序必须人工编写。在本文开发的模型管理 TextDataltem, SQLServerDatabase, RecordSource, 系统平台环境下,不仅工程文件能够自动生成,而且在向导 TableName,FieldName,ConditonExpression等。当开发人 的引导下,能够生成测试程序的VB窗体程序模块。由于整 员使用模型属性辅助工具增加模型属性和方法时,系统将自 个系统是采用c抖开发的,因此,生成VB窗体程序模块实 动生成部分程序代码,减轻了编程工作量。 质上就是利用cH中的无模态对话框模拟VB环境中的FORM 2.1.2基于知识的模型表示 对象界面形式及操作过程,按VB中的FORM文件(.F丌n) 为了使本系统能够创建、管理那些不便于用VB类模块 格式创建文件。首先根据VB中的FORM文件的格式,定义 形式表示的模型(例如:定量与定性相混合的模型、推理模 结构体类型如下: 型),扩大适用范围,我们提出了采用面向对象方法表示知 struct sFormReference,,保存窗体中ActiveX控件的引用信息。 识模型的方法。该方法将模型的描述采用类似于c++类的结 {CString ObjectReference;,,类型库的GUID值和文件名称。 构形式表达出来,并且分为两个部分:第一部分是类的结构 sFormReference pNe ̄;} 描述;第二部分是类方法的实现描述。二者既可以存储在同 struct sFormControIProperty,,保存窗体或控件的属性设置。 一个文件中,也可以存储在不同的两个文件中。由于受篇幅 {CString Property,,j安’属性名称=值’的格式保存。 ,关于该表示方法的详细描述形式和相应的推理求解技 SFormProperty pNext;} 术及推理机的开发,笔者将另撰文介绍。 struct sControlName,,保存窗体中所包含的控件名称 2.2 VBI程文件的生成 {CString Name; sFormControlProperty pFormControlPropertyHeader; 在本文所开发的模型管理系统平台环境下,无论是创建 程序模型还是生成程序模型的测试程序或是创建模型的应用 sControlName pNext;} struct sForm 程序都需要生成VB的工程文件。 {CString m_strFormName; VB工程文件实质上是一个文本文件,每一行都是按 CString m_strFormFilePath; ”项名称=值”的格式表示,第1行登记工程类型,例如: CString mstrFileName; _”Typ ̄Exe”表明该工程是EXEI程;第2行是:Reference*\ bool FormModiifed; Gf0002cl430-0000-0000一CO00-000000000046} .O}f0悄::\ sFormReference pFormReferenceHeader; WINNTkSystem32kstdole2.tlb#OLE,表明在该工程中对OLE sFormControlProperty pFormProperty Header; Automation的引用。从第3行开始存储的信息有:(1)对 sControIName pControlNameHeader; ActiveX组件引用的有关信息;(2)工程中包含的各类程序模 CString FromProgramCode;/,保存程序代码部分。 块名称信息;(3)在VB开发环境中,工程属性对话框中的选 sForm pNext;} psFormHeader; 项设置信息。 根据所定义的程序模型的表示形式和VB FORM模块程 为存储上述内容,定义结构体类型如下: 序结构特点,确定创建生成VB FORM模块程序的原则是: structsProjectReference// ̄0llActiveX组件的引用信息。 (1)在FORM模块通用部分声明被测试模型对象的新实例。 {CString m_strReference;,,对象的GUID值和执行文件名称。 (2)对于需要赋值的模型属性可以根据用户的选择,分为两 sProejctReference pNext;} 类:一类是在测试程序的代码中赋值(设计阶段),即在 struet sProjectModule,,存储程序模块的名称和位置信息 Form_LoadO事件过程中赋值,因此,这类属性的值需要在 {CString m_strModule; 向导运行过程中添入。另一类是在测试程序运行过程中赋 sProjectModule pNext;} 值,此类又可以分为两部分:一部分是在测试程序运行开始 struct sProject,,存储VB工程属性对话框中的选项设置信息。 阶段,要求用户通过文本框控件集中输入值;另一部分是当 {CString m_strProjectPath;#T程文件路径 使用到该属性时,利用InputBox对话框函数输入值。(3)对于 CString rn_strProjectFileName; 需要获得返回值的模型属性,采用标签控件显示它们的值。 bool m_bProjectModiifed;,,是否被修改的标志 (4)将模型方法的测试放在Command—Click()事件过程中进 sProjectReference pReferenceHader; 行,可以一个方法使用一个Command_Click()事件过程,也 sProjectModule *pModuleHader; 可以几个方法共用一个Command_Click()事件过程。(5)对于 一155— 维普资讯 http://www.cqvip.com 模型方法的返回值采用MsgBcx消息框函数显示,对于方法 运行过程中,将模型求解结果写入文本文件或数据库中的情 可执行程序及模型应用程序的可执行程序,都需要调用vB 的c2编译器和LINK连接器。其调用过程如下: STARTUPINFO si; 况,设置浏览模型计算结果命令按钮和创建显示结果窗体及 控件。 ZeroMemory(&si,sizeof(STARTUPINFO)); PROCESS INFORMATION pi; 按上述原则,我们利用MFC中的CPropmySheet和 CpropertyPage类中提供的属性表和属性页功能开发了创建生 成VB FORM模块程序的向导和预置了具有多种不同界面形 bool fCreated=CreateProcess(LPCTSTR IpApplicationName,LPTSTR IpCommandLine,. N LJLL,NU[L,NULL,false.CREATENEW,式的VB FORM模板供开发用户选择。关于'CPropenySheet ̄l CpropertyPage类的用法请见参考文献[5】。 对于用向导生成的创建窗体文件的信息(界面描述部分 和程序代码部分),开发人员可以使用模型应用程序编辑器 修改程序代码部分,使用人机界面可视化设计功能修改人机 界面部分,系统自动跟踪其修改过程。此外,本文根据文献 【2】介绍的方法,采用Vi,.ual c++中的ATL技术,开发了一个 DLL服务器,专门用于获取AetiveX组件类型库的GulD叶苴及 CONSOLE. NULL,T(”C:\v’),&si,&pi); 其中:lpAppl ̄Name是存储编译器或连接器的文件 路径和名称,lpCommandLine是命令行参数。 lpApplicationName的值由本文编写的专用函数过程,根据用 户计算机的安装环境动态获得。lpCommandLine的取值规则 请见参考文献【4】。CreateProcess函数中其他参数的含义读者 可以查阅参考文献[3】。 属性与方法的有关信息,以便在生成VB工程文件和VB窗体 模块程序过程中调用。 2.4人机界面可视化设计技术 人机界面可视化设计技术就是如何使在本文开发的模型 管理系统平台上,具有类似于VB开发环境下的应用程序可 视化设计功能,设计FORM对象的界面。在此仅介绍可视化 技术实现的基本方法步骤:(1)创建能够模拟VB FCRM对象 3结束语 由上述可见,本文所研究设计的模型管理系统是采用 c++作为开发工具,提出了采用VB类模块结构形式表示程 序模型和基于面向对象的知识模型表示方法,将模型开发和 模型测试及模型的应用程序的开发有机地集成到统一的开发 平台,增强了程序自动生成功能,为面向特定领域的决策支 持系统的开发,提供了一个有效的工具。目前,该系统的主 的无模态空白对话框及相应的类CVBForm;1、f2)在类 CVBForm的OnlnitDiabg()函数中,根据开发人员在模型的 应用程序管理器中所选择的VB的Form对象名称及文件名 称,按!FORM对象数据结构或文件中关于界面的描述信息, 动态创建相关控件及进行初始化;(3)开发人员可以通过属 性对话框,类似于VB环境下的操作过程,设置修改FORM 及控件的属性,系统自动跟踪其设置修改过程,使用控件以 Set开头的函数修改控件的属性;(4)当关闭FCRM对象时, 在OnCl ̄)函数中,使用控件以Get开头的函数获得控件的 属性,并保存在isFormControlProperty数据结构中;(5)当保存 窗体文件时,则按VB窗体文件格式将数据结构的内容保存 到磁盘上。 要功能都已基本实现,同时还有一些技术问题需要作深入研 究,例如:在人机界面设计过程中,如何直接使用鼠标拖放 实现对控件的外观属性进行修改,扩大程序生成范围等。 参考文献 l马金平.基于Active ̄组件技术的模型库系统的开发研究计算机应 用,2001(5) 2赵新昱.COM组件属性、方法的自动提取和调度.计算机工程, 2OOO,26(11) 3(美)Williams M,前导工作室译.Windows 2000 ̄编程技术内幕.北 京:机械工业出版社,l999 4【英]TMS(国际)有限公司著.北京博彦科技发展有限公司译. Microsoft Visual Basic 6.0高级编程(第2版).北京:北京大学出版 社,2000—0l 2.5调用VB编译器和连接器的技术 无论是编译生成程序模型的可执行程序还是测试程序的 5(美)Olafsen E王建华译.MFC Visual c++6编程技术内幕.北京:机 械工业出版社,2OOO ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ (上接第141页) 中处理。这一点主要I ̄tPPP封装中包含的协议头标识完成 的。对于不同的协议,1ANA规定了相对应的并且是唯一的 目前,RAS系统正在进行性能测试,每个MTN板支持168个 端口,RAS能够支持8个MTN板(即能够支持1008个端 协议标识号码( ̄ILCP为0xC021)。PPP Driver]过解析这 通些协议标识号码来判断出对应的数据包应该发送到哪个模 块,由此实现内部路由。 口),并保持较高的传输速率和接通率。因此,随着PHS技 术的不断发展,RAS系统将会在无线互联网中发挥重要的作 用。 参考文献 1 YD/T1045-2000,网络接入服务器(NAS)技术规范 2 YD/1075-2000,网络接入服务器(NAS)测试方法 。郭湘南PAs无线系统数据通信方案l通讯世界, 0o0,( 。) 4 Vxworks Programmer‘'s Guide windRiver Systems Inc.,l997—05 4小结 RAS系统是uT斯达康公司在iPAS系统的基础上为无线 市话用户开发的无线网络接入服务器,最高接入速率为 64kbps,能够支持PIAFs、PPP、L2TP、RADIUS、SNMP ̄ 多种通信协议。RASP ̄Vxworks系统作为开发平台,底层硬 件使用Map1e Tree公司的MTN4096,具有更强的接入能力。一l56-一 

因篇幅问题不能全部显示,请点此查看更多更全内容

Copyright © 2019- efsc.cn 版权所有 赣ICP备2024042792号-1

违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com

本站由北京市万商天勤律师事务所王兴未律师提供法律服务