No Cover Image

E-Thesis 152 views 48 downloads

Software frameworks for embedding formal specifications and documentation in object oriented programming languages. / Shu Tao

Swansea University Author: Shu Tao

Abstract

This thesis forms part of a project on formally specifying and documenting Object-Oriented programming languages. In particular, this thesis investigates the construction of a generic software framework which can provide a formal specification and documentation model for C# classes including importa...

Full description

Published: 2007
Institution: Swansea University
Degree level: Master of Philosophy
Degree name: M.Phil
URI: https://cronfa.swan.ac.uk/Record/cronfa42302
Tags: Add Tag
No Tags, Be the first to tag this record!
Abstract: This thesis forms part of a project on formally specifying and documenting Object-Oriented programming languages. In particular, this thesis investigates the construction of a generic software framework which can provide a formal specification and documentation model for C# classes including important concepts such as inheritance. Object-oriented languages are promoted for their ability to provide a modular approach to programming, allowing programmers to design classes that perform a common set of tasks that can then be easily reused and expanded upon. The syntax of the public interface of a class itself can and has been documented in a reasonably formal way, the semantics is usually defined simply with natural language. In order to try and solve this problem, we use self-defined utilities to include formal semantics to improve the quality of the documentation. By that means, we can also extract a complete formal specification. Formal specifications and documentations have been proved to be a practical way of modelling and testing specific systems when applied to certain kinds of problem: mainly safety critical applications, where the need for specific mathematical expertise is outweighed by the consequences of system failure. What is lacking at the moment is there are no industrial toolsets to make development using formal specifications faster and easier. It is hard for people to understand and use specifications if they do not know any specification language. At the moment it is generally necessary to have substantial mathematical knowledge of the underlying logics used by the languages. This project is about building a generic toolset which is possible to make the task of producing formal specifications in a reasonable and easier way.
Keywords: Computer science.
College: Faculty of Science and Engineering