Due to the increase of multicore processors used in smart phones, game consoles and other computers, parallel programming has become increasingly important. To prevent software errors, concurrent calculations must always exactly be executed in the correct order. This is not easy, because existing programming techniques for enforcing such orders - interaction protocols - are very hard to use. PhD student Sung-Shik Jongmans of Centrum Wiskunde & Informatica and Leiden University investigated a new programming method to simplify this. On 3 March 2016, he graduated with the exceptional predicate 'cum laude' at Leiden University on his dissertation 'Automata-Theoretic Protocol Programming'. His results are interesting for researchers and software engineers.
The researcher explains: "Parallel software consists conceptually of two parts: of 'workers', which perform calculations in succession, and of interaction protocols, which determine who can do what at what time. It is important that this works perfectly. Sometimes parallel software has been running fine for many years but then suddenly crashes after five years due to a certain sequence of calculations. You do not want this to happen, for instance, in an airplane. The programming method that I developed makes it easier for programmers to program and reuse interaction protocols. This improves the quality of parallel software."
For his research Jongmans used formal methods, a mathematical-logical way to describe software to demonstrate the correctness of his method. The researcher developed a new programming language specifically aimed at programming interaction protocols. Programmers can use this new programming language in addition to an existing programming language such as Java. In existing benchmarks of NASA researchers the researcher showed empirically that this approach can lead to software that is as fast as software developed with classical programming techniques, but without the current problems.
The work in this thesis was carried out in the Formal Methods research group at Centrum Wiskunde & Informatica (CWI) and Leiden University, under the auspices of the Research School IPA (Institute for Programming Research and Algorithmics).
Picture: Sung-Shik Jongmans (right) after receiving his PhD degree. Source: Sung-Shik Jongmans.