Using formal reasoning on a model of tasks for FreeRTOS

被引:9
作者
Cheng, Shu [1 ]
Woodcock, Jim [1 ]
D'Souza, Deepak [2 ]
机构
[1] Univ York, Dept Comp Sci, York YO10 5GH, N Yorkshire, England
[2] Indian Inst Sci, Dept Comp Sci & Automat, Bangalore 560012, Karnataka, India
基金
英国工程与自然科学研究理事会;
关键词
Verified software initiative; FreeRTOS; formal verification; Z/Eves; ELECTRONIC PURSE; VERIFIED SOFTWARE; MONDEX; SPECIFICATION; VERIFICATION; SYSTEM;
D O I
10.1007/s00165-014-0308-9
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
FreeRTOS is an open-source real-time microkernel that has a wide community of users. We present the formal specification of the behaviour of the task part of FreeRTOS that deals with the creation, management, and scheduling of tasks using priority-based preemption. Our model is written in the Z notation, and we verify its consistency using the Z/Eves theorem prover. This includes a precise statement of the preconditions for all API commands. This task model forms the basis for three dimensions of further work: (a) the modelling of the rest of the behaviour of queues, time, mutex, and interrupts in FreeRTOS; (b) refinement of the models to code to produce a verified implementation; and (c) extension of the behaviour of FreeRTOS to multi-core architectures. We propose all three dimensions as benchmark challenge problems for Hoare's Verified Software Initiative.
引用
收藏
页码:167 / 192
页数:26
相关论文
共 44 条
[1]  
Andrews Z, 2011, TECHNICAL REPORT SER, V1308
[2]  
Arthan R, 2012, PROOFPOWER
[3]  
Barry R, 2012, FREERTOS REFERENCE M
[4]   An incremental development of the Mondex system in Event-B [J].
Butler, Michael ;
Yadav, Divakar .
FORMAL ASPECTS OF COMPUTING, 2008, 20 (01) :61-77
[5]  
Craig IainD., 2006, Formal Models of Operating System Kernels
[6]  
Craig ID., 2007, FORMAL REFINEMENT OP
[7]  
Déharbe D, 2009, LECT NOTES COMPUT SC, V5902, P101, DOI 10.1007/978-3-642-10452-7_8
[8]  
Egon B, 2009, INFORM ALS DIALOG ZW, P199
[9]  
Ferreira J, 2012, 6 INT S THEOR ASP SO
[10]  
FREITAS L, 2008, FORMAL ASPECTS COMPU, V20