Register now After registration you will be able to apply for this opportunity online.
Two Masters projects at PSI (SCD/LMS): Development of CLI/GUI tools to facilitate workflow construction in AiiDA
In these projects, the student will work on developing CLI/GUI tools that can facilitate workflow construction. This effort will be based on the established AiiDA WorkChain class, as well as the recently developed WorkGraph approach.
Advertised as a workflow management system, the first thing users wish to do with AiiDA is likely define workflows. However, it is workflow construction that is one of the major barriers to using AiiDA, often perceived as overly complex. Though the WorkChain class was designed for robustness, its internal mechanics can be convoluted at times, with instructions, though available, scattered across AiiDA’s documentation. To ease this hurdle, this proposal highlights the need for two equally important projects:
1. A modern CLI tool for AiiDA allowing users to quickly construct and build on existing calculations/workflows directly from the terminal (see the modern Angular CLI for reference [1])
2. A GUI for constructing calculations/workflows allowing users to interactively design new AiiDA components from pre-existing ones (available plugins) in a drag-and-drop fashion, supporting custom scripting where required. User-defined diagrams may then be distilled down to aiida-core components via pre-defined (and perhaps custom defined) parsers. Such a system may rely on currently developed tools/APIs, e.g. the aiida-workgraph plugin [2].
Advertised as a workflow management system, the first thing users wish to do with AiiDA is likely define workflows. However, it is workflow construction that is one of the major barriers to using AiiDA, often perceived as overly complex. Though the WorkChain class was designed for robustness, its internal mechanics can be convoluted at times, with instructions, though available, scattered across AiiDA’s documentation. To ease this hurdle, this proposal highlights the need for two equally important projects:
1. A modern CLI tool for AiiDA allowing users to quickly construct and build on existing calculations/workflows directly from the terminal (see the modern Angular CLI for reference [1]) 2. A GUI for constructing calculations/workflows allowing users to interactively design new AiiDA components from pre-existing ones (available plugins) in a drag-and-drop fashion, supporting custom scripting where required. User-defined diagrams may then be distilled down to aiida-core components via pre-defined (and perhaps custom defined) parsers. Such a system may rely on currently developed tools/APIs, e.g. the aiida-workgraph plugin [2].
- A working knowledge of Python
- A working knowledge of JavaScript (TypeScript knowledge a plus)
- For project 1, prior experience in CLI development
- For project 2, prior experience in GUI development
- A passion for clean, concise, and efficient code/UI/UX
- A working knowledge of Python - A working knowledge of JavaScript (TypeScript knowledge a plus) - For project 1, prior experience in CLI development - For project 2, prior experience in GUI development - A passion for clean, concise, and efficient code/UI/UX
PSI will not provide a stipend during the project; it is expected that you will continue to receive a stipend from your home institution. However, PSI may reimburse expenses (up to 600 CHF/month). For masters students required to complete industry placements as a part of their degree, it may be possible to complete this project as an industry placement. This depends on PSI qualifying as an industrial host according to the masters programme in question. (This is the case for masters students from EPFL; for other institutions please check with your course administrators.) In such cases, PSI will pay a salary.
For more information, please contact Edward Linscott at edward.linscott@psi.ch
For more information, please contact Edward Linscott at edward.linscott@psi.ch