CN110750241A - 基于事件驱动架构的体积修正系统 - Google Patents

基于事件驱动架构的体积修正系统 Download PDF

Info

Publication number
CN110750241A
CN110750241A CN201910807534.8A CN201910807534A CN110750241A CN 110750241 A CN110750241 A CN 110750241A CN 201910807534 A CN201910807534 A CN 201910807534A CN 110750241 A CN110750241 A CN 110750241A
Authority
CN
China
Prior art keywords
module
layer
event
volume
volume correction
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
CN201910807534.8A
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.)
Tancy Instrument Group Co Ltd
Original Assignee
Tancy Instrument Group 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 Tancy Instrument Group Co Ltd filed Critical Tancy Instrument Group Co Ltd
Priority to CN201910807534.8A priority Critical patent/CN110750241A/zh
Publication of CN110750241A publication Critical patent/CN110750241A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/36Software reuse
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)

Abstract

本发明涉及体积修正技术领域,特别是公开了一种基于事件驱动架构的体积修正系统,包括硬件层、驱动层、公共函数对象库、平台内核、中间层和应用层;驱动层和硬件层提供各个硬件接口操作函数;应用层负责处理业务逻辑事物;中间层处理与业务逻辑无关的事件;平台内核负责整个系统的调度;公共函数对象库给各层提供了通用函数操作;每层都对下一层进行封装,代码执行过程中逐级调用。

Description

基于事件驱动架构的体积修正系统
技术领域
本发明涉及体积修正技术领域,尤其是一种基于事件驱动架构的体积修正系统。
背景技术
目前,体积修正仪软件由于代码规模通常较小,软件的架构设计常常被忽略,工程师的工作就是以最低的成本完成目标功能的设计。随着体积修正仪的功能越来越复杂,嵌入式软件的规模也越来越大,忽视架构设计的嵌入式软件在代码重用、并行开发、可测试性和后期维护等方面暴露出越来越多的弊端。软件后期扩展和维护上付出的成本,要远远高于最初放弃架构设计所节约的成本。且每个项目各软件功能实现均需要从头开发,造成了产品开发效率低,且不容易控制软件质量。
发明内容
为了克服现有技术的不足,本发明提供了一种将整个系统的功能进行模块化设计,各模块之间使用消息进行通信,各模块内部采用有限状态机处理接收到的消息的基于事件驱动架构的体积修正系统。
为了实现上述目的,本发明采用的技术方案是:一种基于事件驱动架构的体积修正系统,包括硬件层、驱动层、公共函数对象库、平台内核、中间层和应用层;
驱动层和硬件层提供各个硬件接口操作函数;
应用层负责处理业务逻辑事务;
中间层处理与业务逻辑无关的事件;
平台内核负责整个系统的调度;
公共函数对象库给各层提供了通用函数操作;
每层都对下一层进行封装,代码执行过程中逐级调用。
上述技术方案中,系统平台架构采用以消息为基础,以事件为驱动的框架设计,消息是基于主动对象模型的。应用层将1个项目封装为多个对象,对象基于状态机设计,在具体实现上,将1个对象看成1个任务,系统以任务为单位进行调度。在系统运行后,由中断或各对象任务产生消息,平台会自动选择消息,执行对应的操作。在调度时,根据消息对应任务的优先级进行,先响应任务优先级高的事件,后响应优先级低的事件,系统平台提供了消息派发、消息订阅、有限状态机、任务管理和内存管理来实现该流程。
作为本发明的进一步设置,所述硬件层由FLASH模块、Fram模块、按键模块、压力传感器模块、温度传感器模块、体积量传感器模块、液晶模块、蓝牙模块、GPRS模块、数字量输入模块或数字量输出模块中的一个或多个模块组成。
作为本发明的进一步设置,所述驱动层由Flash模块、Fram模块、液晶显示模块、体积量脉冲采集模块、温度传感器模块、压力传感器模块、按键模块、Uart模块、I2C模块、SPI模块、GPIO模块、AD/DA模块、定时器模块或看门狗模块中的一个或多个模块组成。
作为本发明的进一步设置,所述中间层由文件系统模块、GPRS管理模块、体积量串口采集模块、体积量修正算法库KC模块或时钟管理模块中的一个或多个模块组成。
作为本发明的进一步设置,所述应用层由压力管理模块、温度管理模块、体积量管理模块、体积量采集模块、数据存储模块、事项处理模块、本地通信模块、远程通信模块、规约处理模块、参数变更模块、复位管理模块、UI管理模块、数字量输入模块、数字量电平脉冲输出模块、记录管理模块、电源管理模块或权限控制模块中的一个或多个模块组成。
采用上述方案,为了克服现有的体积修正仪嵌入式软件忽视架构设计所带来的在代码重用、并行开发、可测试性和后期维护方面的问题,本发明提供了一种基于事件驱动架构的体积修正系统,将整个系统的功能进行模块化设计,各模块之间使用消息进行通信,各模块内部采用有限状态机处理接收到的消息。这种架构设计有效地提高了软件的开发效率,以及提高了系统的可修改性,可重用性和可移植性。在以后的项目中就可以利用这些模块通过组合手段高效率、高质量地构造体积修正软件系统,更方便于多人进行合作开发。
下面结合附图对本发明作进一步描述。
附图说明
附图1为本发明具体实施例流程框图;
附图2为本发明具体实施例各模块框图。
具体实施方式
本发明的具体实施例如图1-2所示,一种基于事件驱动架构的体积修正系统,包括硬件层、驱动层、公共函数对象库、平台内核、中间层和应用层;
驱动层和硬件层提供各个硬件接口操作函数;
应用层负责处理业务逻辑事务;
中间层处理与业务逻辑无关的事件;
平台内核负责整个系统的调度;
公共函数对象库给各层提供了通用函数操作;
每层都对下一层进行封装,代码执行过程中逐级调用。
系统平台架构采用以消息为基础,以事件为驱动的框架设计,消息是基于主动对象模型的。应用层将1个项目封装为多个对象,对象基于状态机设计,在具体实现上,将1个对象看成1个任务,系统以任务为单位进行调度。在系统运行后,由中断或各对象任务产生消息,平台会自动选择消息,执行对应的操作。在调度时,根据消息对应任务的优先级进行,先响应任务优先级高的事件,后响应优先级低的事件,系统平台提供了消息派发、消息订阅、有限状态机、任务管理和内存管理来实现该流程。
由系统分层的设计思想可知,系统中每层都对下一层进行了封装,因此在代码执行过程中需要逐级调用,而不能隔层调用。
每层可以根据具体的应用划分对应的模块,在划分模块时,应遵循单一职责原则(Single Responsibility Principle),开闭原则(Open Close Principle),高内聚,低耦合。
上述硬件层由FLASH模块、Fram模块、按键模块、压力传感器模块、温度传感器模块、体积量传感器模块、液晶模块、蓝牙模块、GPRS模块、数字量输入模块或数字量输出模块中的一个或多个模块组成。
上述驱动层由Flash模块、Fram模块、液晶显示模块、体积量脉冲采集模块、温度传感器模块、压力传感器模块、按键模块、Uart模块、I2C模块、SPI模块、GPIO模块、AD/DA模块、定时器模块或开门狗模块中的一个或多个模块组成。
上述中间层由文件系统模块、GPRS管理模块、体积量串口采集模块、体积量修正算法库KC模块或时钟管理模块中的一个或多个模块组成。
上述应用层由压力管理模块、温度管理模块、体积量管理模块、体积量采集模块、数据存储模块、事项处理模块、本地通信模块、远程通信模块、规约处理模块、参数变更模块、复位管理模块、UI管理模块、数字量输入模块、数字量电平脉冲输出模块、记录管理模块、电源管理模块或权限控制模块中的一个或多个模块组成。
本发明不局限于上述具体实施方式,本领域一般技术人员根据本发明公开的内容,可以采用其他多种具体实施方式实施本发明的,或者凡是采用本发明的设计结构和思路,做简单变化或更改的,都落入本发明的保护范围。

