当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读]根据嵌入式系统软件的特点和发展需求,设计了一种新的嵌入式软件组件模型SECOM,给出了模型的基本组成元素。同时,利用时间Petri网TPN建立一个TPN计时器timer,对该组件模型SECOM非功能性约束中的实时性进行建模与分析, 形式化地验证了该组件的实时性。

随着科技的发展,大多数的电子系统和产品含有特定的硬件器件和功能模块,显然这些系统是多种类、嵌入式的。嵌入式的软/硬件设计是一项复杂工作,为了满足系统的可靠性、运行效果、内存受限等要求,嵌入式系统除了需要实现功能需求外,非功能性的约束(Non-functional constraints)也是非常重要的。非功能性约束包括实时性、程序性能、稳定性、可靠性、安全性、内存限制、存储空间限制等[1-2]。对于非功能性约束的考虑方法可以分为两大类:面向过程(process-oriented)的方法和面向产品的方法(product-oriented)。面向过程的方法,指使用非功能性约束信息指导软件的开发过程。面向产品的方法,指在组件内部描述非功能性约束信息,并检查组件构成的产品的非功能性约束信息判断软件是否满足要求的非功能性约束。本文中使用面向产品的方法对嵌入式组件模型SECOM(Simple Embedded Component Object Model)的非功能性约束进行分析,在组件内部采用Petri网方法描述非功能性约束信息。

1 时间Petri网

Petri网是一种可用图形表示的组合模型,具有直观、易懂和易用的优点,可用于模拟带有并发性、异步性、分布式、非确定性、并行性等特性的系统。而用时间Petri网[3-4](简称时间网TPN)建立系统的动态模型,可进一步将系统中事件从发生到结束所需的时间描述出来。

时间网TPN中表示事件的持续时间的方法有两种:一种是将各事件的持续时间标在库所的旁边,表示库所中产生的托肯要经过一定的时间后才能参与网中的运行;另一种方法是将时间标注在变迁的旁边,表示当该变迁具有发生条件时要延迟一段时间后才能发生,或该变迁发生后,立即从相应的输入库所中移走相应的托肯,但要延迟一段时间后才在相应的输出库所中产生相应的托肯[5-6]。在下面的时间P/T网定义中采用的是后一种方法。

定义1:当某一变迁的发生条件满足时,若该变迁要延迟一段时间后才从相应的输入库所中移走相应的托肯并得到发生后果,或该变迁发生后,立即从相应的输入库所中移走相应的托肯,但要延迟一段时间后才得到发生后果,则称这样的变迁为时间变迁。

定义2:当某一变迁的发生条件满足时,若该变迁立即从相应的输入库所中移走相应的托肯,且立即得到发生后果,则称这样的变迁为立即变迁。

在时间P/T网的图形表示中约定,用矩形框表示时间变迁,用黑线表示立即变迁。下面是时间P/T网模型的形式化定义。

根据延迟时间是一个固定值还是一个区间值,TPN还可分为固定延迟时间P/T网和不固定延迟时间P/T网。在固定延迟时间P/T网中,对于任意的变迁t∈T1,都有一个非负的实数r与之相对应,使得变迁t的延迟时间为r。在不固定延迟时间P/T网中,对于任意的变迁t∈T1,都有一个对偶[Bcet,Wcet]与之相对应(Bcet≥0,Wcet≥0),使得若在a时,t的发生条件成立,则t可在时间区间[a+Bcet,a+Wcet]内执行,即t有效时,其相应的输入库所中的托肯将至少保留Bcet s,直至(a+Wcet) s时才移出,或t有效时,其相应的输入库所中的托肯立即移出,但将至少保持Bcet s,直至(a+Wcet) s时才产生后继标识,本文中将采用第一种方式。

2 SECOM组件模型

基于嵌入式系统高度可裁剪性、资源受限的特点和对当前现状的分析[6],本文给出一种新的、基于源代码复用的、精简的嵌入式组件模型SECOM。该组件模型包含以下元素:

(1)瘦组件:SECOM组件是设计、开发、重用的单元,是程序的基本组成块,是在完成基本功能前提下的极小化,所以称之为“瘦组件”。组件与接口相互独立,是接口功能的具体实现者。组件之间通过接口通信,互相协作完成软件功能。组件的定义是可递归的。

(2)简接口:接口用来定义功能函数,是一组相关函数的集合,分离了瘦组件的定义与实现,彻底消除了接口调用者和实现者之间的耦合关系,增强了信息封装性。接口具有唯一性、不变性、继承性和多态性。同一接口在不同组件内有不同的实现方式。接口分为两类:①服务接口(Provide Interface),接口所在组件已经实现了此接口类型的功能,可以向组件外部提供服务;②请求接口(Require Interface),接口所在组件内没有实现此接口的功能,组件需要向外部请求此接口的实现。

