FERAL - Virtual Architecture Development and Evaluation of Software Concepts

FERAL: Virtual Architecture Development and Evaluation of Software Concepts

We are living in a world of embedded systems. These are systems that control physical processes.
An example of such a system is the braking process of a vehicle, which is nowadays supported by a multitude of assistance systems, such as ABS or ESP. With cyber-physical systems – communicating embedded systems that can autonomously adapt to their environment and learn new tasks – the challenges for system developers are growing, which means that the systems must change. This leads to completely new challenges regarding the architecture of these systems.
As there is a lack of experience, the only way to evaluate new architecture concepts is the development of real prototypes. To select the best concepts, however, a great number of prototypes have to be realized. This causes very high costs and long development cycles.
 
Our tool FERAL is a revolutionary solution for the development and evaluation of architecture concepts. Virtual prototypes replace real prototypes by means of simulation and evaluate the impact of new architecture concepts in a cost-efficient manner.

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

© Photo Icons8

Virtual integration with virtual HiL testing

 

  • 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.

Prediction of timing – changed timing if functions are consolidated

 

  • 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.
© Photo Icons8
© Photo Icons8

Interface conformance – correct and conformant interaction

 

  • 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.

Prototyping of software systems & ecosystems

 

  • 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.

 

Image sources: https://icons8.com/

© Photo Icons8

Technology for the Virtual Development 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

Further Information & News

Validating decisions

Does the new system architecture support
your business goals? Will your software
also work on the platforms of the future?
Is it possible to consolidate functions?

 

CeBIT 2017

FERAL – New simulation process makes complex hard- and software compatible