Claims (5)

1.一种基于事件驱动架构的体积修正系统,其特征在于:包括硬件层、驱动层、公共函数对象库、平台内核、中间层和应用层;
驱动层和硬件层提供各个硬件接口操作函数;
应用层负责处理业务逻辑事务;
中间层处理与业务逻辑无关的事件;
平台内核负责整个系统的调度;
公共函数对象库给各层提供了通用函数操作;
每层都对下一层进行封装,代码执行过程中逐级调用。
2.根据权利要求1所述的基于事件驱动架构的体积修正系统,其特征在于:所述硬件层由FLASH模块、Fram模块、按键模块、压力传感器模块、温度传感器模块、体积量传感器模块、液晶模块、蓝牙模块、GPRS模块、数字量输入模块或数字量输出模块中的一个或多个模块组成。
3.根据权利要求1所述的基于事件驱动架构的体积修正系统,其特征在于:所述驱动层由Flash模块、Fram模块、液晶显示模块、体积量脉冲采集模块、温度传感器模块、压力传感器模块、按键模块、Uart模块、I2C模块、SPI模块、GPIO模块、AD/DA模块、定时器模块或看门狗模块中的一个或多个模块组成。
4.根据权利要求1所述的基于事件驱动架构的体积修正系统,其特征在于:所述中间层由文件系统模块、GPRS管理模块、体积量串口采集模块、体积量修正算法库KC模块或时钟管理模块中的一个或多个模块组成。
5.根据权利要求1所述的基于事件驱动架构的体积修正系统,其特征在于:所述应用层由压力管理模块、温度管理模块、体积量管理模块、体积量采集模块、数据存储模块、事项处理模块、本地通信模块、远程通信模块、规约处理模块、参数变更模块、复位管理模块、UI管理模块、数字量输入模块、数字量电平脉冲输出模块、记录管理模块、电源管理模块或权限控制模块中的一个或多个模块组成。
CN201910807534.8A 2019-08-29 2019-08-29 基于事件驱动架构的体积修正系统 Pending CN110750241A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910807534.8A CN110750241A (zh) 2019-08-29 2019-08-29 基于事件驱动架构的体积修正系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910807534.8A CN110750241A (zh) 2019-08-29 2019-08-29 基于事件驱动架构的体积修正系统

