Design and implement the document generator for ASML Metrology software components bij ASML


Toon Stage


Background information

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.

Your assignment

There is already a proto-type tool implemented, your tasks will consist of the following:

  • Gather (additional) requirements for the document generator. Design and/or improve its functionality and software architecture.
  • Improve and/or Implement the document generator. Implementation would be in python.
  • Evaluate the performance and benefit of the Tool.
  • Produce a final report and presentation, with future recommendations

Your profile

You are a final year bachelor or a master student in Computer science, Software engineering or related. You are capable of working both independent and cross sectorial, with a proactive approach. You have an analytical mindset and you are a conceptual thinker. Experience with Python and Software Change Management tooling is a must. Furthermore, basic understanding of a Microsoft word document and understanding of software development process is required. Experience with robot framework, Clearquest/Clearcase, Continuous Integration, Behavior Driven Development and/or Domain Specific Language is a pre. This is a graduation internship for 4 to 5 days a week. The start date is asap, with duration of 6 months and up.

Please keep in mind that we can only consider students (who are enrolled at a school during the whole internship period) for our internships and graduation assignments.

What ASML offers

Your internship will be in one of the leading Dutch corporations, gaining valuable experience in a highly dynamic environment. You will receive a monthly internship allowance of 500 euro (maximum), plus a possible housing or travel allowance. In addition, you’ll get expert, practical guidance and the chance to work in and experience a dynamic, innovative team environment.

ASML: Be part of progress

We make machines that make chips – the hearts of the devices that keep us informed, entertained and safe; that improve our quality of life and help to tackle the world’s toughest problems.

We build some of the most amazing machines that you will ever see, and the software to run them. Never satisfied, we measure our performance in units that begin with pico or nano.

We believe we can always do better. We believe the winning idea can come from anyone. We love what we do – not because it’s easy, but because it’s hard.

Students: Getting ready for real-world R&D

Pushing technology further is teamwork, and our R&D team is more than 5,500 people strong, with major sites on three continents. Dozens of diverse, interdisciplinary teams work in parallel to meet a challenging development schedule.

In such an environment, your colleagues may be sitting next door, or they could be thousands of kilometers away in a different country, or even working for a different company.

An internship at ASML is your opportunity to get to know this world of industrial-strength R&D and get a feel for that excites you most. Will you design a part of the machine, or make sure it gets built to the tightest possible specifications? Will you write software that drives the system to its best performance, or work side-by-side with the engineers of our customers in a fab, optimizing a system to the requirements of the customer?