Formalising Executable Specifications of Low-Level Systems

被引:0
|
作者
Torrini, Paolo [1 ]
Nowak, David
Jomaa, Narjes
Cherif, Mohamed Sami
机构
[1] CNRS, CRIStAL, Lille, France
关键词
SHALLOW; DEEP;
D O I
10.1007/978-3-030-03592-1_9
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Formal models of low-level applications rely often on the distinction between executable layer and underlying hardware abstraction. This is also the case for the model of Pip, a separation kernel formalised and verified in Coq using a shallow embedding. DEC is a deeply embedded imperative typed language with primitive recursion and specified in terms of small-step semantics, which we developed in Coq as a reified counterpart of the shallow embedding used for Pip. In this paper, we introduce DEC and its semantics, we present its interpreter based on the type soundness proof and extracted to Haskell, we introduce a Hoare logic to reason about DEC code, and we use this logic to verify properties of Pip as a case study, comparing the new proofs with those based on the shallow embedding. Notably DEC can import shallow specifications as external functions, thus allowing for reuse of the abstract hardware model (DEC can be found at https://github.com/2xs/dec.git [1]).
引用
收藏
页码:155 / 176
页数:22
相关论文
共 50 条
  • [1] Executable specifications of P systems
    Andrei, O
    Ciobanu, G
    Lucanu, D
    [J]. MEMBRANE COMPUTING, 2004, 3365 : 126 - 145
  • [2] FIELD-WIRING SPECIFICATIONS FOR LOW-LEVEL DATA SYSTEMS .2.
    HOWDEN, PF
    [J]. ELECTRONIC ENGINEERING, 1968, 40 (484): : 318 - &
  • [3] FIELD-WIRING SPECIFICATIONS FOR LOW-LEVEL DATA SYSTEMS .I.
    HOWDEN, PF
    [J]. ELECTRONIC ENGINEERING, 1968, 40 (483): : 249 - &
  • [4] Executable Specifications for embedded distributed systems
    Sveda, M
    Vrba, R
    [J]. COMPUTER, 2001, 34 (01) : 138 - 140
  • [5] Petri nets as executable specifications of high-level timed parallel systems
    Pommereau, F
    [J]. COMPUTATIONAL SCIENCE - ICCS 2004, PT 3, PROCEEDINGS, 2004, 3038 : 322 - 330
  • [6] PETRI NETS AS EXECUTABLE SPECIFICATIONS OF HIGH-LEVEL TIMED PARALLEL SYSTEMS
    Pommereau, Franck
    [J]. SCALABLE COMPUTING-PRACTICE AND EXPERIENCE, 2005, 6 (04): : 71 - 81
  • [7] EXECUTABLE SPECIFICATIONS FOR DISTRIBUTED INFORMATION-SYSTEMS
    VANHEE, KM
    SOMERS, LJ
    VOORHOEVE, M
    [J]. INFORMATION SYSTEM CONCEPTS : AN IN-DEPTH ANALYSIS, 1989, : 139 - 156
  • [8] LOW-LEVEL TELEVISION SYSTEMS
    DILLON, JA
    [J]. INSTRUMENTS & CONTROL SYSTEMS, 1972, 45 (03): : 48 - &
  • [9] Executable formal specifications of complex distributed systems with CoreASM
    Farahbod, Roozbeh
    Gervasi, Vincenzo
    Glaesser, Uwe
    [J]. SCIENCE OF COMPUTER PROGRAMMING, 2014, 79 : 23 - 38
  • [10] Executable Specifications for Real-Time Distributed Systems
    Ray, Arnab
    Cleaveland, Rance
    [J]. ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2008, 203 (04) : 3 - 17