Publications (1)

Publication Number Publication Date
CN110750241A true CN110750241A (zh) 2020-02-04

Family

ID=69275922

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910807534.8A Pending CN110750241A (zh) 2019-08-29 2019-08-29 基于事件驱动架构的体积修正系统

Country Status (1)

Country Link
CN (1) CN110750241A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779047A (zh) * 2012-07-09 2012-11-14 哈尔滨工程大学 一种嵌入式软件支撑平台
CN107066286A (zh) * 2016-12-29 2017-08-18 河北远东通信系统工程有限公司 一种通信系统中具有高扩展性的通用软件架构实现方法
CN107491399A (zh) * 2017-08-30 2017-12-19 四川航天系统工程研究所 硬件底层快速配置的上位机软件架构设计方法
CN107545195A (zh) * 2017-09-11 2018-01-05 浙江大学 一种加密控制器应用程序开发框架及方法
CN208296948U (zh) * 2018-06-28 2018-12-28 天信仪表集团有限公司 一种体积修正仪综合性能检验装置
CN109656533A (zh) * 2018-12-18 2019-04-19 山东超越数控电子股份有限公司 一种软硬件解耦合的软件化雷达系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102779047A (zh) * 2012-07-09 2012-11-14 哈尔滨工程大学 一种嵌入式软件支撑平台
CN107066286A (zh) * 2016-12-29 2017-08-18 河北远东通信系统工程有限公司 一种通信系统中具有高扩展性的通用软件架构实现方法
CN107491399A (zh) * 2017-08-30 2017-12-19 四川航天系统工程研究所 硬件底层快速配置的上位机软件架构设计方法
CN107545195A (zh) * 2017-09-11 2018-01-05 浙江大学 一种加密控制器应用程序开发框架及方法
CN208296948U (zh) * 2018-06-28 2018-12-28 天信仪表集团有限公司 一种体积修正仪综合性能检验装置
CN109656533A (zh) * 2018-12-18 2019-04-19 山东超越数控电子股份有限公司 一种软硬件解耦合的软件化雷达系统

Similar Documents

Publication Publication Date Title
CN100535813C (zh) 基于arm的嵌入式运动控制卡
TWI420293B (zh) 協調鏈結電源管理的方法、設備與系統
CN102236621A (zh) 计算机接口信息配置系统及方法
CN101271415B (zh) 嵌入式设备中监控看门狗的实现方法
CN102650869A (zh) 一种机床装备云制造服务接入终端
CN101739305A (zh) 操作系统内核级实时看门狗监控装置及其监控方法
CN101272564A (zh) 一种软实时定时器调度的方法及软实时定时器模块
CN102968311A (zh) 机载嵌入式软件开发平台
CN100498708C (zh) 一种通过个人计算机进行固件下载的方法及装置
CN101996693A (zh) 一种用于反应堆保护系统的组态系统
CN101593128B (zh) 基于实时操作系统的atca系统中的ipmc及其构建方法
CN108549330A (zh) 一种多轴联动嵌入式数控系统及其开发方法
CN202502713U (zh) 基于sopc的led显示屏控制器
CN101813934A (zh) 基于可编程器件的三冗余总线同步和表决电路
CN103631586B (zh) 进行场景化交互处理的方法和系统
CN105159722B (zh) Rtc唤醒系统的方法及计算机
CN102609273B (zh) 一种机器人及其软件升级的方法和系统
CN110750241A (zh) 基于事件驱动架构的体积修正系统
CN102495776B (zh) 一种应用于云存储的存储控制器的bios调试方法
CN103049602B (zh) 基于模型驱动工程的将aadl组件转换到接口自动机模型方法
CN101753672B (zh) 一种对无线终端快速修复的系统和方法
CN102831572A (zh) 图像采集和处理系统
CN111158273A (zh) 一种无操作系统的安全显示界面实现方法
CN115617407A (zh) 一种嵌入式操作系统的硬件驱动方法
CN113393140A (zh) 一种基于bim的建筑监控方法和系统、设备、存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Wu Fuwei

Inventor after: Huang Yichang

Inventor after: Tao Wenwen

Inventor after: Wang Rongxiao

Inventor after: Huang Shucheng

Inventor after: Zhou Qi

Inventor before: Yang Guofen

Inventor before: Li Pixiang

Inventor before: Sun Zhipeng

Inventor before: Zhang Huanhui

Inventor before: Su Miaohou

Inventor before: Chen Yongsheng