Afstudeeropdracht: Instrument Driver Generator

Afstudeeropdracht: Instrument Driver Generator

  • Afstuderen
  • Zwolle

Site Salland Engineering

Salland develops instruments for benchtop setups. Often these instruments are a card in a PXI rack.
Examples are power supplies meant to power 16 or more devices. Another example is a pin measurement module, to measure voltage and/or current for integrated circuits under test.

Each instrument needs a driver that provides an API (Application Programming Interface).
Creating the driver may take from half a year up to a year, depending on the complexity of the instrument. Salland is looking for ways to automate the process, with the clear objective of reducing the time needed to develop a driver.

The SW team works with the scrum methodology. During the assignment you will have your own tasks, but you will participate in the scrum meetings.

With this assignment you will get a good impression of how it is to work in a high-tech creative company
like Salland Engineering and learn new skills. We hope with this assignment we will challenge you to come up with new creative ideas that will make this assignment a success for the both of us.

Opdracht:
Reduce time to develop an instrument driver

Technical Background:
Our instruments are high-end instruments that excel in the market.
FPGAs are used to reach a high speed in combination with high parallelism. The instrument drivers
communicate directly with the FPGA often in a register-based way. This implies that the driver must
perform some kind of register mapping.

In the requirements phase an API is established, together with parameters. Each parameter will have
valid/invalid values or ranges. Each parameter will need checking.
Another part of each driver is communication. The driver runs on a host computer and needs to
communicate with the test rack via USB, Ethernet, etc.

The software developer must do similar tasks repeatedly for each API call, so we are looking for ways to
automate the process.

Tasks:
Your task is to create a code generator that, if possible, generates a complete driver, including automated
tests. The level of automation that can be reached is part of the analysis phase.
From developers we know that the following tasks take a lot of time:

  • Adding parameter checking for each parameter in each API call
  • Creating unit tests

If it is not possible to generate all the code, then these items must have focus.
An existing driver can be used to redo with the new generator. That makes it easier to compare the new
output against the existing and you can test the generated driver on real hardware.

Phasing

  1. Analyze the structure of existing drivers
  2. Analyze code generation alternatives
  3. Establish formal specifications that can serve as input for a generator
  4. Develop a code generator

Decision-making space for technical choices:

The code generator must match with programming languages and tooling at Salland. This limits the
programming platform to .NET. Salland uses Visual Studio Professional.

You can select any framework or library necessary, providing it is allowed in commercial software.
This also applies to test-tooling.

Deliverables:

  • Design documents, documenting requirements, and alternative strategies.
  • Software module, implementation of the code generator.
  • User manual, showing how to use it on the next driver project.

What do we expect from you?
We vinden het belangrijk dat je een bovengemiddelde interesse toont voor ICT en elektronica en dat je een relevante opleiding doet. Daarnaast vinden we oplossingsgerichtheid, analytisch denk en teamspirit belangrijke factoren om je afstudeeropdracht tot een succes te maken.

We bieden je de ruimte om met ons mee te denken en stellen jouw mening en kritische blik zeer op prijs. Daarmee creëren we bij Salland Engineering een veilige omgeving om jezelf te ontwikkelen.

What do we offer?

  • Goede begeleiding van ervaren collega’s;
  • Interessante materie en internationale contacten;
  • Moderne omgeving met goede faciliteiten;
  • Vergoeding van € 400 per maand;
  • Vers fruit in ons bedrijfsrestaurant;
  • Uitzicht op een baan.

Kan je niet wachten om te beginnen? Reageer dan vandaag nog! We zullen zo spoedig mogelijk contact met je opnemen om de mogelijkheden te bespreken.

Om op deze vacature te solliciteren bezoek je bit.ly.

To top