Systerel disposes a center of competence for the development of embedded, critical and real-time software.

This competence includes most notably:

  • realisation of low-level aspects of complex software
  • realisation of software applications subject to safety requirements
  • bringing algorithms developed in academia to an industrial context
  • reasonable evolution of existing software (including a reverse-engineering process)

Critical software

Critical software must respect requirements for safety analysis, whose development cycle is constrained by specific normative contexts (EN50128, DO178, IEC61508…).
 ..

Systerel offers the necessary processes, techniques and tools to reach the desired software integrity level required by the applicable standards:

  • spatial and temporal separation of functions with different software integrity level
  • redundant, diversified architecture of type 2oo2 or 2oo3
  • development tool chain based on coded monoprocessors
  • formal methods for the verification phase (model-checking – Systerel Smart Solver) or for the conception phase (B)

Embedded software

Systerel’s engineers master the implementation on low level layers:
  • BSP, Drivers, Middleware
  • communication on level 1 and 2 (RS, SPI, I2C, CAN, Ethernet)
  • industrial protocols (CANOpen, ModBus, OPC UA…)
In addition, Systerel possesses expertise in using multi-tasking operating systems and in porting Linux to dedicated embedded target systems.

Real time problem complex

The teams of have experience in implementing synchronous, hard real-time computing (FPGA) and asynchronous computing (ARM microcontrollers, TI, Power PC …).

Our experts master the problem complex of RTOS:

  • priority ordering of tasks
  • task and process synchronisation (IPC)
  • performance optimisation
In order to solve difficult problems with RAM or CPU usage, Systerel offers tools and knowledge to profile the code for diagnose and correction.

 

This expertise is often applied in the adaptation of algorithms coming directly from research, by domain experts with precise knowledge of the physical phenomena. These algorithms are ported following an industrial process using performance optimisation and verification of the results relative to MATLAB models.

Techniques

  • Processors : Motorola 68K series, PowerPC, MPC860, MPC885, Intel 80C5x, Hitachi, DSP Motorola 96K and Texas 320C6x…
  • Embedded or area networks  (Ethernet, FIP, Profibus, CAN, OPC UA…) and the associated software libraries
  • Real-time Kernels: pikeOS, VxWorks, noyau Ada, QNX, MARK from Rational
  • Development toolchains: products from Rational, Atego, Microsoft Visual C++, Borland C++ Builder or free software products for Linux and Windows – Gcc, Gnat, Translators from B to Ada, libraries and BSP constructors
  • Compilers, tools for observation, deployment, simulation and tests

Systerel offers services around several of own products: Systerel Smart Solver, Systerel IXL Builder, Systerel Data Analyzer.

References

  • Secured point and signaling commands for railway (SIL4 EN50128)
  • Odometry software with synchronisation via balises
  • Development of a ring redundant Ethernet protocol (MRP)
  • Secured train driver dashboard (DMI SIL2)
  • Airplane engine monitoring, embedded on OMAP board
  • Porting Linux on dedicated OMAP boards (ARM + DSP)
  • Embedded software for inertial measurement unit for helicopters
  • Secured I/O and CAN drivers in Ada (SIL4 EN50128)
  • Porting a CAN – MVB bridge on Texas Hercules RM48 processors
  • Fault detection algorithm for railway tracks, embedded on IRIS trains

Training

Systerel proposes training for using the C language for critical embedded software development.