Software development by abstract behavioural specification

Leiden Repository

Software development by abstract behavioural specification

Type: Doctoral Thesis
Title: Software development by abstract behavioural specification
Author: Serbânescu, V.
Issue Date: 2020-06-10
Keywords: Software development
Software modelling
Formal methods
Java
Scala
Coroutines
Cooperative scheduling
High performance computing
Abstract: The development process of any software has become extremely important not just in the IT industry, but in almost every business or domain of research. The effort in making this process quick, efficient, reliable and automated has constantly evolved into a flow that delivers software incrementally based on both the developer's best skills and the end user's feedback. Software modeling and modeling languages have the purpose of facilitating product development by designing correct and reliable applications. The concurrency model of the Abstract Behavioural Specification (ABS) Language with features for asynchronous programming and cooperative scheduling is an important example of how modeling contributes to the reliability and robustness of a product. By abstracting from the implementation details, program complexity and inner workings of libraries, software modeling, and specifically ABS, allow for an easier use of formal analysis techniques and proofs to support product design. However there is still a gap that exists between modeling languages and programming languages with the process of software development often going on two separate paths with respect to modeling and implementation. This potentially introduces errors and doubles the development effort. \par The overall objective of this research is bridging the gap between modeling and programming in order to provide a smooth integration between formal methods and two of the most well-known and used languages for software development, the Java and Scala languages. The research focuses mainly on sequential and highly parallelizable applications, but part of the research also involves some theoretical proposals for distributed systems. It is a first step towards having a programming language with support for formal models.
Promotor: Supervisor: Boer F.S. de Co-Supervisor: Jaghoori M.M.
Faculty: Faculty of Science
University: Leiden University
Handle: http://hdl.handle.net/1887/97598
 

Files in this item

Description Size View
application/pdf Full Text 1.380Mb View/Open
application/pdf Cover 578.7Kb View/Open
application/pdf Title Pages_Contents 228.6Kb View/Open
application/pdf Chapter 1 326.6Kb View/Open
application/pdf Chapter 2 311.1Kb View/Open
application/pdf Chapter 3 318.0Kb View/Open
application/pdf Chapter 4 366.2Kb View/Open
application/pdf Chapter 5 762.1Kb View/Open
application/pdf Chapter 6 336.2Kb View/Open
application/pdf Chapter 7 386.1Kb View/Open
application/pdf Chapter 8 457.7Kb View/Open
application/pdf Chapter 9 190.1Kb View/Open
application/pdf Summary in English 188.0Kb View/Open
application/pdf Summary in Dutch 189.7Kb View/Open
application/pdf Acknowledgements_Curriculum Vitae_Bibliography 291.8Kb View/Open
application/pdf Propositions 166.6Kb View/Open

This item appears in the following Collection(s)