The development process of software has become extremely important in many business and research domains. To make this process quick, efficient, reliable and automated, software is incrementally based on both the developer's best skills and the end user's feedback. Researcher Vlad-Nicolae Şerbănescu (CWI and LIACS) studied how to improve this by unifying modelling and programming languages in this process. He defended his PhD thesis ‘Software Development by Abstract Behavioural Specification’ at Leiden University on 10 June.
Şerbănescu's research focuses on bridging the gap between modelling and programming in to integrate formal methods and two of the most well-known and used languages for software development, the Java and Scala languages. His results are interesting for software engineers, architects and researchers.
He explains: “Both programming and modelling languages have the purpose of facilitating product development by designing correct and reliable applications. However there is still a gap that exists between the two domains, with the process of software development often going on two separate paths with respect to modelling and implementation. This potentially introduces errors and doubles the development effort. My research allows software development to follow one continuous flow from the beginning to the end of the development cycle”.
The work in this thesis has been carried out as part of the Formal Methods Group at Centrum Wiskunde & Informatica (CWI) in Amsterdam and Leiden Institute of Advanced Computer Science (LIACS) at Leiden University, under supervision of Prof. Frank de Boer and Dr. Mohammad Mahdi Jaghoori. This research was supported by the European projects FP7-610582 ENVISAGE (Engineering Virtualized Services) and FP7-612985 UPSCALE (From Inherent Concurrency to Massive Parallelism through Type-based Optimizations).