QSA改进可定制触发方法地研究.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2005’全国电网监控与自动化技术研讨会论文集 OSA改进可定制触发方法的研究 王炎初陈红强叶锋 (南京南瑞继保电气公司研发中心,南京市江宁开发区胜太路29号,邮编211100) 摘要:可定截怠发方法是调度自动化实时数据库系统的重要功能,实现可定帝l触发方法的成熟途 径是调用动态库,一个更加灵活安全的途径是用脚本语言来实现.QSA是一种基于ECMAScript标 准、语法类似JavaScript的脚本语言,功能强大、语法简单易学,适合工程人员使用.f本文在分 析QSA脚本语言实现可定制触发方法可行性的基础上,讨论实现的过程,并通过与动态库途径进行 比较,总结出了用脚本实现触发方法的条件以度优缺点.) 关键词: QSA脚本语言ECMAScript实时数塘库可定制触发方法EMS调度自动化系统 1引言 可定制触发方法是调度自动化系统实时数据库系统(RTDB)的一个重要功能,能灵活地结合针 对某个应用、数据库、对象表和属性的特殊性,提供对应用专用功能的集成,从而为不同的应用定 制各具特色的功能。 实现可定制触发方法的成熟途径是将定制方法的应用逻辑封装成动态库,RTDB动态调用动态 库来触发应用逻辑。但是这种方法有很多局限: /不安全:定制方法程序内产生的内存错误会导致调用者崩溃. /修改不方便:修改触发方法届需要重新编译实现定制方法的程序代码。 /对工程技术人员要求高:在维护定制方法时要学习编写程序。 另外一个更灵活、安全的途径是用脚本语言编写应用逻辑,本文对下列问题进行研究和探讨 /脚本语言QsA能否实现可定制触发方法? /如果能,怎样实现? /如果能,有什么限制条件? /如果能,有什么优缺点? 2 OSA介绍 2.1什么是QSA? QSA全称Ot forAppl Script (toolkit)。 QSA脚本语言的特点: 57 2005’全国电网监控与自动化技术研讨会论文集 ●跨平台 ●能扩展Qt/C++应用程序的功能 ●面向对象 · 脚本可以有自己完整的处理逻辑 _ 脚本可以访问接口对象的属性或者方法 ·基于ECldAScript标准 ● JavaScript也是基于这个标准 ●解释执行,无需编译 ●简单易学 2.2 OSA与应用程序交互 QSA框架中Qt/C++程序负责载入和管理QSA脚本;并在合适的时候执行脚本。脚本可以访问 Qt/C++程序,但是处于被动地位。 田Z-1 Qt/c++应用上建立Qs^工程,并把要暴露给脚本的对象加入到QSA工程中.或者通过调用脚 本引擎的call方法将对象暴露给脚本.脚本可以直接访问暴露对象的方法或者属性。 2005’全国电网监控与自动化技术研讨会论文集 3探讨QSA实现可定制触发方法的途径 3.1 可定制触发方法介绍 RTDB提供一套通用功能和专用功能的定制。除了提供系统中数据库的基本数据输入/输出功能 外,应能灵活地结合针对某个应用、数据库、对象表和属性的特殊性,提供对应用专用功能的集成, 从丽为不同的应用定制各具特色的功能。 专业功能的支持体现在: 3.1.1提供可定制的人工触发方法,供用户调用,应用开发人员或者工程技术人员可以定义这些 人工触发处理函数.完成诸如装库、数据库验证等功能。 _应用级人工触发处理函数。 -数据库级人工触发处理函数。 _表级人工触发处理函数。 3.12提供可定制的事件触发方法,供发生数据增删改等事件时的自动调用.RTDB触发各类事件: ·增加对象触发的预处理事件 一增加对象触发的后处理事件 ■删除对象集的预处理事件 _属性获得输入焦点前触发的事件 ·更新属性前的预处理事件 ●更新属性后的后处理事件 一焦点离开更新对象(行)触发的事件 录ScanBlock(例3一1)。 为了叙述具体方便,后文以例3—1为对象介绍触发方法. 3.2∞^实现RTI)B可定制触发方法的框架 触发方法放在脚本文件中,实现框架如图3-1所示:

文档评论(0)

youyang99 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档