(3)灵敏桥接器:桥接器完成接口之间的连接。根据现有条件的不同,采取不同的连接模式。连接模式有:直接连接(connecting),选择连接(selecting)和代码块粘连(gluing)。接口之间的消息交换是通过一个桥接器连接两个或更多的接口实例来实现[7-9]。组件模型类图如图1所示。

3 建模实时分析

嵌入式系统通常都是强实时性的,为了对实时性更有效地建模和分析,首先建立一个如图2所示的TPN计时器timer,其中T1是一个时间变迁,延迟时间是一个固定值r,且r=Wcet。经过时间r s后,P01中的托肯才会移出,P02中则会出现托肯;否则,当小于时间r,并且有其他条件满足时,finish变迁会发生。

下面对SECOM组件模型进行实时建模分析。图3中圆圈表示组件状态,timer是前面利用TPN建立的计时器。其中M0={1,0,0,0,…}是初始标识;P={P1,P2,…,P3,P4,P5}是一个有限库所集;P1:接收其他组件访问该组件的一个请求require;P2:该组件处于连接和开始工作状态;P3:该组件处于工作结束状态;P4:请求得到响应后返回成功信息;P5:请求得不到响应,返回错误信息。

T={t1,t2,t3,t4}是一个有限变迁集,t1:请求P1经过变迁t1连接要访问的组件,同时激发计时器timer开始计时;t2:这是一个时间变迁,延迟时间是一个区间值[Bcet,Wcet],至少经过时间Bcet s,P2中的托肯才会移出,则P3中经过至少Bcet s时间才会出现托肯;t3:当t2的变迁时间小于等于Wcet时间时,库所P3和计时器中的库所P01都拥有托肯,则变迁t3的发生条件满足,即t3变迁发生,返回结果;t4:当t2的变迁时间大于Wcet时间时,计时器中的P02中拥有托肯,则变迁t4会发生,返回失败消息。

以上是对一个基本组件的实时建模。从P1状态经过P2和P3到达P4状态,表明了该组件从收到请求、建立连接开始工作到结束工作,返回成功信息。而从P1状态不经过P2和P3到达P5状态,则说明请求未能得到满足,返回错误信息。在SECOM模型中,t2变迁发生的时间处于[Bcet,Wcet]区间,从而说明该组件模型满足实时性的要求。

当访问一个不太复杂的复合组件时,有些访问子组件步骤之间会出现顺序问题,即会出现同步问题,因而需采取措施防止冲突发生。所采取的措施为:在两个请求之间加入一个控制库所P00,由它来控制访问的次序。从P11到t21的虚边体现了require1比require2有优先权:非空的P11阻止了t21的点火,其Petri网模型如图4所示。

对复合组件的分析,比较简单的方法就是将每一个子组件作为一个子网连接起来,循环执行。当访问一个非常复杂的复合组件、甚至整个系统时,调度任务繁琐,可以考虑引进一个单独的调度决策,由它完成对所有子组件的调度。

本文根据嵌入式系统的特点及其应用需求,设计了一种新的、简单的嵌入式组件模型SECOM,给出了模型的基本组成元素。同时,引入了时间Petri网,并使用时间Petri网TPN,建立了一个TPN计时器timer,利用其对该组件模型SECOM非功能性约束中的实时性进行建模与分析,从而形式化地验证了该组件具有很好的实时性。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

为增进大家对嵌入式系统的认识,本文将对嵌入式系统、嵌入式系统的特点予以介绍。

关键字: 嵌入式 指数 嵌入式系统

上海2024年4月16日 /美通社/ -- 4月14日,为期四天的第89届中国国际医疗器械博览会(CMEF)盛大收官。澳鹏Appen很荣幸再次作为唯一的人工智能训练数据参展商参与此次"航母级"规模医疗...

关键字: APP 医疗器械 PEN 模型

2024年4月18日,国民技术第四代可信计算芯片NS350 v32/v33系列产品正式发布并开始量产供货。NS350 v32/v33是一款高安全、高性能、超值可信密码模块2.0 (TCM 2.0)安全芯片,适用于PC、服...

关键字: PC 服务器平台 嵌入式系统

福州2024年4月16日 /美通社/ -- 4月15日,第61届中国高等教育博览会(以下简称“高博会”)于福州隆重开幕。索贝以“视听新体验•数智向未来,让知识传递更加精准高效”为主题,携全新升级的智慧教育资源管理平台、课...

关键字: 模型 数字化 AI算法 质量评估

2024年,嵌入式系统将走向何方?如何才能走在趋势的前沿?从工厂到家电,从医院里昂贵的医疗设备,到随处可见的可穿戴设备,我们身边的联网设备越来越多,生活更加绿色低碳,嵌入式系统功不可没。ST于3月19日成功举办STM32...

关键字: 嵌入式系统 可穿戴设备

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil
关闭
关闭