The Omnibus language and integrated verification approach

This thesis describes the Omnibus language and its supporting framework of tools. Omnibus is an object-oriented language which is superficially similar to the Java programming language but uses value semantics for objects and incorporates a behavioural interface specification language. Specification...

Full description

Bibliographic Details
Main Author: Wilson, Thomas
Other Authors: Maharaj, Savi : Clark, Robert George
Published: University of Stirling 2007
Subjects:
Online Access:http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.513611
id ndltd-bl.uk-oai-ethos.bl.uk-513611
record_format oai_dc
spelling ndltd-bl.uk-oai-ethos.bl.uk-5136112015-09-03T03:22:03ZThe Omnibus language and integrated verification approachWilson, ThomasMaharaj, Savi : Clark, Robert George2007This thesis describes the Omnibus language and its supporting framework of tools. Omnibus is an object-oriented language which is superficially similar to the Java programming language but uses value semantics for objects and incorporates a behavioural interface specification language. Specifications are defined in terms of a subset of the query functions of the classes for which a frame-condition logic is provided. The language is well suited to the specification of modelling types and can also be used to write implementations. An overview of the language is presented and then specific aspects such as subtleties in the frame-condition logic, the implementation of value semantics and the role of equality are discussed. The challenges of reference semantics are also discussed. The Omnibus language is supported by an integrated verification tool which provides support for three assertion-based verification approaches: run-time assertion checking, extended static checking and full formal verification. The different approaches provide different balances between rigour and ease of use. The Omnibus tool allows these approaches to be used together in different parts of the same project. Guidelines are presented in order to help users avoid conflicts when using the approaches together. The use of the integrated verification approach to meet two key requirements of safe software component reuse, to have clear descriptions and some form of certification, are discussed along with the specialised facilities provided by the Omnibus tool to manage the distribution of components. The principles of the implementation of the tool are described, focussing on the integrated static verifier module that supports both extended static checking and full formal verification through the use of an intermediate logic. The different verification approaches are used to detect and correct a range of errors in a case study carried out using the Omnibus language. The case study is of a library system where copies of books, CDs and DVDs are loaned out to members. The implementation consists of 2278 lines of Omnibus code spread over 15 classes. To allow direct comparison of the different assertion-based verification approaches considered, run-time assertion checking, extended static checking and then full formal verification are applied to the application in its entirety. This directly illustrates the different balances between error coverage and ease-of-use which the approaches offer. Finally, the verification policy system is used to allow the approaches to be used together to verify different parts of the application.005.13assertion-based verification : run-time assertion checking : extended static checking : full formal verification : verification policies : Omnibus : Omnibus (Computer program language) : Computer programs VerificationUniversity of Stirlinghttp://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.513611http://hdl.handle.net/1893/260Electronic Thesis or Dissertation
collection NDLTD
sources NDLTD
topic 005.13
assertion-based verification : run-time assertion checking : extended static checking : full formal verification : verification policies : Omnibus : Omnibus (Computer program language) : Computer programs Verification
spellingShingle 005.13
assertion-based verification : run-time assertion checking : extended static checking : full formal verification : verification policies : Omnibus : Omnibus (Computer program language) : Computer programs Verification
Wilson, Thomas
The Omnibus language and integrated verification approach
description This thesis describes the Omnibus language and its supporting framework of tools. Omnibus is an object-oriented language which is superficially similar to the Java programming language but uses value semantics for objects and incorporates a behavioural interface specification language. Specifications are defined in terms of a subset of the query functions of the classes for which a frame-condition logic is provided. The language is well suited to the specification of modelling types and can also be used to write implementations. An overview of the language is presented and then specific aspects such as subtleties in the frame-condition logic, the implementation of value semantics and the role of equality are discussed. The challenges of reference semantics are also discussed. The Omnibus language is supported by an integrated verification tool which provides support for three assertion-based verification approaches: run-time assertion checking, extended static checking and full formal verification. The different approaches provide different balances between rigour and ease of use. The Omnibus tool allows these approaches to be used together in different parts of the same project. Guidelines are presented in order to help users avoid conflicts when using the approaches together. The use of the integrated verification approach to meet two key requirements of safe software component reuse, to have clear descriptions and some form of certification, are discussed along with the specialised facilities provided by the Omnibus tool to manage the distribution of components. The principles of the implementation of the tool are described, focussing on the integrated static verifier module that supports both extended static checking and full formal verification through the use of an intermediate logic. The different verification approaches are used to detect and correct a range of errors in a case study carried out using the Omnibus language. The case study is of a library system where copies of books, CDs and DVDs are loaned out to members. The implementation consists of 2278 lines of Omnibus code spread over 15 classes. To allow direct comparison of the different assertion-based verification approaches considered, run-time assertion checking, extended static checking and then full formal verification are applied to the application in its entirety. This directly illustrates the different balances between error coverage and ease-of-use which the approaches offer. Finally, the verification policy system is used to allow the approaches to be used together to verify different parts of the application.
author2 Maharaj, Savi : Clark, Robert George
author_facet Maharaj, Savi : Clark, Robert George
Wilson, Thomas
author Wilson, Thomas
author_sort Wilson, Thomas
title The Omnibus language and integrated verification approach
title_short The Omnibus language and integrated verification approach
title_full The Omnibus language and integrated verification approach
title_fullStr The Omnibus language and integrated verification approach
title_full_unstemmed The Omnibus language and integrated verification approach
title_sort omnibus language and integrated verification approach
publisher University of Stirling
publishDate 2007
url http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.513611
work_keys_str_mv AT wilsonthomas theomnibuslanguageandintegratedverificationapproach
AT wilsonthomas omnibuslanguageandintegratedverificationapproach
_version_ 1716818008318410752