Technical contact
Mr. Dr. Zain Alabedin Haj Hammadeh
Institute for Software Technology
Phone: +49 531 295-3663
Send message
Vacancy 92907
HR department Braunschweig
Send message
DLR site Braunschweig
To location
DLR Institute for Software Technology
To institute
Rust is a systems programming language designed with a focus on safety and performance. Its memory safety features make it a promising language for developing safety-critical applications, such as those found in aerospace, automotive, and medical devices. Rust achieves this by using a combination of compile-time checks and runtime checks to prevent common programming errors, such as null pointer dereferences and buffer overflows. Unlike traditional object-oriented programming (OOP) languages like Java and C++, Rust is not purely an OOP language. It instead takes a more C-like approach to programming, with a focus on low-level control over memory management and system resources. This approach allows Rust to provide better control over memory usage and prevent common errors that can lead to memory-related bugs.
The Tasking Framework is an open source execution platform that is event-driven and written in C++. The purpose of this framework is to modularize the implementation of space missions and improve reusability. It accomplishes this by providing an execution platform and API for creating applications in the form of a graph of tasks that are connected via channels. The Tasking Framework includes abstract classes with a few virtual methods that are located in the Tasking namespace. The Tasking Framework provides a programming model for creating tasks, which are units of work that can be executed concurrently. Tasks can be created with different priorities and dependencies, allowing for fine-grained control over the execution order and resource utilization of the application. The Tasking Framework also provides a runtime system for scheduling and executing tasks on different hardware architectures, including multicore CPUs.
In this project, you will carry out the following tasks:
Challenges that you may face when reimplementing the Tasking Framework in Rust include adapting to Rust's non-OOP approach to programming, restrictions on the sharing of references, finding alternatives to C++'s virtual methods and inheritance, and addressing potential performance issues due to Rust's focus on safety and runtime checks.
Look forward to a fulfilling job with an employer who appreciates your commitment and supports your personal and professional development. Our unique infrastructure offers you a working environment in which you have unparalleled scope to develop your creative ideas and accomplish your professional objectives. Our human resources policy places great value on a healthy family and work-life-balance as well as equal opportunities for persons of all genders (f/m/x). Individuals with disabilities will be given preferential consideration in the event their qualifications are equivalent to those of other candidates.
Academic Europe, the European career network for Academics, Researchers and Scientists