基于轻量级和开源状态机的事件驱动的APP分发框架(qp )。 该框架包括四个部分。
事件处理器(QEP;
轻量级事件驱动框架(QF;
任务调度微核(QV、QK、QXK );
实时跟踪调试器(QS )。
(1) QEP
Quantum Event Processor是一个通用、可移植、可重用的状态机引擎。
在QEP中,可以直接将UML样式的状态图映射到代码。
QEP提供了传统的简单平面状态机和分层状态机。 QEP可以直接操作事件队列和事件分发机制。
)2) QF
QF是通用的、事件驱动的APP定位框架,是面向嵌入式系统的实时框架。
QF被设计为与QEP、RTOS合作。
QF包括事件队列、事件对象、事件遍历等。
)3) QK
QK是一个轻量级、抢占式的实时核心
QK极小,是习惯RTC的执行独立任务的内核。
QK必须与QF版本一致。
)4) QS
强大的调试工具
高清晰度处理器(qep ) )。
事件处理程序也可以理解为状态引擎,用于在需要处理事件时,调用当前状态的状态函数来处理该事件,并处理所调用的状态函数的返回值。 根据返回值进行适当的状态转换。 例如,转换到父状态。 另外,状态引擎处理某个状态的ENTER、EXIT、INIT。
活动对象框架(qf )
QF是轻量级、事件驱动和active objects框架。 此框架的主要任务是确保每个active object线程的安全,并执行-到-完成(run-to-completion )事件处理。 这包括直接事件传输、公共订阅事件传输、事件队列和时间事件(延迟传输时间事件)。
版权密钥(qv )
一种协作内核,仅在time to completion时处理事件,处理所有事件,然后对active object运行基于优先级的调度程序。 这是隐式协作。 因为活动计时器不需要明确放弃CPU。 而是在事件处理完成后将简单的return放入QV调度器中。
专用非阻塞密钥(qk ) )。
QK是一种超高速抢占,基于优先级,单堆栈,而实时内核是专门为运行活动对象而设计的。 它总是处理event queued的高优先级active objects,但它将event作为一次性函数调用,而不是像传统内核那样的endless循环。 尽管如此,如果新事件的优先级高于当前正在处理的事件的优先级,QK内核仍然提供抢占式一次性事件处理功能。 例如,抢占式中断处理器可以抢占彼此。 这意味着QK可以使用单个堆栈保存所有活动对象的上下文。
预定义块密钥(qxk ) )。
QXK是一种简单的抢占,它基于优先级并被阻止。 实时内核专用于商用中间件(传统的块代码活动对象,如TCP/IP协议栈、UDP协议栈和嵌入式文件系统)或传统代码的混合设计
软件跟踪系统(QS )
QS是一种软件跟踪系统,允许开发人员以最少的系统资源监视目标。 不会停止或明显减慢代码中继事件驱动QP的APP。 QS是测试、故障排除和qp APP优化的理想工具。 QS还可用于支持产品的制造验收测试。