Programming safety requirements in the REFLECT design flow

The common approach to include non-functional requirements in tool chains for hardware/software embedded systems requires developers to manually change the software code and/or the hardware, in an error-prone and tedious process. In the REFLECT research project we explore a novel approach where safety requirements are described using an aspect- and strategy-oriented programming language, named LARA, currently under development. The approach considers that the weavers in the tool chain use those safety requirements specified as aspects and strategies to produce final implementations according to specific design patterns. This paper presents our approach including LARA-based examples using an avionics application targeting the FPGA-based embedded systems consisting of a general purpose processor (GPP) coupled to custom computing units.

[1]  K. Chapman SEU Strategies for Virtex-5 Devices , 2010 .

[2]  Peter Öhman,et al.  Implementing Fault Tolerance Using Aspect Oriented Programming , 2007, LADC.

[3]  Gregor Kiczales,et al.  Aspect-oriented programming , 2001, ESEC/FSE-9.

[4]  Johan Karlsson,et al.  Aspect-Oriented Implementation of Fault Tolerance: An Assessment of Overhead , 2010, SAFECOMP.

[5]  J. Brian Burns,et al.  Path planning using Laplace's equation , 1990, Proceedings., IEEE International Conference on Robotics and Automation.

[6]  Torres Wilfredo,et al.  Software Fault Tolerance: A Tutorial , 2000 .

[7]  Wayne Luk,et al.  REFLECT: Rendering FPGAs to Multi-core Embedded Computing , 2011 .

[8]  Joseph D. Gradecki,et al.  Mastering AspectJ: Aspect-Oriented Programming in Java , 2003 .

[9]  Nikolaj Bjørner,et al.  Specifying and Composing Non-functional Requirements in Model-Based Development , 2009, SC@TOOLS.

[10]  João Saraiva,et al.  A domain-specific aspect language for transforming MATLAB programs , 2010 .

[11]  Brian Randell,et al.  Reliability Issues in Computing System Design , 1978, CSUR.

[12]  Kimon P. Valavanis,et al.  Mobile robot navigation in 2-D dynamic environments using an electrostatic potential field , 2000, IEEE Trans. Syst. Man Cybern. Part A.

[13]  Stamatis Vassiliadis,et al.  The MOLEN polymorphic processor , 2004, IEEE Transactions on Computers.

[14]  Wayne Luk,et al.  A New Approach to Control and Guide the Mapping of Computations to FPGAs , 2011 .

[15]  Miguel Toro,et al.  Fault tolerance as an aspect using JReplica , 2001, Proceedings Eighth IEEE Workshop on Future Trends of Distributed Computing Systems. FTDCS 2001.