Chip manufacturers are rapidly moving towards so-called manycore chips with thousands of independent processors on the same silicon plate. Current programming languages cannot use the full potential power of this new hardware. Keyvan Azadbakht, PhD student at CWI, studied the formal programming language ABS – the Abstract Behavioural Specification – and extended the programming model and analysis techniques. He defended his PhD thesis ‘Asynchronous Programming in the Abstract Behavioural Specification Language’ at Leiden University on 11 December 2019. The results are interesting for, among others, software engineers.
Azadbakht explains: “Mainstream object-oriented languages like Java use multi-threading as a model to scale parallelism and communication on a multicore chip. However, reasoning about the correctness of these multi-threaded programs is notoriously difficult, which can result in software errors. Due to the complexity of balancing work evenly across the cores, this thread model does not help efficient processor use or scalability either”.
CWI extends formal language to improve parallel programming
He adds: “Abstract Behavioural Specification (ABS) is a programming language for designing executable models of parallel and distributed object-oriented systems based on active objects. It enables, for instance, deadlock detection, verification and resource analysis. I extended ABS.”
The research was carried out at the Formal Methods research group at Centrum Wiskunde & Informatica (CWI) in Amsterdam and at LIACS, the Computer Science institute of Leiden University. The current work was fully funded by the EU FP7 FET Upscale project.
- Download the thesis of Keyvan Azadbakht at https://ir.cwi.nl/pub/29119
- The ABS modeling language: http://abs-models.org/
- CWI's Formal methods research group