IWR - Simulation and Optimization

Home | Research | Teaching | People | Grants | Open Positions | Internships | Conferences | Publications | Local | Links |
web2

Software Practical

"Design and implementation of a new parser for MUSCOD-II input files using the boost::spirit parser."

Results

This software practical has been successfully completed by Timo Minartz and Markus Breit during summer term 2008.
Dowload presentation slides as PDF.


Description

The optimal control software package MUSCOD-II is driven by small input files colloquially known as 'DAT Files'. These contain a textual description of the setup of the optimal control problem to be solved.

Aim

The aim of this software practical is to redesign and reimplement the DAT file parser in C++. We envision to do so with the help of the boost::spirit parser library. The first goal is to recreate the existing functionality while focussing on improved error checking and validation of the data being read. In a second step, a number of small improvements to the current DAT file syntax shall be implemented.

The boost::spirit library is a well-maintained and extensively documented scanner and parser library. It allows for the formulation of a syntax given in EBNF in terms of C++ functions and operators. Subsequently, a string or file can easily be parsed according to this syntax. The participants' work will focus on designing the grammar and implementing semantic actions, data validation, and error checking.

Focus

Technical. Software design and implementation.

Size of the project

This project is suited for two or three students as an advanced software practical.

Requirements

  • In-depth knowledge of C++ is mandatory to make efficient use of boost::spirit.
  • Familiarity with grammars of formal languages (e.g., enhanced Backus-Naur form, EBNF) or former experience with lexical scanners and syntax parsers (e.g., lexx, yacc, bison) is advantageous.
  • Some knowledge of numerical methods for optimal control of ODE/DAE systems (e.g., from a 'Numerik 1' or 'Numerik 2' lecture given by the SimOpt workgroup) might come in handy.

Further reading

Contact

Dipl.-Math. Christian Kirches
Interdisciplinary Center for Scientific Computing (IWR)
Im Neuenheimer Feld 368
Universität Heidelberg

e-mail: christian.kirches@iwr.uni-heidelberg.de
Room : INF 368 (IWR), R 414


back


[ Top | Home]

Last Modified By: Christian Kirches
Last Update:2021-07-13
Webmaster:
 
© Copyright Universität Heidelberg |  Impressum |  Datenschutzerklärung