timed sefm:嵌入式实时控制系统的编程模型探讨

timed sefm:嵌入式实时控制系统的编程模型探讨

ID:22372611

大小:51.50 KB

页数:5页

时间:2018-10-28

timed sefm:嵌入式实时控制系统的编程模型探讨_第1页
timed sefm:嵌入式实时控制系统的编程模型探讨_第2页
timed sefm:嵌入式实时控制系统的编程模型探讨_第3页
timed sefm:嵌入式实时控制系统的编程模型探讨_第4页
timed sefm:嵌入式实时控制系统的编程模型探讨_第5页
资源描述:

《timed sefm:嵌入式实时控制系统的编程模型探讨》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、TimedSEFM:嵌入式实时控制系统的编程模型探讨1引言  典型的嵌入式控制系统的设计和实现分别由控制工程师和软件工程师完成。控制工程师对系统行为和交互环境进行建模,导出控制逻辑,设计并优化控制模型,模拟验证其功能和性能;软件工程师将控制模型中的计算分解成不同的实时任务,并根据控制模型的时间约束、操作系统的调度机制和目标平台的性能,为任务指定优先级和任务周期。软件工程师需要反复尝试以确保实际执行时间满足设计需求。实验过程中如果某一任务错过了指定的deadline,需要重新指定任务优先级和周期,再次进行实验。除此之外,传统的编程模型(BoundedEx

2、ecutionTime,BET)模型不具有I/O可组合性,即当向系统中添加新任务时,其他任务的完成时间会受到影响,其原因在于RTOS和实时调度器为满足实时需求提供了很弱的保障。传统RTOS和实时调度器无法保证任务完成时间的确定性,尽管可以通过反复的测试使系统具备足够的可信度,但方法本身存在缺陷,根本原因在于:(1)编程模型中缺乏明确描述时间属性的语法;(2)线程本身就具有不确定性;(3)任务的edSEFM模型概述  一个完整的TimedSEFM控制程序由服务、数据端口、任务、模块和模式等基本定义组成。  2.1服务  服务是SEFM+操作系统模型中最基

3、本的功能单元和调度单位。一个服务使用四元组)表示,其中,sn是全局唯一的服务名称;f是一段内部没有同步点的代码,实现服务sn所代表的功能;In和Out分别是一组输入和输出数据端口,如图1(a)所示。输入数据端口为服务提供运行所需的所有数据,输出数据端口用于存储对外可见的运行结果。服务是组成任务(Task)的基本元素,在不同任务中服务以不同的实例存在。  2.2数据端口  数据端口是用于存储类型化数据(TypedData)的结构,有三种数据端口:服务的输入数据端口(InputDataPorts,IDP)、服务的输出数据端口(OutputDataPorts

4、,ODP)和全局数据端口(GlobalDataPorts,GDP)。前两者与某服务绑定,用于实现该服务的数据输入输出;后者不与任何服务绑定,用于实现服务间松耦合的数据交换。  为避免不确定的竞争和同步,服务间的数据交换必须显式地进行:只能调用SEFM+内核功能DataTransferDriver(DTD)在数据端口之间进行数据交换(如图1(b)中带dtd标记的连线所示)。即数据由DTD从GDP或其他服务的ODP导入到某服务的IDP;该服务运行结束时直接将结果写入其ODP,并由DTD将ODP中的数据传到指定的GDP或其他服务的ODP。为保证数据的一致性和

5、完整性,数据端口的访问受到严格的约束:(1)DTD只能在有限的时间范围内以有限的权限访问服务的输入(服务开始前,只写)和输出(服务结束后,只读)数据端口;(2)服务在运行期间只能访问自己的IDP和ODP  2.3模块和模式  模块是描述控制逻辑的结构,该结构描述了任务间的交互方式和逻辑时间属性。在实时控制软件中,某些特定条件下一组任务可能需要替代另一组任务运行,TimedSEFM用模式切换(ModeSs为模式切换周期(ModeSs倍,即系统将每Nmsp时间间隔执行一次函数s(mModes),若m¹当前活动模式,则发生模式切换。  3编译和运行

6、支持  TimedSEFM程序的功能部分和控制部分独立编译,功能部分由C语言编译器编译,编译之后形成二进制代码和数据的集合,存储在一段连续的内存中。控制部分由TimedSEFMpiler进行编译,编译之后形成一系列触发器。  显示了TimedSEFM的编译和运行环境,除MemoryManager、Clock、Scheduler、DataTransferDriver等基本功能之外SEFM+内核还提供了NamingService和TriggerManager作为TimedSEFM程序的运行支持。NamingService建立了端口名到存储地址、服务名到函数

7、入口地址的映射。TriggerManager负责触发器的创建、撤销、使有效(activate)和使无效(deactivate)。触发器分为定时触发器和条件触发器:定时触发器是用于定义在指定时间点做出指定动作的结构;条件触发器是用于定义满足指定条件时做出指定动作的结构。前者可指定的动作有:使一组触发器有效、使一组触发器无效、释放一个基本服务、在端口之间传递数据、创建一个定时触发器等;后者可指定的动作有:在端口之间传递数据、激活一个服务实例。  TimedSEFM控制程序编译后,每个模式对应一组触发器,指定了如下动作:在任务逻辑起始时间到来时将全局端口的数

8、据传递到任务的输入数据端口并激活服务实例、服务运行结束时完成数据传递并激活指定的服务、在任务逻

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。