CN101311895A - 用于电力调度自动化系统的进程内组件实现方法 - Google Patents

用于电力调度自动化系统的进程内组件实现方法 Download PDF

Info

Publication number
CN101311895A
CN101311895A CNA2007100410538A CN200710041053A CN101311895A CN 101311895 A CN101311895 A CN 101311895A CN A2007100410538 A CNA2007100410538 A CN A2007100410538A CN 200710041053 A CN200710041053 A CN 200710041053A CN 101311895 A CN101311895 A CN 101311895A
Authority
CN
China
Prior art keywords
assembly
component
realization method
application program
scm
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2007100410538A
Other languages
English (en)
Inventor
章良栋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
SHANGHAI SUNRISE POWER AUTOMATION CO Ltd
Original Assignee
SHANGHAI SUNRISE POWER AUTOMATION CO Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by SHANGHAI SUNRISE POWER AUTOMATION CO Ltd filed Critical SHANGHAI SUNRISE POWER AUTOMATION CO Ltd
Priority to CNA2007100410538A priority Critical patent/CN101311895A/zh
Publication of CN101311895A publication Critical patent/CN101311895A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明公开一种用于电力调度自动化系统的进程内组件实现方法,涉及电力调度自动化系统的技术领域;所要解决的是在同一个应用程序内灵活扩展应用模块的技术问题;该进程内组件模型实现方法的流程如下:1)应用程序提供操作平台;2)启动组件运行环境SCM_RTE;3)调用接口函数;4)创建组件;5)初始化组件;6)加载组件;7)实现应用程序与组件间的通信连接。本发明具有非常直观,易于操作,可灵活扩展应用程序功能模块的特点。使用该方法,实现了在同一个应用程序内灵活扩展应用程序的体系结构,为电力调度系统的应用集成信息提供了条件。

Description

