
Internship | Improving performance of controller synthesis by improved symbolic
About this position
Supervisory controller synthesis is a technique for automatically computing correct-by-construction supervisory controllers for cyber-physical systems. Supervisory controllers orchestrate system resources to work together in a safe and correct way. Synthesis is computationally intensive since all possible system behaviors need to be explored. This exploration is therefore done symbolically, by using algorithms operating on Binary Decision Diagram (BDD) representations of the search spaces. By improving these BDD representations and the symbolic search algorithms operating on them, the scalability and efficiency of synthesis can be significantly increased, making it easier for industrial engineers to apply the approach.
What will be your role?
Currently, we are investigating and implementing improved decision diagram representations and symbolic search algorithms. You will help us in this investigation and in the implementation. In particular, you will help investigate how to maximize scalability (e.g., by parallelizing the BDD operations and by optimizing memory usage), will help implement and validate new symbolic search algorithms, and connect them to Eclipse ESCET, the open-source Eclipse Supervisory Control Engineering Toolkit.
Concretely, this amounts to the following:
- Read state-of-the-art articles on decision diagram representations and symbolic search algorithms.
- Implement and validate new symbolic search algorithms and BDD representations in Java.
- Connect the new algorithms and data structures to Eclipse ESCET.
- Validate these new representations and algorithms on various examples, and compare their performance and scalability to the current algorithms of Eclipse ESCET.
- Report on the new algorithms and data structures, and on their performance.
What we expect from you
- Master student in computer science or a related field;
- Basic knowledge of algorithms and data structures;
- Affinity for formal methods and model-based development;
- Experience in software development, ideally in Java;
- Proficient in speaking and writing English;
- A team player, but also capable of working independently;
- Has an open and enthusiastic attitude.
What you'll get in return
You want an internship opportunity on the precursor of your career; an internship gives you an opportunity to take a good look at your prospective future employer. TNO goes a step further. It’s not just looking that interests us; you and your knowledge are essential to our innovation. That’s why we attach a great deal of value to your personal and professional development. You will, of course, be properly supervised during your work placement and be given the scope for you to get the best out of yourself. Furthermore, we provide:
- A highly professional, innovative internship environment, within a team of top experts.
- A suitable internship allowance (615 euro for wo-, hbo- and mbo-students, for a full-time internship).
- Possibility of eight hours of free leave per internship month (for a full-time internship).
- A free membership of Jong TNO, where you can meet other TNO professionals and join several activities, such as sports activities, (work-related) courses or the yearly ski-trip.
- Use of a laptop.
- An allowance for travel expenses in case you don’t receive an OV-card.
TNO as an employer
At TNO, we innovate for a healthier, safer and more sustainable life. And for a strong economy. Since 1932, we have been making knowledge and technology available for the common good. We find each other in wonder and ingenuity. We are driven to push boundaries. There is all the space and support for your talent and ambition. You work with people who will challenge you: who inspire you and want to learn from you. Our state-of-the-art facilities are there to realize your vision. What you do at TNO matters: impact makes the difference. Because with every innovation you contribute to tomorrow’s world. Read more about TNO as an employer.
At TNO we encourage an inclusive work environment, where you can be yourself. Whatever your story and whatever unique qualities you bring to the table. It is by combining our unique strengths and perspectives that we are able to develop innovations that make a real difference in society. Want to know more? Read what steps we are taking in the area of diversity and inclusion.
The selection process
After the first CV selection, the application process will be conducted by the concerning department. TNO will provide a suitable internship agreement. If you have any questions about this vacancy, you can contact the contact person mentioned below.
Important to be aware of before applying:
- Before the start of the internship, the internship agreement from TNO needs to be signed. For students at a college or university based in the Netherlands, TNO uses the UNL-template (supplemented with a number of specific agreements from TNO). For students of foreign and MBO educational institutions, the TNO internship agreement applies. TNO does not sign any other internship agreements.
- Before the start of the internship, the educational institution will need to confirm in writing that:
- 1) you are enrolled at the educational institution during the internship, and;
- 2) the internship takes place as part of the programme of the study.
- The confirmation of educational institution takes place by signing the UNL template or forms prepared by TNO.
- Interns at TNO must be in possession of a Dutch residential address at the start of the internship. Performance of internship activities from abroad is not possible.
Has this job opening sparked your interest?
Then we’d like to hear from you! Please contact us for more information about the job or the selection process. To apply, please upload your CV and covering letter using the ‘apply now’ button.