Thesis Work, Investigate different backends and runtime environments for ABB control application compiler
ABB
Thesis Work, Investigate different backends and runtime environments for ABB control application compiler
At ABB, we are dedicated to addressing global challenges. Our core values: care, courage, curiosity, and collaboration - combined with a focus on diversity, inclusion, and equal opportunities - are key drivers in our aim to empower everyone to create sustainable solutions. That's our story. Make it your story.
This position reports to
Cluster Manager CION
Your role and responsibilities
Today we compile control applications written in different 1131-languages and use interpreted code to execute the code in our Control Engine. We want to increase execution performance when running the control applications in our control engine. We also need to consider other requirements, as the runtime environment needs to be portable to different OS and hardware. In the future we may also want to use other languages for the control applications, such as for example C and Python. The master thesis shall investigate different possibilities for a more efficient backend when running the code. One way could be to use a known language, such as for example C or Python as the backend and then use 3rd party compilers to create efficient code to the Control Engine. Another way could be to use a virtual runtime environment, such as Web Assembly or Java. We want a prototype for some of the suggestions. (One on code generation and one on Virtual Runtime environment) on a subset of one of the languages. Structure Text might be the easiest language to work with. Details: • 6 months • 30 ECTS, a master thesis • Two students • Location, ABB Malmö for the most part Your responsibilities: • Investigate if C or Python language can be used as a backend language: Investigate how to create the backend from 1131 languages/ Investigate how to create the backend from the interpreter code. • Investigate if LLVM intermediate representation can be used as a backend. • Investigate the alternative to write a specific backend, for example ARM. • Investigate if Web Assembly, Java, Python or LUA could be an alternative. • Explore other alternatives as an addition or instead of our suggestions. • Implement a prototype with a subset of the 1131-language (ST) for some of the alternatives. • Consider how to handle access to variables and other objects. • Suggest pros and cons of the different alternatives.
Qualifications for the role
More about us
Recruiting Manager Marten Svensson, +46 725 88 71 21, will answer your questions. Positions are filled continuously. Apply with your CV, academic transcripts and a cover letter in English. We value people from different backgrounds. Could this be your story? Apply today or visit www.abb.com to read more about us and learn about the impact of our solutions across the globe. #MyABBStory #Li-onsite
At ABB, we are dedicated to addressing global challenges. Our core values: care, courage, curiosity, and collaboration - combined with a focus on diversity, inclusion, and equal opportunities - are key drivers in our aim to empower everyone to create sustainable solutions. That's our story. Make it your story.
This position reports to
Cluster Manager CION
Your role and responsibilities
Today we compile control applications written in different 1131-languages and use interpreted code to execute the code in our Control Engine. We want to increase execution performance when running the control applications in our control engine. We also need to consider other requirements, as the runtime environment needs to be portable to different OS and hardware. In the future we may also want to use other languages for the control applications, such as for example C and Python. The master thesis shall investigate different possibilities for a more efficient backend when running the code. One way could be to use a known language, such as for example C or Python as the backend and then use 3rd party compilers to create efficient code to the Control Engine. Another way could be to use a virtual runtime environment, such as Web Assembly or Java. We want a prototype for some of the suggestions. (One on code generation and one on Virtual Runtime environment) on a subset of one of the languages. Structure Text might be the easiest language to work with. Details: • 6 months • 30 ECTS, a master thesis • Two students • Location, ABB Malmö for the most part Your responsibilities: • Investigate if C or Python language can be used as a backend language: Investigate how to create the backend from 1131 languages/ Investigate how to create the backend from the interpreter code. • Investigate if LLVM intermediate representation can be used as a backend. • Investigate the alternative to write a specific backend, for example ARM. • Investigate if Web Assembly, Java, Python or LUA could be an alternative. • Explore other alternatives as an addition or instead of our suggestions. • Implement a prototype with a subset of the 1131-language (ST) for some of the alternatives. • Consider how to handle access to variables and other objects. • Suggest pros and cons of the different alternatives.
Qualifications for the role
- We are looking for a master student from E, F, D or similar.
- With a good knowledge of programing in different languages
- Knowledge of compiler constructions.
More about us
Recruiting Manager Marten Svensson, +46 725 88 71 21, will answer your questions. Positions are filled continuously. Apply with your CV, academic transcripts and a cover letter in English. We value people from different backgrounds. Could this be your story? Apply today or visit www.abb.com to read more about us and learn about the impact of our solutions across the globe. #MyABBStory #Li-onsite
JOB SUMMARY
Thesis Work, Investigate different backends and runtime environments for ABB control application compilerABB
Malmo
a month ago
N/A
Part-time