FlexSi-Pro is a research project with partners from research institutions and the automation industry. With perspectives from computer networking and automation, the project focusses on innovative approaches for a flexible and secure runtime reconfiguration of field-level factory equipment. One key aspect is the provisioning of a network that can transmit both deterministic and non-deterministic traffic. In this scenario, deterministic traffic needs to be flexibly scheduled by a centralized network controller, and the resulting schedule needs to be translated into a configuration for SDN switches.
Traditionally, deterministic traffic (isochronous real-time traffic) is scheduled beforehand because the calculation is too complex to be done during runtime. With the upcoming TSN standard, we can use a heuristic approach for fast reactions to changed traffic demands.
The advertised position is about the implementation of an SDN controller application realizing our scheduling approach, and administrating a local demonstrator, including the hardware.
The existing SDN/TSN switch must be configured to connect to an SDN controller, and the interfaces
between the controller and the switch must be tested and understood. With a running switch and controller, the implementation of this approach can be tested and evaluated. This includes the following tasks:
- Examine existing hardware, connect it to an SDN controller, understand TSN-specific interfaces
- Implement the proposed scheduling algorithms and develop ways to translate them to the switch configuration
- Develop means to evaluate performance, correctness, and effectiveness of different scheduling approaches with the given hardware.
The FlexSi-Pro project provides a FPGA-based switch (TrustNode). These switches are in an experimental status. Later in the project, we will have remote access to multiple of these switches.
The basic controller application is written in Python, but will interface with other programs for performance-critical tasks.
Good programming knowledge is required (Rust and Python). Some background knowledge in the area of communication networks is advantageous. Special knowledge on SDN is not required.