开发QP应用程序指南
1 开发QP应用的概述
在实时系统开发中,QF实时框架为开发并发、事件驱动的软件提供了高效且可靠的途径。与传统的并发编程方法不同,QF框架将底层复杂的机制封装起来,开发者在使用该框架开发应用时,无需直接处理临界区、信号量等棘手的机制。
1.1 开发QP应用的规则
在开发基于活动对象的应用时,需严格遵循以下两条规则:
- 活动对象之间应仅通过异步事件交换进行交互,避免共享内存或其他资源。
- 活动对象在RTC处理过程中不应阻塞或忙等待事件。
遵循这些规则,QF实时框架可确保应用免受抢占式多任务处理常见问题的困扰,如竞态条件、死锁、优先级反转、饥饿和不确定性。开发者无需在应用层使用互斥锁、信号量、监视器等复杂机制,同时能使QP应用具有完全确定性,并有效处理硬实时截止时间。
1.2 开发QP应用的启发式方法
以下是构建基于活动对象系统的一些基本准则:
- 事件驱动编程需要从传统顺序编程进行范式转变。传统方法关注共享资源和各种阻塞机制来发出事件信号,而事件驱动编程强调编写非阻塞代码并快速返回事件循环。
- 主要目标是实现活动对象之间的松散耦合。寻求一种问题划分方式,避免资源共享,并使交换事件的数量和大小最小化。
- 避免资源共享的主要策略是将资源封装在专用的活动对象中,由这些对象为系统的其他部分管理资源。
- 活动对象的响应能力由其状态机的最长RTC步骤决定。为满足硬实时截止时间,可将较长的处理拆分为较短的步骤,或将此类处理转移到其他低优先级的活动对象。
- 开发基于活动对象的应用的一个良好起点是为主要用例绘制序列图。这些图有助于
超级会员免费看
订阅专栏 解锁全文
73

被折叠的 条评论
为什么被折叠?



