Formal Verification of Contractual Software Architectures using SPIN
Author(s) -
Mert Özkaya
Publication year - 2015
Publication title -
malaysian journal of computer science
Language(s) - English
Resource type - Journals
SCImago Journal Rank - 0.197
H-Index - 18
ISSN - 0127-9084
DOI - 10.22452/mjcs.vol28no4.4
Subject(s) - computer science , correctness , deadlock , asynchronous communication , software , formal verification , software engineering , programming language , model checking , formal methods , design by contract , component based software engineering , software system , software construction , computer network
Software architectures have become one of the most crucial aspects of software engineering. Software architectures let designers specify systems in terms of components and their relations (i.e., connectors). These components along with their relations can then be verified to check whether their behaviours meet designers’ expectations. XCD is a novel architecture description language, which promotes contractual specification of software architectures and their automated formal verifications in SPIN. XCD allows designers to formally verify their system specifications for a number of properties, i.e., (i) incomplete functional behaviour of components, (ii) wrong use of services operated by system components, (iii) deadlock, (iv) race-conditions, and (v) buffer overflows in the case of asynchronous (i.e., event-based) communications. In addition to these properties, designers can specify their own properties in linear temporal logic and check their correctness. In this paper, I discuss XCD and its support for formal verification of software architectures through a simple shared-data access case study.
Accelerating Research
Robert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom
Address
John Eccles HouseRobert Robinson Avenue,
Oxford Science Park, Oxford
OX4 4GP, United Kingdom