Rigorous code generation for distributed real-time embedded systems

This thesis addresses the problem of generating executable code for distributed embedded systems in which computing nodes communicate using the Controller Area Network (CAN). CAN is the dominant network in automotive and factory control systems and is becoming increasingly popular in robotic, medica...

Full description

Bibliographic Details
Main Author: Almohammad, Ali
Other Authors: Kendall, David; Henderson, William
Published: Northumbria University 2013
Subjects:
620
Online Access:http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.588280
id ndltd-bl.uk-oai-ethos.bl.uk-588280
record_format oai_dc
spelling ndltd-bl.uk-oai-ethos.bl.uk-5882802015-12-03T03:21:12ZRigorous code generation for distributed real-time embedded systemsAlmohammad, AliKendall, David; Henderson, William2013This thesis addresses the problem of generating executable code for distributed embedded systems in which computing nodes communicate using the Controller Area Network (CAN). CAN is the dominant network in automotive and factory control systems and is becoming increasingly popular in robotic, medical and avionics applications. The requirements for functional and temporal reliability in these domains are often stringent, and testing alone may not offer the required level of con dence that systems satisfy their specications. Consequently, there has been considerable research interest in additional techniques for reasoning about the behaviour of CAN-based systems. This thesis proposes a novel approach in which system behaviour is specifed in a high-level language that is syntactically similar to Esterel but which is given a formal semantics by translation to bCANDLE, an asynchronous process calculus. The work developed here shows that bCANDLE systems can be translated automatically, via a common intermediate net representation, not only into executable C code but also into timed automaton models that can be used in the formal verification of a wide range of functional and temporal properties. A rigorous argument is presented that, for any system expressed in the high-level language, its timed automaton model is a conservative approximation of the executable C code, given certain well-defined assumptions about system components. It is shownthat an off-the-shelf model-checker (UPPAAL) can be used to verify system properties with a high-level of confidence that those properties will be exhibited by the executable code. The approach is evaluated by applying it to four representative case studies. Our results show that, for small to medium-sized systems, the generated code is sufficiently efficient for execution on typical hardware and the generated timed automaton model is sufficiently small for analysis within reasonable time and memory constraints.620G400 Computer ScienceNorthumbria Universityhttp://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.588280http://nrl.northumbria.ac.uk/14825/Electronic Thesis or Dissertation
collection NDLTD
sources NDLTD
topic 620
G400 Computer Science
spellingShingle 620
G400 Computer Science
Almohammad, Ali
Rigorous code generation for distributed real-time embedded systems
description This thesis addresses the problem of generating executable code for distributed embedded systems in which computing nodes communicate using the Controller Area Network (CAN). CAN is the dominant network in automotive and factory control systems and is becoming increasingly popular in robotic, medical and avionics applications. The requirements for functional and temporal reliability in these domains are often stringent, and testing alone may not offer the required level of con dence that systems satisfy their specications. Consequently, there has been considerable research interest in additional techniques for reasoning about the behaviour of CAN-based systems. This thesis proposes a novel approach in which system behaviour is specifed in a high-level language that is syntactically similar to Esterel but which is given a formal semantics by translation to bCANDLE, an asynchronous process calculus. The work developed here shows that bCANDLE systems can be translated automatically, via a common intermediate net representation, not only into executable C code but also into timed automaton models that can be used in the formal verification of a wide range of functional and temporal properties. A rigorous argument is presented that, for any system expressed in the high-level language, its timed automaton model is a conservative approximation of the executable C code, given certain well-defined assumptions about system components. It is shownthat an off-the-shelf model-checker (UPPAAL) can be used to verify system properties with a high-level of confidence that those properties will be exhibited by the executable code. The approach is evaluated by applying it to four representative case studies. Our results show that, for small to medium-sized systems, the generated code is sufficiently efficient for execution on typical hardware and the generated timed automaton model is sufficiently small for analysis within reasonable time and memory constraints.
author2 Kendall, David; Henderson, William
author_facet Kendall, David; Henderson, William
Almohammad, Ali
author Almohammad, Ali
author_sort Almohammad, Ali
title Rigorous code generation for distributed real-time embedded systems
title_short Rigorous code generation for distributed real-time embedded systems
title_full Rigorous code generation for distributed real-time embedded systems
title_fullStr Rigorous code generation for distributed real-time embedded systems
title_full_unstemmed Rigorous code generation for distributed real-time embedded systems
title_sort rigorous code generation for distributed real-time embedded systems
publisher Northumbria University
publishDate 2013
url http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.588280
work_keys_str_mv AT almohammadali rigorouscodegenerationfordistributedrealtimeembeddedsystems
_version_ 1718140909236781056