CN101311895A - 用于电力调度自动化系统的进程内组件实现方法 - Google Patents
用于电力调度自动化系统的进程内组件实现方法 Download PDFInfo
- 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
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语言定义的接口进行的。
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)
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生命周期管理方法 |
-
2007
- 2007-05-23 CN CNA2007100410538A patent/CN101311895A/zh active Pending
Cited By (8)
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 |
---|---|---|
US6986148B2 (en) | Methods and systems for providing platform-independent shared software components for mobile devices | |
Crnkovic | Component-based approach for embedded systems | |
US6829770B1 (en) | Object connectivity through loosely coupled publish and subscribe events | |
US6748455B1 (en) | Object connectivity through loosely coupled publish and subscribe events with filtering | |
US7712077B2 (en) | Method and system for instantiating components conforming to the “COM” specification in custom contexts | |
CN109254757B (zh) | 双核心框架的软件通信体系结构 | |
US6128745A (en) | Power management inactivity monitoring using software threads | |
CN111309291B (zh) | 一种模块化嵌入式软件架构及其定制方法、定制系统 | |
CN101311895A (zh) | 用于电力调度自动化系统的进程内组件实现方法 | |
CN104536737A (zh) | 一种基于组件的程序开发框架 | |
CN102541996A (zh) | 一种基于jdbc的数据访问层构建方法及装置 | |
US7890944B2 (en) | Method for sharing static link code by software components in DLL and main program | |
Roll | Towards model-based and ccm-based applications for real-time systems | |
US8397229B2 (en) | System and methods for migrating independently executing program into and out of an operating system | |
US20020147971A1 (en) | Object-oriented class loading system and method | |
US20090228879A1 (en) | Direct deployment of static content | |
US8365191B2 (en) | Container for disparate software components | |
US20070260761A1 (en) | Inter-module data communication control method and system for ACPI and BIOS | |
US8719778B2 (en) | Interconnection interface for flexible online/offline deployment of an n-layered software application | |
CN103809979A (zh) | 一种人机交互软件模块集成系统及其实现方法 | |
CN101251796A (zh) | 基于依赖注入的分布式构件依赖关系管理方法 | |
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) | 软件产品开发部署中兼容微服务和单体架构的实现方法及系统 |
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 |