ASML
Graduation assignment: Design a document generator for ASML Metrology software components
Introduction
This is a graduation assignment for a bachelor or master student in Computer Science who is interested in working in Python to design and implement a tool to automatically generate documents.
Job Mission
Software development in ASML is documented using design documents like EPS, EDS, TPS, and TAR. Writing these documents manually is a time consuming activity and it is difficult to keep them up to date.
Some of these documents can be generated from formally written requirements, test cases and results of auto testers. The Document Generator is an automatic tool that aims at facilitating the auto-generation of design documents.
Commonly used documentation generation tools (e.g. Doxygen) expect their input to be written in a (semi)formal format. Similarly, to automate the generation of EPS and TPS documents, the input requirements and test cases should be specified in a (semi)formal language. Some of the options that are available to specify requirements and test cases formally such as feature files using Gherkin syntax and Gmock based test cases.
Gherkin is a business readable and Domain Specific Language that can be used for documentation and automated testing. A feature (analogues to a requirement) and the associated (unit) testers can be written in one source file commonly known by the name feature file. A minimalistic feature file will contain a “Documentation” section for describing the requirement and one or more test cases to test the specified requirement. The test cases are specified using “Given – When – Then” format. With all these in place, the Document Generator should be able to generate design documents with a click of button.