Develop and Test Software of Distributed Systems with CANoe4SW
CANoe4SW is the comprehensive tool for development, test, and analysis of software in cyber physical systems — individual software components as well as subsystems and entire distributed systems. CANoe4SW supports software developers and testers in all markets (medical, railway, automotive, …) throughout the entire development process of distributed systems and IoT devices. Virtual execution environments on the computer, in virtual machines, or in the cloud enable software to be tested for any targeted OS based on Windows or Linux, e.g., Ubuntu, CentOS, SUSE.
The System Under Test is accessed by its functional system interfaces at a pure software level. This enables early “black-box” SIL testing independently of hardware availability. CANoe4SW integrates seamlessly in CI/CT environments.
In addition, the support of connectivity protocols such as MQTT provides access to IoT devices and back end software running in the cloud.
Advantages
- Interactively develop and test distributed systems
- Easily automate tests to ensure quality at a system-level
- Divide and conquer the system
by isolating single components using models for both physical and software environments - Test early in the development process
by utilizing virtual execution environments - Cover dynamic aspects of the software under test
by stimulating and monitoring value curves over time - Simulate failure scenarios
not easy to be covered in real environments, e.g. downtime of cloud services - Utilize CI/CT environments
right from the beginning by being independent of hardware and other software components
Application Areas
Monitoring over Time

Monitoring over time fully integrated software components: Run your software under test asynchronously in virtual execution environments. Observe dynamic aspects while stimulating the application via its functional system interfaces at a software level.
Environment Simulation

Environment simulation by models: Build a “natural ecosystem” for your software under test. Simulate both physical and software environments. Test single software components in isolation before integrating into subsystems.
Interactive Development and Test

Interactive development and test in an exploratory way: Stimulate the software under test using panels, waveform generators, and scripts. Analyze the reaction of your application and value relations via graphical and text-based analysis windows.
Automated Testing

Automated testing with the test design tool vTESTstudio: Leverage the flexibility of various test design methods such as graphical diagrams and tabular sequences. Benefit from flexible parametrization concepts and universal variant support. Ensure traceability from requirements to test cases and results.
Debugging

Debugging on the host: Profit from the power to debug in the development environment rather than on the target. Observe application behavior, view and modify internal variables, watch call stacks, etc. while stimulating the application via interactive or automated tests.
Highlights Version 16
- Connectivity Extensions
Extension of the Connectivity Feature Set by the support of HTTP (to call e.g., REST APIs) and the support of webhooks to connect to cloud systems.
- Test Implementation in Python
Using vTESTstudio 7, tests can be implemented in Python as well.
- Debugging Plug-Ins
Plug-ins for Visual Studio and VS Code support the coupling of the IDE debugger with CANoe4SW (break, continue, step,…). Watch expressions are transferred to CANoe4SW for a deep analysis.
- SIL Tests in CI/CT and DevOps
New workflow supported to create a SIL Adapter in DevOps or CI pipelines. Use the CLI utility "sil-adapter-builder" to automatically create a SIL Adapter in the CI or directly in the build system of your SUT.
- Explainable AI
A demonstrator is available to show the testing of software with AI components (object detector). The results are displayed, evaluated, and explained in an AI specific analysis window.
Test of IoT Applications
Connectivity Feature Set for IoT
The "Connectivity Feature Set" for CANoe4SW allows you to access your System Under Test (SUT) as follows:
- via a back-end using CANoe Connectivity Hub or
- via the interface hardwareVH4110 (IoT Enabler).
Your SUT can be a real device or pure software, e.g. in a virtual environment.
Interfaces to 3rd-Party Tools
Open Environment
CANoe4SW supports the integration of other tools via open interfaces and various well-established standards.
An interface to MATLAB/Simulink enables model in the loop tests as well as the simulation of MATLAB models. FMI (Functional Mock-up Interface) is as a tool-independent standard to exchange models or to establish tool couplings.
Open APIs allow 3rd-party tools to exchange simulation values with CANoe4SW and to control the overall simulation as well as the automated test execution.
The integration with various test management systems ensures traceability from requirements and test specifications to test cases and test results.
Supported Software
Platforms, Programming Languages, and Protocols
Any Windows or Linux based platform is supported. The software under test can be executed on the same PC as CANoe4SW, a virtual machine or a remote host. The supported programming languages are currently C, C++ and Python.
The MQTT and HTTP protocols allow access to IoT devices and back-end software running in the cloud. Further protocols (e.g. DDS) are planned.
Server Environments
Continuous Integration and Test
Automated tests with CANoe4SW can easily be integrated into continuous integration and test environments using CANoe4SW Server Edition. CANoe4SW Server Edition is the virtual runtime for simulating and testing in a server environment under Windows or Linux.
MIL, SIL, HIL
Seamless Integration Into the Development Process
System setups and tests created with CANoe4SW can seamlessly be re-used in CANoe for hardware/software integration tests and system validation. This allows a consistent development and testing tool chain for MIL, SIL and HIL. The feature set of CANoe4SW is also available to all CANoe users. For further details please refer to CANoe.
Code Coverage
Change-Based Testing
The seamless integration of CANoe4SW and VectorCAST/QA enables automatic measurement of code coverage during system level tests in virtual environments. Untested portions of the application can quickly be identified. Using this data VectorCAST/QA additionally identifies correlations between tests and code. As the code changes, it automatically computes the minimum set of tests required to provide complete testing of the change.
Product Descriptions
- Short overview of facts (PDF)
Here you will find the system requirements for the current version of CANoe4SW and information about which operating systems this version is compatible with.
Component | Recommendation | Minimum |
---|---|---|
CPU | Intel compatible Core i7 or comparable ≥ 3 GHz ≥ 4 cores | Intel compatible 2 GHz 2 cores |
CANoe4SW benefits from higher clock rates rather than higher number of cores. | ||
Memory (RAM) | ≥ 32 GB | 8 GB |
Hard disk space | ≥ 20 GB SSD/NVMe | 8 GB HD/SSD |
Depending on the options used and the operating system components. | ||
Screen resolution | Full HD | 1280×1024 pixels |
Operating system* | Windows 10 64 bit (≥ version 1803) | Windows 10 64 bit (≥ version 1803) |
* Not virtualized. Running in a virtual machine is possible but not tested. Operation with Vector hardware may be affected by virtualization, e.g., higher latencies may occur.
- Further information on future support of operating systems and further technical know-how you will find in our KnowledgeBase.