论文部分内容阅读
随着计算机硬件技术和软件技术的不断发展,嵌入式实时系统被广泛应用于工厂自动化、医疗设备、航空航天等安全关键的行业。在这些实时系统中,任务的时间确定性尤为重要。如何在系统设计过程中加入时间约束,并在运行过程中确保时间约束被满足成为重要的研究课题。Henzinger提出了 LET(Logical Execution Time)编程模型,模型引入了明确的时间语义用于描述系统的时间约束,解决了传统编程模型难以明确表达时间属性的问题。该模型用协作式的控制语义描述控制逻辑和任务的时间约束,功能部分仍沿用进程/线程模型。功能设计和控制设计采用不同的抽象,进程/线程模型不具备刻画任务时间属性的能力,使得LET控制逻辑无法直转换成进程/线程模型中的运行设计,时间属性也不能得到很好的保障。SEFM(Servent/Exe-flow)是一种新的操作系统模型。在SEFM操作系统模型中程序由一组服务组成,服务之间显式地进行交互,不存在不确定的同步或竞争。服务的运行过程比进程/线程模型中任务的运行过程更具有确定性和可控性,和进程/线模型相比,SEFM系统模型更能直接地表达LET模型的控制语义。本文将LET编程模型和SEFM操作系统模型结合在一起,形成了 一种新的编程模型(Timed SEFM):用LET模型的概念实现控制逻辑,用SEFM操作系统模型的实现功能设计,并在LET和SEFM的基础上做了改进,形成了更灵活的控制模型以及时间触发的、协作式的功能模型,能更好地确保程序的实际运行过程遵循控制逻辑。Timed SEFM对TDL和HTL中提出的模块(Module)进行了重定义,引入了模式切换周期的概念,使模式切换更具有确定性的同时简化了可调度性分析;还引入了服务组合的概念,任务由多个独立的服务组合而成,使任务的运行更具有可控性;Timed SEFM编译之后直接形成一组触发器,该组触发器完整地表达了程序的控制逻辑,和Giotto、TDL、HTL等语言相比,省去了用E machine解释E code的过程,使实际运行过程更具有时间确定性。本文详细描述了 Timed SEFM编程模型以及对应的运行时系统。并以一个智能小车控制系统的设计和实现作为案例分析,对Timed SEFM编程框架(Timed SEFM编程模型和运行时系统的总称)进行了验证。