用于电力调度自动化系统的进程内组件实现方法
技术领域
本发明涉及自动化控制技术,特别是涉及一种用于电力调度自动化系统的自动化控制进程内组件对象模型实现技术。
背景技术
首先需要了解什么是组件,以及与组件相关的一些技术。抛开计算机软件相关的定义,顾名思义,组件是构成某个整体的各个部件,通常这些部件都按照某种通用的标准被定义和生产。在计算机软件领域,组件有多种不同的定义。有的把ActiveX的DLL(Dynamically Linked Libraries,动态连接库)或OCX(Object Linking andEmbedding Control Extension,嵌入式对象控件)称作组件,有些则把DLL中的类视为组件。从使用者的角度出发,一个系统的各个组件应该是可以裁减、拆卸和重新组装的。人们更习惯于按可拆分的粒度来划分组件。抽象地讲,计算机软件领域的组件是按照某种标准或者规范进行代码重用的一种形式。
当前比较重要的两个组件规范是Microsoft定义的COM/DCOM(公共对象模型/分布式公共对象模型)和OMG(对象管理组织)定义的CORBA(公共对象请求代理体系结构),业界习惯地称他们为组件平台。基于上述组件平台,业界有多种组件模型实现方案,如ActiveX、Java Beans等。
基于商用的组件模型必须基于复杂的组件环境或者特定的操作系统平台。比如ActiveX组件只能应用于Windows平台,而Java Beans组件则需要JAVA平台的支持。
在传统的电力调度自动化系统中,应用程序在增加任意一个新的功能模块时都要涉及到主程序的修改,而且修改一个功能要更换整个应用,给系统的升级和功能扩展带来很大的不便。在电力调度自动化领域内,更多的应用场合是希望能实现跨平台的、轻量级的进程内组件模型,实现在同一个应用程序内灵活扩展应用程序的体系结构,为电力调度系统的应用集成信息提供条件。本发明正是为了满足以上要求开发设计的。
发明内容
针对上述现有技术中存在的缺陷,本发明所要解决的技术问题是提供一种能节约系统资源,能提高系统灵活性,能实现跨平台应用,能对组件及其接口进行统一管理的用于电力调度自动化系统的进程内组件实现方法。
为了解决上述技术问题,本发明所提供的一种用于电力调度自动化系统的进程内组件实现方法,具体的实现流程如下:
1)启动应用程序,提供应用平台;
2)启动应用程序中的组件运行环境SCM_RTE(Super-2000 Component Model_Runtime environment);
3)组件运行环境SCM_RTE调用接口函数向组件发送信息,在组件运行环境中创建组件;
4)组件进行一次性初始化工作,包括注册组件、注册接口、申请全局内存等。
5)至少一次加载初始化后的组件;
6)实现应用程序与组件间的通信连接。
进一步的,在步骤1)中所述应用平台SCM_RTE包括组件管理器、分别连接所述组件管理器的接口管理器和内存管理器。
进一步的,所述组件为静态组件SCM_RTE本身以及应用程序,这类组件一旦被加载,在整个应用程序进程生命期中都不会被卸载。
进一步的,所述组件为动态组件,这类组件在应用程序进程的生命周期中可能被多次加载和卸载。
进一步的,所述组件的类型是组件通过调用接口函数注册的。如果不调用,缺省被认为是静态组件。
进一步的,所述动态组件在3分钟内其访问记数为0的,SCM_RTE将其卸载。组件被卸载后,如果别的组件获取其接口,这时SCM_RTE会再次将其加载到内存中。
进一步的,所述组件之间的通信是通过用C语言定义的接口进行的。以实现跨平台的应用。
相比国际上通用的组件模型解决方案而言,本发明提供的用于电力调度自动化系统的进程内组件实现方法SCM有以下优点:
1)组件模型只考虑进程内组件的通信,节约系统资源。
2)组件模型的宿主可以是应用程序,也可以是动态链接库(共享库),提高了系统的灵活性。
3)组件之间的通信通过接口进行,接口用C语言定义,实现跨平台应用。
4)应用系统对外的API也由此组件/接口模型实现。
5)提供一个组件运行环境,对组件及其接口进行统一管理(例如生命期的管理)。
SCM实现了一个可灵活扩展的应用程序体系结构,是电力调度自动化系统中图形部分和应用集成环境的实现基础。其特有的通信接口定义方式,实现了系统的跨平台应用,支持UNIX、WINDOWS各种系列版本的操作系统平台。采用此模型可以将系统中任意扩充的功能模块动态加载到系统,而系统主程序无需作任何改动。这样,为系统的扩充和升级带来异常方便。
附图说明
图1是本发明实施例进程内组件实现方法的流程图;
图2是本发明实施例进程内组件实现模型框图;
图3是本发明实施例图形程序加载饼图组件人机界面示意图。
具体实施方式
以下结合附图说明对本发明的实施例作进一步详细描述,但本实施例并不用于限制本发明,凡是采用本发明的相似结构及其相似变化,均应列入本发明的保护范围。
本发明实施例所提供的SCM(Super-2000 Component Model)为一个通用的轻量级(一般而言,轻量级表示运行时占用资源少,不需要特定的容器,而重量级相反)组件模型,用于应用程序与插件(在本说明书中插件和组件是同一概念)以及插件之间的通信。
如图2所示,在应用程序中提供了一个包括组件管理器、接口管理器和内存管理器的组件运行环境SCM_RTE(SCM Runtime environment)为SCM的实现提供了可能。接口管理器和内存管理器分别连接所述组件管理器,SCM_RTE的组件管理器负责对组件本身、组件的调用接口及内存资源进行统一分配管理。
如图1所示,本发明实施例所提供的一种进程内组件实现方法,把饼图程序作为组件调用到图形程序中,其流程如下:
1)启动图形系统主程序;
2)启动组件运行环境SCM_RTE;
3)SCM_RTE调用接口函数,创建饼图程序组件;
4)对饼图程序组件进行初始化,包括注册组件、注册接口、申请全局内存等;
5)加载饼图程序组件;
6)实现了图形程序与饼图程序间的通信连接。
本发明的关键点是,在图形程序中提供了一个组件运行环境SCM_RTE,负责对组件及其接口进行统一管理。组件之间的通信通过用C语言定义的接口进行的。
需要说明的是:组件在整个的应用程序周期中可能被多次加载和卸载,也就是说,组件本身也有生命周期。组件有两种类型,一种是静态组件,SCM_RTE本身以及应用程序,这类组件一旦被加载,在整个应用程序进程生命期中都不会被卸载;另一种是动态组件,这类组件在应用程序进程的生命周期中可能被多次加载和卸载。组件的类型是组件通过调用接口函数注册的,如果不调用,缺省被认为是静态组件。
对于动态组件,SCM_RTE对每个组件维护一个访问记数,当别的组件获取该组件的接口时增加其访问记数,组件接口被释放时减少其访问记数,如果一个组件在3分钟内其访问记数都为0,SCM_RTE将其卸载。组件被卸载后,如果别的组件获取其接口,这时SCM_RTE会再次将其加载到内存中。
一个应用程序可加载多个插(组)件。
如图3所示,本发明的进程内组件实现方法中,图形系统调用饼图作为组件的人机界面如下所示:在图形程序主界面上设置了一个饼图工具按钮,通过此图能方便直观地看到饼图组件加载到图形程序中。在操作上,通过饼图工具按钮来启动组件运行环境SCM_RTE。SCM_RET调用入口函数创建饼图组件,初始化组件,并为该组件分配内存资源。组件一旦加载后,即可作为图形系统的功能模块运行。

Claims (7)

