CN102591713A - 基于有限状态机的软件功能模块的调度系统 - Google Patents
基于有限状态机的软件功能模块的调度系统 Download PDFInfo
- Publication number
- CN102591713A CN102591713A CN2011104575856A CN201110457585A CN102591713A CN 102591713 A CN102591713 A CN 102591713A CN 2011104575856 A CN2011104575856 A CN 2011104575856A CN 201110457585 A CN201110457585 A CN 201110457585A CN 102591713 A CN102591713 A CN 102591713A
- Authority
- CN
- China
- Prior art keywords
- state
- functional module
- condition
- module
- trigger
- 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.)
- Granted
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
基于有限状态机的软件功能模块的调度系统,包括设置于各个功能模块中条件发送器和状态接收器及调度模块;调度模块包括条件接收器,条件计算单元,利用有限状态机理论根据各个功能模块的当前状态和转换条件关系计算获得该功能模块的下一时刻的控制状态的状态计算单元,触发相应的功能模块转换当前状态或者使功能模块保持当前状态的触发条件重置单元,和将控制状态发送到各个功能模块的状态分发器。本发明具有接口明确、结构清晰、效率高、可扩展性好等优点。
Description
技术领域
本发明涉及一种基于有限状态机的软件功能模块的调度系统。
技术背景
一个软件系统由多个功能模块所组成,这些功能模块需要协调运行才能实现各项功能。如果没有一个清晰、灵活、有效的调度机制来协调各功能模块之间的关系,而是在各个功能模块内部来判断其他功能模块的执行与退出对其的影响以及应该进行的相应处理,就会在软件开发中顾此失彼,频频出错,需要多次试验才能使各个功能协调运行。如果需要加设新的功能模块,就必须改写之前已完成的各个功能模块的代码,工作量巨大,实现困难。
发明内容
为克服现有技术的上述缺点,本发明提供了一种能够协调和控制各功能模块之间的关系,使各功能模块内部只要负责实现各自的功能,而不必考虑与其他功能模块之间的关系的基于有限状态机的软件功能模块的调度系统。
基于有限状态机的软件功能模块的调度系统,包括设置于各个功能模块中条件发送器和状态接收器,以及负责调整各个模块的下一时刻状态的调度模块;
条件发送器获取本功能模块的当前状态并将当前状态发送到调度模块,状态接收器接收由调度模块发出的对于本功能模块的下一时刻的控制状态并将该控制状态与当前状态比对、且在当前状态与控制状态不同时将下一时刻的状态转换为控制状态;
调度模块包括接收来自各功能模块的当前状态的条件接收器,预设有能够促使功能模块的状态发生转换的转换条件并计算要使当前功能模块的状态向预定状态转换所需具备的转换条件关系的条件计算单元,利用有限状态机理论根据各个功能模块的当前状态和转换条件关系计算获得该功能模块的下一时刻的控制状态的状态计算单元,触发相应的功能模块转换当前状态或者使功能模块保持当前状态的触发条件重置单元,和将控制状态发送到各个功能模块的状态分发器。
进一步,每个功能模块的状态包括失效状态、等待状态、运行状态和暂停状态,任意时刻,每个功能模块有且只有一张状态,功能模块的各种状态之间可以转换,功能模块的状态采用布尔值表示。
例如,若某一功能模块处于失效状态,则代表该功能模块处于失效状态的布尔值为TURE,代表该功能模块处于等待状态、运行状态、暂停状态的布尔值均为FALSE。
功能模块的失效状态表示该功能模块不能被执行,并且该功能模块的触发信号不会使该功能模块进入运行状态;功能模块的等待状态也表示功能模块处于未执行状态,但是只要一有相应的触发信号,该功能模块就能立即进入到运行状态;功能模块的运行状态表示该功能模块正在执行中;功能模块的暂停状态表示该功能模块的执行因为某些条件而中断,只要符合条件,就会继续执行。
功能模块的各种状态可以发生转换。例如,当一个功能模块处于失效状态时,此时的状态转换可能是从失效到失效,也有可能是从失效到等待。当一个功能模块处于等待状态时,此时的状态转换可能是从等待到等待、从等待到运行,也可能是从等待到失效。当一个功能模块处于运行状态时,状态转换可能是从运行到失效、从运行到等待、从运行到运行和从运行到暂停。当一个功能模块处于失效状态时,状态转换可能是从暂停到失效、从暂停到运行和从暂停到暂停。
进一步,促使状态发生转换的转换条件包括激活条件、触发条件、优先条件、竞争条件和排斥条件;激活条件是功能模块处于等待状态、暂停状态或者运行状态的必要条件,触发条件包括运行触发条件和退出触发条件;运行触发是指用户点击了功能模块的图标或是启用了相应的快捷键时;退出触发是指该功能模块完成了相应的操作或用户取消了该功能模块的执行;
优先条件是指使功能模块处于暂停状态的条件;竞争条件是指使功能模块由运行状态转换为等待状态,或由暂停状态转换为等待状态的条件;排斥条件是指使功能模块处于失效状态的条件;转换条件由布尔值表示。
进一步,触发重置单元是重置各个功能模块的运行触发条件和退出触发条件。
本发明的技术构思是:在各个功能模块内部只要关心该功能模块在每一个状态下对应的操作即可,而将如何协调和控制各功能模块之间的关系交给功能模块调度模块。
本发明具有接口明确、结构清晰、效率高、可扩展性好等优点。
附图说明
图1 本发明软件功能调度方法示意图。
图2 软件功能模块状态转换示意图。
图3 软件功能模块状态转换及条件示意图。
具体实施方式
参照附图,进一步说明本发明:
基于有限状态机的软件功能模块的调度系统,包括设置于各个功能模块中条件发送器和状态接收器,以及负责调整各个模块的下一时刻状态的调度模块;
条件发送器获取本功能模块的当前状态并将当前状态发送到调度模块,状态接收器接收由调度模块发出的对于本功能模块的下一时刻的控制状态并将该控制状态与当前状态比对、且在当前状态与控制状态不同时将下一时刻的状态转换为控制状态;
调度模块包括接收来自各功能模块的当前状态的条件接收器,预设有能够促使功能模块的状态发生转换的转换条件并计算要使当前功能模块的状态向预定状态转换所需具备的转换条件关系的条件计算单元,利用有限状态机理论根据各个功能模块的当前状态和转换条件关系计算获得该功能模块的下一时刻的控制状态的状态计算单元,触发相应的功能模块转换当前状态或者使功能模块保持当前状态的触发条件重置单元,和将控制状态发送到各个功能模块的状态分发器。
对任一功能模块,只要该功能模块的转换条件发生改变,条件发送器就发送消息到调度模块。在调度模块内部根据输入的转换条件计算各功能模块的下一时刻的控制状态,然后将控制状态发送到该功能模块内部。在功能模块内部的状态接收器接收之后,判断该下一时刻的控制状态跟本功能模块的当前状态是否相同,若不同,则启动控制状态对应的出口;反之则不做任何处理。如附图1所示。
每个功能模块的状态包括失效状态、等待状态、运行状态和暂停状态,任意时刻,每个功能模块有且只有一种状态,功能模块的各种状态之间可以转换,功能模块的状态采用布尔值表示。
例如,若某一功能模块处于失效状态,则代表该功能模块处于失效状态的布尔值为TURE,代表该功能模块处于等待状态、运行状态、暂停状态的布尔值均为FALSE。
功能模块的失效状态表示该功能模块不能被执行,并且该功能模块的触发信号不会使该功能模块进入运行状态;功能模块的等待状态也表示功能模块处于未执行状态,但是只要一有相应的触发信号,该功能模块就能立即进入到运行状态;功能模块的运行状态表示该功能模块正在执行中;功能模块的暂停状态表示该功能模块的执行因为某些条件而中断,只要符合条件,就会继续执行。
功能模块的各种状态可以发生转换,如图2所示。当一个功能模块处于失效状态时,此时的状态转换可能是从失效到失效,也有可能是从失效到等待。当一个功能模块处于等待状态时,此时的状态转换可能是从等待到等待、从等待到运行,也可能是从等待到失效。当一个功能模块处于运行状态时,状态转换可能是从运行到失效、从运行到等待、从运行到运行和从运行到暂停。当一个功能模块处于失效状态时,状态转换可能是从暂停到失效、从暂停到运行和从暂停到暂停。
促使状态发生转换的转换条件包括激活条件、触发条件、优先条件、竞争条件和排斥条件;激活条件是功能模块处于等待状态、暂停状态或者运行状态的必要条件,触发条件包括运行触发条件和退出触发条件;运行触发是指用户点击了功能模块的图标或是启用了相应的快捷键;退出触发是指该功能模块完成了相应的操作或用户取消了该功能模块的执行;
优先条件是指使功能模块处于暂停状态的条件;竞争条件是指使功能模块由运行状态转换为等待状态,或由暂停状态转换为等待状态的条件;排斥条件是指使功能模块处于失效状态的条件;
转换条件由布尔值表示。
触发重置单元是重置各个功能模块的运行触发条件和退出触发条件。
以某一功能模块M为例,详述如何进行条件计算。假设要使功能模块M执行,必须满足条件α和条件β,则功能模块M的激活条件P的计算式为P=α+β。当用户点击了该功能模块的图标,或是启用了相应的快捷键时,就令运行触发条件S为TRUE;同理当功能模块完成了相应的操作,或用户取消了该功能模块的执行时,就将退出触发条件X为TRUE。假设条件γ、条件ε和条件ζ中任一个为TRUE时,会使功能模块M的执行中断,则功能模块M的优先条件V的计算式为V=γ+ε+ζ。功能模块M的竞争条件和排斥条件的计算式与优先条件的计算式类似。
如附图3所示,详述如何进行状态的计算。从等待状态转换到运行状态的条件是激活条件P为TURE,排斥条件D为FALSE并且运行触发条件S为TRUE。从暂停状态转换到运行状态的条件是激活条件P为TURE,排斥条件D、竞争条件C、优先条件V均为FALSE,并且退出触发条件X为FALSE。从运行状态转换为运行状态的条件为激活条件P为TURE,排斥条件D、竞争条件C、优先条件V均为FALSE,并且退出触发条件X为FALSE。于是,要是一个功能模块进入运行状态的计算公式为 。
同理可得失效状态的计算公式为,等待状态的计算公式为,暂停状态的计算公式为。根据布尔运算定律可得,这四个公式之和必为1,任取两个公式相乘必为0,因此可以保证在任何时刻每个功能模块有且只有一种状态。各个功能模块的状态计算公式是一样的,但是条件计算公式不一定相同。
有限状态机是表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型。状态反映从系统开始到现在时刻的输入变化。转移指示状态变更,并且用必须满足来确使转移发生的条件来描述它。动作是在给定时刻要进行的活动的描述。有多种类型的动作,包括进入动作、退出动作、输入动作和转移动作。当接收到一个输入事件时,状态机产生一个输出,同时也可能伴随着状态的转移。
本发明的技术构思是:在各个功能模块内部只要关心该功能模块在每一个状态下对应的操作即可,而将如何协调和控制各功能模块之间的关系交给功能模块调度模块。
本发明具有接口明确、结构清晰、效率高、可扩展性好等优点。
本说明书实施例所述的内容仅仅是对发明构思的实现形式的列举,本发明的保护范围不应当被视为仅限于实施例所陈述的具体形式,本发明的保护范围也及于本领域技术人员根据本发明构思所能够想到的等同技术手段。
Claims (4)
1.基于有限状态机的软件功能模块的调度系统,其特征在于:包括设置于各个功能模块中条件发送器和状态接收器,以及负责调整各个模块的下一时刻状态的调度模块;
条件发送器获取本功能模块的当前状态并将当前状态发送到调度模块,状态接收器接收由调度模块发出的对于本功能模块的下一时刻的控制状态并将该控制状态与当前状态比对、且在当前状态与控制状态不同时将下一时刻的状态转换为控制状态;
调度模块包括接收来自各功能模块的当前状态的条件接收器,预设有能够促使功能模块的状态发生转换的转换条件并计算要使当前功能模块的状态向预定状态转换所需具备的转换条件关系的条件计算单元,利用有限状态机理论根据各个功能模块的当前状态和转换条件关系计算获得该功能模块的下一时刻的控制状态的状态计算单元,触发相应的功能模块转换当前状态或者使功能模块保持当前状态的触发条件重置单元,和将控制状态发送到各个功能模块的状态分发器。
2.如权利要求1所述的基于有限状态机的软件功能模块的调度系统,其特征在于:每个功能模块的状态包括失效状态、等待状态、运行状态和暂停状态,任意时刻,每个功能模块有且只有一张状态,功能模块的各种状态之间可以转换,功能模块的状态采用布尔值表示。
3.如权利要求2所述的基于有限状态机的软件功能模块的调度系统,其特征在于:促使状态发生转换的转换条件包括激活条件、触发条件、优先条件、竞争条件和排斥条件;激活条件是功能模块处于等待状态、暂停状态或者运行状态的必要条件,触发条件包括运行触发条件和退出触发条件;运行触发是指用户点击了功能模块的图标或是启用了相应的快捷键;退出触发是指该功能模块完成了相应的操作或用户取消了该功能模块的执行;
优先条件是指使功能模块处于暂停状态的条件;竞争条件是指使功能模块由运行状态转换为等待状态,或由暂停状态转换为等待状态的条件;排斥条件是指使功能模块处于失效状态的条件;转换条件由布尔值表示。
4.如权利要求1-3之一所述的基于有限状态机的软件功能模块的调度系统,其特征在于:触发重置单元是重置各个功能模块的运行触发条件和退出触发条件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110457585 CN102591713B (zh) | 2011-12-31 | 2011-12-31 | 基于有限状态机的软件功能模块的调度系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 201110457585 CN102591713B (zh) | 2011-12-31 | 2011-12-31 | 基于有限状态机的软件功能模块的调度系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102591713A true CN102591713A (zh) | 2012-07-18 |
CN102591713B CN102591713B (zh) | 2013-12-18 |
Family
ID=46480420
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 201110457585 Expired - Fee Related CN102591713B (zh) | 2011-12-31 | 2011-12-31 | 基于有限状态机的软件功能模块的调度系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102591713B (zh) |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930752A (zh) * | 2012-09-21 | 2013-02-13 | 浙江大学 | 基于有限状态机的虚拟样机拆装序列模型的实训平台 |
CN106196461A (zh) * | 2016-07-18 | 2016-12-07 | 珠海格力电器股份有限公司 | 一种多联空调机组的控制方法、装置及多联空调机组 |
CN106910001A (zh) * | 2017-01-11 | 2017-06-30 | 中国电力科学研究院 | 基于有限状态机的电力仿真软件时序状态转换方法及系统 |
CN107357592A (zh) * | 2017-07-27 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种基于状态机机制的事件处理方法及装置 |
CN108023889A (zh) * | 2017-12-08 | 2018-05-11 | 浙江广播电视集团 | 一种基于InfiniBand技术星型构架高速安全调度平台 |
CN110532167A (zh) * | 2019-07-05 | 2019-12-03 | 华东师范大学 | 一种基于模型转换的状态机模型时序性质验证方法 |
CN110532166A (zh) * | 2019-07-05 | 2019-12-03 | 华东师范大学 | 一种基于模型转换的状态机模型时序性质验证系统 |
CN110673843A (zh) * | 2019-09-16 | 2020-01-10 | 上海交通大学 | 一种基于数据的软件模块行为状态机还原方法 |
CN112866032A (zh) * | 2021-02-06 | 2021-05-28 | 深圳库博能源科技有限公司 | 一种基于软件定义与流程的储能调度网关配置方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1815448A (zh) * | 2005-12-31 | 2006-08-09 | 北京佳讯飞鸿电气有限责任公司 | 一种高效易维护有限状态机的实现方法 |
US20080059772A1 (en) * | 2006-09-01 | 2008-03-06 | Samsung Electronics Co., Ltd. | Method and system for increasing decoder throughput |
CN101192140A (zh) * | 2006-11-22 | 2008-06-04 | 乐金电子(昆山)电脑有限公司 | Fsm软件的构建方法 |
US20090235226A1 (en) * | 2008-03-14 | 2009-09-17 | Fujitsu Limited | Synthesis of Message Sequence Charts from Communicating Finite-State Machines |
US7702499B1 (en) * | 2000-05-02 | 2010-04-20 | Cadence Design Systems, Inc. | Systems and methods for performing software performance estimations |
-
2011
- 2011-12-31 CN CN 201110457585 patent/CN102591713B/zh not_active Expired - Fee Related
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7702499B1 (en) * | 2000-05-02 | 2010-04-20 | Cadence Design Systems, Inc. | Systems and methods for performing software performance estimations |
CN1815448A (zh) * | 2005-12-31 | 2006-08-09 | 北京佳讯飞鸿电气有限责任公司 | 一种高效易维护有限状态机的实现方法 |
US20080059772A1 (en) * | 2006-09-01 | 2008-03-06 | Samsung Electronics Co., Ltd. | Method and system for increasing decoder throughput |
CN101192140A (zh) * | 2006-11-22 | 2008-06-04 | 乐金电子(昆山)电脑有限公司 | Fsm软件的构建方法 |
US20090235226A1 (en) * | 2008-03-14 | 2009-09-17 | Fujitsu Limited | Synthesis of Message Sequence Charts from Communicating Finite-State Machines |
Non-Patent Citations (2)
Title |
---|
傅钦翠,陈剑云: "基于有限状态机的远动规约的设计和实现", 《电网技术》, vol. 30, 31 October 2006 (2006-10-31), pages 214 - 217 * |
朱维勇,傅桂生: "基于VHDL语言的有限状态机设计方法", 《计算机技术与应用进展》, 31 December 2004 (2004-12-31), pages 702 - 706 * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102930752A (zh) * | 2012-09-21 | 2013-02-13 | 浙江大学 | 基于有限状态机的虚拟样机拆装序列模型的实训平台 |
CN106196461A (zh) * | 2016-07-18 | 2016-12-07 | 珠海格力电器股份有限公司 | 一种多联空调机组的控制方法、装置及多联空调机组 |
CN106910001A (zh) * | 2017-01-11 | 2017-06-30 | 中国电力科学研究院 | 基于有限状态机的电力仿真软件时序状态转换方法及系统 |
CN106910001B (zh) * | 2017-01-11 | 2021-04-30 | 中国电力科学研究院有限公司 | 基于有限状态机的电力仿真软件时序状态转换方法及系统 |
CN107357592A (zh) * | 2017-07-27 | 2017-11-17 | 郑州云海信息技术有限公司 | 一种基于状态机机制的事件处理方法及装置 |
CN108023889A (zh) * | 2017-12-08 | 2018-05-11 | 浙江广播电视集团 | 一种基于InfiniBand技术星型构架高速安全调度平台 |
CN110532167A (zh) * | 2019-07-05 | 2019-12-03 | 华东师范大学 | 一种基于模型转换的状态机模型时序性质验证方法 |
CN110532166A (zh) * | 2019-07-05 | 2019-12-03 | 华东师范大学 | 一种基于模型转换的状态机模型时序性质验证系统 |
CN110673843A (zh) * | 2019-09-16 | 2020-01-10 | 上海交通大学 | 一种基于数据的软件模块行为状态机还原方法 |
CN112866032A (zh) * | 2021-02-06 | 2021-05-28 | 深圳库博能源科技有限公司 | 一种基于软件定义与流程的储能调度网关配置方法 |
CN112866032B (zh) * | 2021-02-06 | 2023-10-20 | 深圳库博能源科技有限公司 | 一种基于软件定义与流程的储能调度网关配置方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102591713B (zh) | 2013-12-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102591713B (zh) | 基于有限状态机的软件功能模块的调度系统 | |
Kim et al. | Cyber–physical systems: A perspective at the centennial | |
RU2012127580A (ru) | Подход многоэтапного планирования на уровне исходных кодов для разработки и тестирования программного обеспечения для многопроцессорных сред | |
CN110535909A (zh) | 面向能源互联网应用的大数据与云计算一体化平台系统 | |
CN106293919A (zh) | 一种时间触发的嵌入式任务调度装置与方法 | |
CN103098032A (zh) | 仿真方法、系统和程序 | |
CN111796921B (zh) | 嵌入式多核操作系统调度方法、调度装置、电子设备及存储介质 | |
CN103853598B (zh) | 实现嵌入式虚拟机硬实时虚拟定时器响应的方法 | |
CN101694628A (zh) | 一种串行与并行模拟相结合的并行计算机系统性能模拟方法 | |
CN103959251A (zh) | 模拟执行方法、程序和系统 | |
CN102254016A (zh) | 一种面向云计算环境的容错并行Skyline查询方法 | |
CN103823706A (zh) | 一种基于RTLinux的被控对象模型模拟仿真实时调度方法 | |
CN103713948B (zh) | 一种优先级抢占时间片轮转操作系统中任务定时调度方法 | |
Harel et al. | Relaxing synchronization constraints in behavioral programs | |
CN102053947A (zh) | 全球定位系统基带算法可重构实现的方法 | |
Chiba et al. | A distributed real-time operating system with location-transparent system calls for task management and inter-task synchronization | |
CN102117223A (zh) | 利用异步通知实现lxi载板应用程序对m模块中断响应的方法 | |
CN102929714A (zh) | 基于uC/OS-II的硬件任务管理器 | |
Kovalev et al. | Analysis of RTOS for hardware and software support of environmental monitoring technologies | |
CN104318165A (zh) | 一种可裁剪的安全实时嵌入式操作系统 | |
Sreekumar et al. | Enhanced Performance Capability in a Dual Redundant Avionics Platform–Fault Tolerant Scheduling with Comparative Evaluation | |
Saito et al. | A distributed real-time operating system built with aspect-oriented programming for distributed embedded control systems | |
Hong et al. | Service-Oriented robot software development framework for distributed heterogeneous platforms | |
Shimabukuro et al. | A Logical Time-Triggered Distributed Computing Environment for Cyber-Physical Systems | |
Armstrong et al. | A fault-tolerant multimicroprocessor-based computer system for space-based signal processing |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20131218 Termination date: 20181231 |