Simulation Framework “FERAL” for Virtual Engineering

Virtual Architecture Development and Assessment

How do you develop and test your software systems? Not only systems that make safety-relevant decisions in an automated manner need to be validated. We are living in a world of embedded systems and complex architectural systems that control physical processes. One example is the braking process of a car, which is nowadays supported by a large number of assistance systems, such as ABS or ESP.

With cyber-physical systems, i.e., communicating embedded systems that can self-adapt to their environment and learn new tasks, the challenges for systems engineers are growing. Hence, systems need to change. This leads to entirely new challenges regarding the architecture of these systems.

In the absence of empirical data, the only means to evaluate new architectural concepts is to build real prototypes. The selection of the best concepts requires the realization of very many prototypes. This causes very high costs and long development cycles.

The Benefits of Virtual Development – FERAL

  • Cost as well as time savings with regard to strategic development and changes of system concepts
  • Early detection of wrong developments
  • Validates decisions with measurable results
  • Integrates the requirements of stakeholders (marketing, developers, users, project managers, etc.) and basic technologies (control devices, networks, etc.)
  • Prevents misunderstandings between stakeholders, architects, and developers
  • Focuses on solution concepts instead of on problems
  • Tests system concepts in the context of defects and attacks (e.g., hacker attacks)

References for FERAL from Industry and Research

Task

 

  • Architecture analysis
  • Response time analysis

 

Software lockstep on consumer processors (ARM)

 

  • Simulates tasks, deployment, runtimes, scheduling
  • Processing times and jitter per task
  • Injected defects during calculation and on bus
  • Evaluates network load, response times, behavior

Remote control of a hydraulic lift (anonymized application)

 

  • Remote control of the safety function via smartphone or Wi-Fi
  • Virtual evaluation of the system- and safety concept prior to implementation
  • Gradual integration of models (specification) and C/C++ code (realization)

Prototype for system architecture

 

  • High-level models similar to UML/SysML
  • Executable and unambiguous
  • Synchronizes different domains

Coordination among developers

 

  • High-level & implementation interfaces
  • Data flows in the system
  • Main features

Refinement and integration

 

  • Change impact analysis
  • Change management support

Business case and requirements

 

  • Charging time of vehicles
  • Activation of participants
  • Delivery times for packages

 

Application concepts

 

  • Application architecture and application functions
  • Main components and interfaces
  • Inclusion of new services and new infrastructure

 

Virtual test bed for applications

  • Evaluation and prediction of performance
  • Based on variables and available services
  • Early evaluation of new concepts

FERAL – Application Areas

FERAL - Virtuelle Integration mit virtuellem HiL-Testen, Fraunhofer IESE
© Icons8
FERAL - Virtuelle Integration mit virtuellem HiL-Testen
  • The integration of software components and systems might lead to unexpected and undesired emergent behavior.
  • FERAL enables virtual integration in order to evaluate emergent behavior. System-wide assurances guarantee the absence of non-conformant behavior. Integration is supported on different levels of abstraction, which include specifications and realizations.

Image sources: https://icons8.com/

Vorhersage des Timings – verändertes Timing, wenn Funktionen konsolidiert werden, Fraunhofer IESE
© Icons8
Vorhersage des Timings – verändertes Timing, wenn Funktionen konsolidiert werden
  • Shifting functions between control units changes the timing. This impacts the timing of other functions, the times at which data are supplied and used, as well as the network communication.
  • FERAL evaluates whether a distributed algorithm is still stable. In a single environment or in all system configurations.

FERAL - Schnittstellenkonformität – korrekte und konforme Interaktion, Fraunhofer IESE
© Icons8
FERAL - Schnittstellenkonformität – korrekte und konforme Interaktion
  • Complex software systems consist of components that are developed independent of each other.
  • Architects and developers assume the existence of interfaces and basic behavior.
  • Informal descriptions lead to misunderstandings. Executable prototypes enable more precise descriptions, which support early and continuous testing of specifications and realizations.
  • FERAL enables continuous conformance testing with component specifications, the simulation of Use Cases and interactions, as well as the mixing of high-level specifications with implementations.

FERAL - Prototyping von Softwaresystemen & Ökosystemen, Fraunhofer IESE
© Icons8
FERAL - Prototyping von Softwaresystemen & Ökosystemen
  • Software ecosystems must fulfill the requirements of numerous stakeholders.
  • The virtual prototypes of FERAL describe the realization of stakeholder requirements. They are integrated with real entities, create virtual development and deployment environments, and enable early testing of concepts and what-if analyses.

Technology for the Virtual Engineering of FERAL

Functional Integration through Simulator Coupling

Holistic simulation of the functional system behavior across tool boundaries

 

  • Evaluation across abstraction levels – joint evaluation of high- and low-level system concepts
  • Automated script-based testing and monitoring of the achieved test coverage
  • System-wide assurances; automatic comparison between actual and expected behavior

Virtual Hardware-in-the-Loop Testing (vHiL)

Simulation of the deployment of functions on (multicore) ECUs (Electronic Control Units)

 

  • Simulates the behavior after deployment (tasks, priorities, scheduling & interrupts, parallelization mechanisms)
  • OSEK-/AUTOSAR-conformant scheduling strategies
  • Virtual sensors and actuators communicate with the simulated environment
  • Existing behavior models do not need to be changed to check the capacity of processor cores and the effects of communication delays by means of vHiL simulations

Inclusion & Evaluation of Target Platform Code

Execution of Functional Networks

A functional network defines

 

  • Functions
  • Ports and information flows
  • FERAL additionally defines the execution semantics

 

 

 

Challenge: The functional network is defined only in part

 

  • Some functions are implemented
  • Some functions have specified behavior
  • Some functions only have names & ports

Incremental Refinement of Functional Networks

Iterative refinement of functions possible

 

  • Interaction occurs in a message-based manner via ports and links
  • Function blocks can get behavior assigned to them

 

Supported behavior models

 

  • UML/SysML: sequences, state machines, activities
  • Java & Groovy, as well as C/C++ code
  • Simulink models

 

The execution of incompletely specified functional networks is supported

 

  • Not specified functions realize situation-dependent default behavior
  • For example, “Filter X should filter this signal” is possible even if the implementation of the function Filter X does not exist yet

Realization

A mixture of differently defined behavior components is possible

 

  • As well as the integration of other existing tools

 

Eclipse-based expert tool

 

  • Uses Groovy-based domain-specific language for configuration
  • Xtext and graphical frontends are planned

Selection of FERAL Simulation Components

Selected projects

Performance parameters of DRAM memories for future automotive systems

Mercedes-Benz AG

Together with TU Kaiserslautern, Fraunhofer IESE developed a measurement platform (DRAMMeasure) for DRAM memories for Mercedes-Benz AG. 

We support you!

With our experience, we would be happy to support you in addressing the ever-increasing complexity of systems more flexibly, faster, and more cost-effectively through virtual engineering and virtual test environments. We will happily collaborate with your engineers to validate decisions, optimize systems, or create something completely new. For customers who want to use virtual prototypes themselves, we provide support in the development of adapted simulation solutions as well as in the implementation of their own concepts for coupling simulators. Do you have any questions about virtual simulation with FERAL? Please contact us!

 

Contact us!

 

In a personal conversation, we will find out together how we can best support you.