Thesis proposal – Declarative Programming for Automated Test Equipment
Examensarbete - Gävle
Apply for this jobTitle:
Declarative Programming for Automated Test Equipment
Description of the thesis proposal:
Many test programs for automated test equipment (ATE) of hardware production testing are built imperatively with sequences of actions, measurements and delays.
For high volume products, test time is critical and testing multiple devices in parallel is often required to meet production line throughput. Traditional solutions include just building more stand-alone test equipment, which is expensive, or requiring the test program developer to manage the shared resources (e.g. instruments) manually using synchronization primitives such as mutexes and barriers, which is error prone, possibly inefficient and difficult to debug.
We would like to explore the possibility of writing test programs for automated test equipment declaratively. Where test programs can be written as a high-level set of rules of which measurements need to be performed, which hardware state and resources are required to be available (the prerequisites) for each measurement to be performed.
Leaving the actual scheduling of test sequence to the computer instead of manually by the test developer, could potentially lead to increased parallelism with better utilization of shared resources and decreased test times.
Though test programs often have a simple control flow and are often written from test specifications and criteria which is inherently declarative, there are numerous interesting challenges involved in transforming a specification into a sequence of test steps when working with a stateful system of different hardware. Many hardware state changes also have non-negligible time penalties due to physical characteristics such as charging up capacitors, switching over relay contacts or loading software onto the device under test, which might form prerequisites for certain measurements to be performed.
Furthermore, configuring hardware in an illegal state such as connecting two power supplies together can be dangerous and lead to equipment damage, fire or personal injury, which also makes the predictability of test sequence scheduling important, as well as being able to guarantee before deployment that none of the possible scheduling paths of an automatic scheduler can get the hardware into such illegal states.
An overview of the thesis work would be:
- Suggest a framework for describing a test program declaratively based on rules and prerequisites.
- Explore the automatic scheduling of a declarative test program as a sequence of steps given the available shared hardware resources of the test system.
- Implement a proof of concept using either simulation or real hardware to demonstrate the practicality of the solution.
For a successful thesis work, we believe that the applicants should:
- Have a good understanding of computer science topics such as programming paradigms, familiarity with declarative/functional programming.
- Have a good understanding of parallel programming.
- Be interested in program language theory.
- Have at least a basic understanding and interest in electronics and hardware.
Application:
We look forward to receiving your resume, and preferably, a personal letter in which you explain why you want to write your thesis with Syntronic.
We screen and evaluate applications on an ongoing basis.
Related jobs
Are we your next great career match?
We are a global team of engineers present in eight countries and three continents. Together with our world-leading partners, we create tomorrow's technology in telecom, automotive, industrial, defence, and medtech.