1、一种用于电力调度自动化系统的进程内组件实现方法,其特征在于,具体的实现流程如下:
1)启动应用程序,提供应用平台;
2)启动应用程序中的组件运行环境SCM_RTE;
3)组件运行环境SCM_RTE调用接口函数向组件发送信息,在组件运行环境中创建组件;
4)组件进行一次性初始化工作,包括注册组件、注册接口、申请全局内存等;
5)至少一次加载初始化后的组件;
6)实现应用程序与组件间的通信连接。
2、根据权利要求1所述的进程内组件实现方法,其特征在于,在步骤1)中所述应用平台SCM_RTE包括组件管理器、分别连接所述组件管理器的接口管理器和内存管理器。
3、根据权利要求1所述的进程内组件实现方法,其特征在于,所述组件为静态组件SCM_RTE本身以及应用程序,这类组件一旦被加载,在整个应用程序进程生命期中都不会被卸载。
4、根据权利要求1所述的进程内组件实现方法,其特征在于,所述组件为动态组件,这类组件在应用程序进程的生命周期中可能被多次加载和卸载。
5、根据权利要求1所述的进程内组件实现方法,其特征在于,所述组件的类型是组件通过调用接口函数注册的。
6、根据权利要求1所述的进程内组件实现方法,其特征在于,所述动态组件在3分钟内其访问记数为0的,SCM_RTE将其卸载。
7、根据权利要求1所述的进程内组件实现方法,其特征在于,所述组件之间的通信是通过用C语言定义的接口进行的。
CNA2007100410538A 2007-05-23 2007-05-23 用于电力调度自动化系统的进程内组件实现方法 Pending CN101311895A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2007100410538A CN101311895A (zh) 2007-05-23 2007-05-23 用于电力调度自动化系统的进程内组件实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007100410538A CN101311895A (zh) 2007-05-23 2007-05-23 用于电力调度自动化系统的进程内组件实现方法

Publications (1)

Publication Number Publication Date
CN101311895A true CN101311895A (zh) 2008-11-26

Family

ID=40100556

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007100410538A Pending CN101311895A (zh) 2007-05-23 2007-05-23 用于电力调度自动化系统的进程内组件实现方法

Country Status (1)

Country Link
CN (1) CN101311895A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609261A (zh) * 2012-02-10 2012-07-25 天津市电力公司 智能电网可视化的视图集成控制方法
CN102982388A (zh) * 2012-10-31 2013-03-20 中国电力科学研究院 一种日前电力系统经济调度的方法
CN105843737A (zh) * 2016-03-21 2016-08-10 南京国电南自美卓控制系统有限公司 一种基于ActiveX控件技术的发变组保护装置定义与调试的方法
CN106557038A (zh) * 2015-09-25 2017-04-05 英特尔公司 环境定制
CN111258679A (zh) * 2020-01-20 2020-06-09 杭州海兴电力科技股份有限公司 应用于智能电表上的app生命周期管理方法

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102609261A (zh) * 2012-02-10 2012-07-25 天津市电力公司 智能电网可视化的视图集成控制方法
CN102609261B (zh) * 2012-02-10 2017-07-28 天津市电力公司 智能电网可视化的视图集成控制方法
CN102982388A (zh) * 2012-10-31 2013-03-20 中国电力科学研究院 一种日前电力系统经济调度的方法
CN106557038A (zh) * 2015-09-25 2017-04-05 英特尔公司 环境定制
US10739737B2 (en) 2015-09-25 2020-08-11 Intel Corporation Environment customization
CN105843737A (zh) * 2016-03-21 2016-08-10 南京国电南自美卓控制系统有限公司 一种基于ActiveX控件技术的发变组保护装置定义与调试的方法
CN111258679A (zh) * 2020-01-20 2020-06-09 杭州海兴电力科技股份有限公司 应用于智能电表上的app生命周期管理方法
CN111258679B (zh) * 2020-01-20 2023-09-26 杭州海兴电力科技股份有限公司 应用于智能电表上的app生命周期管理方法

Similar Documents

Publication Publication Date Title
US6829770B1 (en) Object connectivity through loosely coupled publish and subscribe events
US6442753B1 (en) Apparatus and method for checking dependencies among classes in an object-oriented program
US6748455B1 (en) Object connectivity through loosely coupled publish and subscribe events with filtering
EP1586967B1 (en) A method and control system for controlling machinery
US7712077B2 (en) Method and system for instantiating components conforming to the “COM” specification in custom contexts
US6128745A (en) Power management inactivity monitoring using software threads
CN101311895A (zh) 用于电力调度自动化系统的进程内组件实现方法
CN111309291B (zh) 一种模块化嵌入式软件架构及其定制方法、定制系统
CN104536737A (zh) 一种基于组件的程序开发框架
CN109254757B (zh) 双核心框架的软件通信体系结构
US7162629B2 (en) Method to suspend-and-resume across various operational environment contexts
Roll Towards model-based and ccm-based applications for real-time systems
US7890944B2 (en) Method for sharing static link code by software components in DLL and main program
US20020147971A1 (en) Object-oriented class loading system and method
US20090228879A1 (en) Direct deployment of static content
CN102262555A (zh) 加载java三方库的不同版本的方法和装置
CN110633098A (zh) 一种组件化服务的实现方式
US20060129989A1 (en) System and method for registering native libraries with non-native enterprise program code
US6044380A (en) Apparatus and method for morphing an object on first touch
CN101246421A (zh) 一种基于工作流引擎实现的通用框架
Wehrmeister et al. An object-oriented platform-based design process for embedded real-time systems
CN116107590A (zh) 软件产品开发部署中兼容微服务和单体架构的实现方法及系统
CN108228192B (zh) 一种面向服务的机载软件的动态管理的实现方法
Ketfi et al. Dynamic updating of component-based applications
CN111897599A (zh) 基于微核模型插件模式的服务方法、装置、设备及存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20081126