Doctoral Thesis: Runtime System Generation (f/m/div)*
The industrial doctorate at Infineon: Pursue a doctoral degree at a university and gain professional experience simultaneously - an ideal start for your career. Advance your research with us and profit from our vast network of doctoral candidates and the expertise of a university. Mentorship is handled by both professors and dedicated Infineon employees. We are offering a doctoral thesis dealing with Runtime System Generation. More and more semiconductor devices are equipped with at least one processor and the successors of those that have already at least one processor have more of them. Consequently, the software part of the semiconductor R&D effort is growing faster than the effort required to build the hardware. A part of this software is a run time system that manages the execution of various software parts – also called threads – be it to activate them only if some computation is needed or be it to mimic pseudo parallelism. Often these runtime systems are hand coded, even if (embedded) operating systems can used for this task as well. The reason is, that especially in small devices with relatively small processors, the overhead of an OS cannot be afforded. This hand coding of runtime systems is laborious and error prone, since the requirements from software and system side increase with growing functionality. Further, hardware optimization requires continuous adoption as well. This PhD thesis targets the automatic generation of run time systems to reduce the effort by automation and improve quality by consistency. We offer: • Realistic, challenging, and impactful problems • The possibility of putting problems into an overall context • Collaboration with colleagues and teams that is seldom found anywhere in the world in terms of depth and breadth • A potential 3 months research stay at top universities worldwide and/or Europe wide cooperation of experts as part of funded research activities • An Infineon internal PhD community The thesis will be written in cooperation with Technical University Munich and under the supervision of Prof. Dr. Wolfgang Ecker.
The tasks within the thesis will consist of:
- Modeling a runtime system on an abstract level. As a starting point UML activity charts offer to be used. A profile hereof or an own Metamodel may be the further way to go.
- Modeling the involved hardware resources as interrupt controller and timer on an abstract level (a concrete model hereof exists)
- Modeling of power control features of the hardware and of a hardware abstraction mechanism hereof
- Modeling of implementation variants that allow to find the best fitting implementation by doing a pareto search
- Building a generator that automatically builds a runtime system following the model driven architecture approach by involving the already mentioned models
- Support the target languages C, (embedded) C++.and potentially RUST
- Build a software implementation model in order to separate software design and implementation in one of the languages mentioned above. As a specialty, the generator should support genericity in both the design and implementation model in order to support generic code utilizing macros.
The learnings out of the thesis will be:
- Firmware design and implementation, especially run time systems and operating systems
- Methodology of 'code generation' in an industrial environment
- Various Modeling and Abstraction concepts and their implementation
- Comprehensive consideration of hardware/software interactions and ways to find the best split and interaction between both worlds
› …whose interests are scientific research combined with the passion for Infineon’s innovative products and applications.
› …who enjoys working in an industrial environment in combination with an Infineon partner university.
› …who appreciates open communication and the contribution of an international environment.
› …and is thus an excellent candidate for a further academic or industrial career after completion of their thesis.
As the ideal candidate you:
- Graduated in computer engineering, electrical engineering or a related field with very good grades
- Are interested in complex, interdisciplinary and interlinked tasks and should like to solve them together with colleagues
- Possess good presentation skills that help you to present challenging issues clearly and simply
- Are curious and open as well as interested in learning and trying out new things
- Are experienced in metamodeling, (template-based) code generation and/or model-driven architecture
- Possess knowledge in object-oriented programming with languages such as C ++ and Python and embedded programming with C and / or Assembler
- Have good knowledge of digital design and RTL modeling in VHDL and / or (System)Verilog and embedded system architectures
- Have good knowledge of processor and SoC architecture
- Possess very good language skills in English and ideally German