This proposal has been approved and the Eclipse OpenXilEnv project has been created.
Visit the project page for the latest information and development.

Eclipse OpenXilEnv

This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Proposal State
Created
Background

SIL (Software In the Loop) is becoming increasingly important during the embedded software development cycle. At the time, there was no fitting SIL environment available, aiming for the support of the embedded classic software development.

Furthermore, a demand for interconnection of software of different organizations inside the SIL environment was established.

Scope

Eclipse OpenXilEnv provides an environment for creating SIL systems for the Software Defined Vehicle ecosystem. It doesn't specificly base on or supply a pre-defined model. Through its versatile nature it is also possible to use it in a HIL environment.

Why Here?

ZF believes as founding member of the Eclipse SDV community in the principle of sharing software. By allowing others to use and contribute, this will benefit all, including ZF.

A lightweight SIL/HIL environment will be of great use by others developing embedded software functions. We would contribute the environment that supported us with many projects. In return we hope for the contribution from others especially towards achieving better interoperability with other SIL users/systems.

Project Scheduling

First public version of OpenXilEnv available Q4 2023.

Future Work

Interface to CARLA

Extend FMI interface to version 3.0

More virtual networking (automotive ethernet).

Description

Eclipse OpenXilEnv is a lightweight SIL/HIL environment that allows running embedded software functions on a PC without a target platform and compiler.

Eclipse OpenXilEnv will provide a configurable graphical user interface and an API for automation.

Use case scenarios:

  • Software in the Loop
  • Model in the Loop
  • Open Loop
  • Hardware in the Loop
  • Module tests
  • Network tests
  • Complete digital twin test
  • Manual tests
  • Automated tests
  • Rapid prototyping
  • Offline calibration

Some highlights are:

  • Easy integration of the code under test
  • Clean separation in own executables (memory protection) Communication over a network layer
  • Platform independent (Windows/Linux)
  • User interface (Qt) with a lot of display items (text, oscilloscope, tacho, ...),  items for manual intervention (text, slider, knob, ...)  and calibration items for single, curve and map parameters
  • Tree view of all static parameter and variables (debug information)
  • Can be extensively automated with a remote procedure call interface (Python) or a build-in script interpreter
  • GUI less variant exist for automation (Headless Variant)
  • Parallel execution (multi core) of test code 
  • Support of FMUs with FMI2.0 interface (64 and 32 bit)
  • Residual bus simulation of non-existing CAN (FD) bus members
  • Recording and replay in stimulation is possible with text or MDF3 files
  • Debug information parser (dwarf)
  •  A small A2L parser is included for calibration.A XCP over ethernet port to connect a calibration system
  •  Parallel execution (multi core) support with barriers for synchronisation.

OpenXilEnv was developed and maintained at ZF for the last 25 years and used in numerous projects.

Initial Contribution

ZF Friedrichshafen AG has the code ownership and holds the copyright of the intial contribution.

Used third-party libraries and associated licenses:

  • Qt6 Library (LGPL3 License)

optional:

  • pugixml (MIT License)
  • esmini (Mozilla Public License Version 2.0)
Source Repository Type