CN100541362C - 一种基于汽车电控领域模型的自动状态机构造方法 - Google Patents
一种基于汽车电控领域模型的自动状态机构造方法 Download PDFInfo
- Publication number
- CN100541362C CN100541362C CNB2008100594184A CN200810059418A CN100541362C CN 100541362 C CN100541362 C CN 100541362C CN B2008100594184 A CNB2008100594184 A CN B2008100594184A CN 200810059418 A CN200810059418 A CN 200810059418A CN 100541362 C CN100541362 C CN 100541362C
- Authority
- CN
- China
- Prior art keywords
- task
- state machine
- automatic
- electric control
- control field
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Debugging And Monitoring (AREA)
- Testing And Monitoring For Control Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于汽车电控领域模型的自动状态机构造方法。该方法的步骤如下:a)提取汽车电控模型的关键信息,并做相应的自动状态机构造;b)构造出的自动状态机与汽车电控模型任务调度顺序相一致;c)构造出的自动状态机与汽车电控模型资源使用情况相一致。本发明能够把汽车电控领域模转换为自动状态机,使用能够使用通用的自动状态机验证工具来对自己的设计逻辑进行形式化验证;能够用自动状态机正确表达原有汽车电控模型的任务调度顺序和资源使用情况,帮助开发人员发现设计中的逻辑问题和管理系统中的资源模块;在项目开发的早期设计阶段验证设计逻辑,有效减少了开发后期出现设计逻辑错误的可能,降低项目修改的成本。
Description
技术领域
本发明涉及汽车电控领域模型技术,尤其是涉及一种基于汽车电控领域模型的自动状态机构造方法。
背景技术
大多数情况下嵌入式系统的安全性往往最后才会被考虑到。开发人员在设计产品时往往以速度为目标,而将安全性问题留待将来的版本升级时再行解决。但是在汽车电控领域,项目开发中的系统安全性是超越其他因素的至关重要的系统属性。因此,开发人员不仅要保证系统逻辑正确,还要确保系统能安全的运行。
传统的开发还是大多沿用了先编码后测试的开发方法。采用这样的方法一则在后期测试中如果发现问题,对于系统的修改代价会非常大,另一则测试只能发现错误,而不能确保系统不存在错误。
汽车电控领域开发中,实时系统的系统资源比较有限,并发的任务对资源的竞争就更为激烈。如果因为任务之间的资源竞争引起任务的死锁,使得任务无法在时限内完成,造成实时系统长时间无法向前推进。同时,实时系统中由于任务之间的并发执行,由于各个任务之间的并发关系设计不当,同样也可能引起死锁。这样的问题在系统设计中很容易出现,因此即使是完备的测试也不能保证能完全发现这类问题。
对于逻辑关系比较复杂的系统设计,也可能存在某些永远也执行不到的程序块,也就是模块的可达性。这可能是设计者没有考虑到某些因素而引起的,虽然这样的程序块一般情况既不会影响系统的正确运行,也很难在测试中发现,但是却不能保证其在特殊情况下不被执行,而造成不可挽回的错误,因此良好的汽车电控系统不应该包含这样的冗余模块。
以上这些在传统的开发过程中很难完全发现的问题就给需要引入形式化的验证方式来确保系统的安全可靠。但是汽车电控领域的模型却无法使用通用的验证工具进行验证。
发明内容
为了解决上述现有汽车电控领域模型无法使用通用验证工具验证的问题,本发明的目的在于提供一种基于汽车电控领域模型的自动状态机构造方法,使其可使用通用的自动状态机验证工具进行验证。
本发明解决其技术问题采用的技术方案的步骤如下:
a)提取汽车电控模型的关键信息,并做相应的自动状态机构造;
b)构造出的自动状态机与汽车电控模型任务调度顺序相一致;
c)构造出的自动状态机与汽车电控模型资源使用情况相一致。
在所述的第a)步操作中,根据汽车电控领域模型的内容,为模型中的每个任务分别构造自动状态机,分析汽车电控领域模型的任务调度信息和资源使用情况,并提取包括任务执行优先级和任务激活间隔时间在内的关键数据,计算系统中Alarm任务激活时间的最小公倍数,并为系统中的Alarm构造自动状态机。
在所述的第b)步操作中,对于汽车电控模型中包括激活动作,设置事件和等待事件在内的任务调度点,在自动状态机中构造相应的状态,并通过变量控制使得构造出的自动状态机与汽车电控模型的任务调度顺序相一致。
在所述的第c)步操作中,分析原模型资源模块的使用情况,并在自动状态机中构造相应的资源获取状态,以保证资源在空闲时才能被相关任务获取,任务才能继续执行,使得构造出的自动状态机与汽车电控模型的资源使用情况相一致。
本发明具有的有益效果是:
1)本发明能够把汽车电控领域模转换为自动状态机,使用能够使用通用的自动状态机验证工具来对自己的设计逻辑进行形式化验证。
2)本发明能够用自动状态机正确表达原有汽车电控模型的任务调度顺序和资源使用情况,帮助开发人员发现设计中的逻辑问题和管理系统中的资源模块。
3)本发明在项目开发的早期设计阶段验证设计逻辑,有效减少了开发后期出现设计逻辑错误的可能,降低项目修改的成本。
附图说明
图1是汽车电控模型例图。
图2是电控模型经过初步的系统分析所生成的自动状态机图。
图3是汽车电控模型系统的任务调度顺序。
图4是电控模型经过调度点所生成的自动状态机图
图5是电控模型经过资源处理所生成的最终的自动状态机图。
具体实施方式
下面结合附图和实施例对本发明作进一步说明。
一、提取汽车电控模型的关键信息,并做相应的自动状态机构造。
如图1所示的示例系统中共有1个计时器counter为系统计时,2个Alarm定时激活任务,3个不同优先级任务,1个数据Data。Alarm1和Alarm2的激活动作间隔分别是20毫秒和40毫秒。3个任务的优先级顺序Task_3>Task_1>Task_2,Task_1在执行中使用了系统资源Data。
取得以上系统信息,如下表1,表2所列:
表1 系统中Alarm信息
表2 系统中任务信息
然后为每个Task分别构造一个自动状态机,设置自动状态机的优先级Alarm>Task_3>Task_1>Task2。并根据系统信息申明自动状态机中的变量,如下表3所示:
表3 自动状态机系统中申明的变量
类型 | 变量名 | 取值 | 含义 | 取值 | 含义 |
整数 | T20ver | 0 | Task_2未结束 | 1 | Task_2运行结束 |
整数 | T3Over | 0 | Task_3未结束 | 1 | Task_3运行结束 |
整数 | T2Active | 0 | Task_2被激活 | 1 | Task_2未激活 |
整数 | T3Active | 0 | Task_3被激活 | 1 | Task_2未激活 |
信号 | Active_Task1 | Active_Task1 | 发出信号 | Active_Task1? | 等待信号 |
整数 | Event | 0 | 未设置事件 | 1 | 设置事件 |
整数 | Data | 0 | 数据空闲 | >0 | 数据被使用 |
然后求得系统Alarm的最小循环周期是40ms,在一个周期中Alarm1产生激活Task_3的动作2次,Alarm1产生激活Task_2的动作一次,在构造的Alarm自动状态机中增加3个状态转移,分别表示这3个激活动作,在状态转移前分别判断变量T3Over和T2Over,确定任务没有在运行中,则状态可以进行转移,转移后设置表示任务运行的变量T3Active、T2Active和表示任务结束的变量T3Over、T2Over。最后生成如图2所示的系统自动状态机。
分析系统的执行顺序如图3所示是:
1.20毫秒时由Alarm1产生激活动作,Task_3被激活开始执行,20毫秒后由Alarm2产生激活动作,Task_2被激活。
2.但是由于Task_3优先级最高,直到Task_3执行至等待事件,Task_2才得以开始执行。
3.Task_2执行至激活任务时,Task_1被激活,由于Task_1的优先级高于Task_2,故Task_2被抢占,Task_1开始执行。
4.Task_1直至执行到设置事件,Task_3等待的事件被设置,可以继续执行,由于其优先级最高,于是抢占CPU。
5.Task_3执行完后,Task_1继续执行至任务结束。
6.最后Task_2执行至任务结束。
二、构造出的自动状态机与汽车电控模型任务调度顺序相一致。
根据步骤一的分析结果对于系统中的调度点进行以下处理:
1.对于Alarm1激活Task_3的调度点,在Task_3的自动状态机中Start状态后插入Wait状态,并在状态转移的判断条件中加入T3Active是否成立的判断,表示Task_3对于激活动作的等待,并在激活后把表示激活的变量T3Active设置为未激活。
2.对于Alarm2激活Task_2的调度点的处理同上。
3.对于Task_2执行完Com_5后对Task_1进行激活的调度点的处理,先在Com_5后的转移中加入表示发出信号的Active_Task1,尔后在Task_1自动状态机中增加表示等待的Wait状态并在转移条件中增加表示等待信号的Active_Task1?,表示等待Task_2发出信号。
4.对于Task_3等待Task_1执行完Com_3后设置事件的调度点的处理,先在Task_1自动状态机的Com_3状态的转移中加入表示设置事件的变量Event赋值,然后再Task_3自动状态机中Com_1和Com_2状态之间插入一个Wait状态,并在Wait状态转移的条件中增加对Event事件的设置判断,表示等待Task_1的设置事件,并在完成状态转移后,设置事件Event变量为未设置。
对以上调度点进行处理后得到自动状态机系统,如图4所示。
三、构造出的自动状态机与汽车电控模型资源使用情况相一致。
根据步骤一的分析结果对于系统中的资源使用进行以下处理:
对于系统中的Task_1的Com_4使用了系统资源Data的情况,在Task_1自动状态机的Com_3和Com_4状态之间,插入表示等待的Wait状态,并在Wait的状态转移中加入对于Data使用情况的判断,确认Data处在空闲状态才进行转移,并在转移后增加Data变量,表示系统中使用Data的任务增加。并在Com_4状态的转移中对于Data变量进行自减操作,表示该任务已经使用完毕Data资源,进行资源释放。
对以上资源使用处理后得到自动状态机系统,如图5所示。
如图5所示,展示了汽车电控模型最终产生的自动状态机系统,其中自动状态机Task_1,Task_2,Task_3分别对应Task_1,Task_2,Task_3。自动机Alarm对应系统中的2个Alarm。自动状态机状态转移到顺序如下:
1.Alarm设置了表示自动状态机Task_3激活的数据,Task_3开始转移,Alarm的下一个状态转移设置了表示自动状态机Task_2激活的数据。
2.Task_3转移经过Com_1后再Wait状态开始等待事件,Task_2开始状态转移
3.Task_2经过状态Com_5的转移时设置了表示Task_1激活的数据,Task_1优先级高于Task_2,于是抢占Task_2开始转移
4.Task_1执行经过Com_3的状态转移,设置了表示设置事件的变量Event,高优先级的Task_3又开始抢占Task_1继续状态转移直至转移结束至初始状态
5.剩余优先级较高的Task_1开始状态转移至结束
6.剩余Task_2转移至结束
可以看出构造出的自动状态机系统保留了汽车电控模型的任务调度顺序和系统资源使用情况,适合使用自动状态机工具进行系统验证。
Claims (4)
1、一种基于汽车电控领域模型的自动状态机构造方法,其特征在于该方法的步骤如下:
a)提取汽车电控模型的关键信息,并做相应的自动状态机构造;
b)构造出的自动状态机与汽车电控模型任务调度顺序相一致;
c)构造出的自动状态机与汽车电控模型资源使用情况相一致。
2、根据权利要求1所述的一种基于汽车电控领域模型的自动状态机构造方法,其特征在于:所述的第a)步操作中,根据汽车电控领域模型的内容,为模型中的每个任务分别构造自动状态机,分析汽车电控领域模型的任务调度信息和资源使用情况,并提取包括任务执行优先级和任务激活间隔时间在内的关键数据,计算系统中Alarm任务激活时间的最小公倍数,并为系统中的Alarm构造自动状态机。
3、根据权利要求1所述的一种基于汽车电控领域模型的自动状态机构造方法,其特征在于:所述的第b)步操作中,对于汽车电控模型中包括激活动作,设置事件和等待事件在内的任务调度点,在自动状态机中构造相应的状态,并通过变量控制使得构造出的自动状态机与汽车电控模型的任务调度顺序相一致。
4、根据权利要求1所述的一种基于汽车电控领域模型的自动状态机构造方法,其特征在于:所述的第c)步操作中,分析原模型资源模块的使用情况,并在自动状态机中构造相应的资源获取状态,以保证资源在空闲时才能被相关任务获取,任务才能继续执行,使得构造出的自动状态机与汽车电控模型的资源使用情况相一致。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2008100594184A CN100541362C (zh) | 2008-01-21 | 2008-01-21 | 一种基于汽车电控领域模型的自动状态机构造方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2008100594184A CN100541362C (zh) | 2008-01-21 | 2008-01-21 | 一种基于汽车电控领域模型的自动状态机构造方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101226378A CN101226378A (zh) | 2008-07-23 |
CN100541362C true CN100541362C (zh) | 2009-09-16 |
Family
ID=39858418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2008100594184A Expired - Fee Related CN100541362C (zh) | 2008-01-21 | 2008-01-21 | 一种基于汽车电控领域模型的自动状态机构造方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100541362C (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101846980B (zh) * | 2009-09-01 | 2013-11-13 | 中广核工程有限公司 | 将逻辑图转换为时序图的方法和系统 |
-
2008
- 2008-01-21 CN CNB2008100594184A patent/CN100541362C/zh not_active Expired - Fee Related
Non-Patent Citations (6)
Title |
---|
SmartOSEK操作系统设计和空间优化. 陈威.CNKI-中国优秀硕士论文全文数据库. 2005 |
SmartOSEK操作系统设计和空间优化. 陈威.CNKI-中国优秀硕士论文全文数据库. 2005 * |
四缸汽油发动机电控系统设计及其仿真系统研究. 包生重.CNKI-中国优秀硕士论文全文数据库. 2007 |
四缸汽油发动机电控系统设计及其仿真系统研究. 包生重.CNKI-中国优秀硕士论文全文数据库. 2007 * |
基于模型驱动的汽车电子软件开发方法研究. 杨国青.CNKI-中国博士论文全文数据库. 2007 |
基于模型驱动的汽车电子软件开发方法研究. 杨国青.CNKI-中国博士论文全文数据库. 2007 * |
Also Published As
Publication number | Publication date |
---|---|
CN101226378A (zh) | 2008-07-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101807144B (zh) | 一种前瞻多线程并行执行优化方法 | |
CN1993679B (zh) | 执行计算机程序的方法、操作系统和计算设备 | |
CN108376221A (zh) | 一种基于aadl模型扩展的软件系统安全性验证与评估方法 | |
JP5379862B2 (ja) | シミュレーション方法、システム及びプログラム | |
US9251308B2 (en) | Simulation method, system, and program | |
US20120101791A1 (en) | Controlling simulation systems | |
Fang et al. | Formal model-based test for AUTOSAR multicore RTOS | |
CN104220989A (zh) | 用于识别并且再现多线程程序中并发冲突的方法及系统 | |
CN101216792B (zh) | 实时操作系统的任务管理方法、装置 | |
CN100583047C (zh) | 实时中断与多个进程状态同步的方法 | |
CN104063295B (zh) | 一种多核操作系统可重构容错启动方法 | |
Bortnik et al. | Analyzing a χ model of a turntable system using Spin, CADP and Uppaal | |
CN113421073A (zh) | 在区块链中并发执行交易的方法和装置 | |
CN115061803A (zh) | 一种多核处理系统及其任务调度方法、芯片、存储介质 | |
CN100541362C (zh) | 一种基于汽车电控领域模型的自动状态机构造方法 | |
Herber et al. | Automated conformance evaluation of SystemC designs using timed automata | |
CN110083445B (zh) | 一种基于弱内存一致性的多线程确定性执行方法 | |
Yatake et al. | Model checking of OSEK/VDX OS design model based on environment modeling | |
CN102193835B (zh) | 基于3取2计算机系统的预执行方法 | |
Huang et al. | Investigating time properties of interrupt-driven programs | |
CN111767155A (zh) | 死锁检测方法、装置、设备及计算机可读存储介质 | |
CN101814019B (zh) | 一种前瞻失效的线程识别方法 | |
Meng | Verifying Deadlock-Freedom for Advanced Interconnect Architectures | |
CN103942096B (zh) | 一种数据容错的多线程投机方法 | |
Kazmi et al. | Improved ECU End of Line Testing using Multicore Microcontroller |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090916 Termination date: 20180121 |