University of Limerick
Browse

Verification of mathematical design documents

Download (1.11 MB)
thesis
posted on 2022-10-19, 08:35 authored by Zhiying Liu
The problem to be studied in this thesis is how to verify a set of mathematical design documents in the sense that if each component is implemented correctly, the whole system should work together harmoniously to satisfy the system requirements. In general, a software modular design is often a procedure of 1) decomposition of a complex system into manageable modules that can be developed seperately, 2) specifying and developing each component individually, and 3) combining the components back into a system. The collection of software components that is aimed at finishing a required task together must cooperate with each other through some communication paths. We consider the interconnection description of such a collection of software components as an integral part of a software design. In this thesis, we present an approach to a) describing a network of components, b) checking whether the network is completely connected and whether it is consistent, i.e., whether the components can work together properly, c) determining the behaviour of the network, i.e., what the components will do if they are combined together as described in the network description, and d) checking whether the behavior of the network conforms to the requirements, i.e., if the network behaves as required. We have shown how to determine the behavior of a network of components from the description of the internal structure and the behavioral description of each component, established the conformance relation for checking the correctness of a design, and presented a procedure for checking the consistency and correctness of a set of fully specified components on the basis of their interface descriptions and a description of the way in which the components are connected. Three case studies are presented to illustrate how the approach works. In these case studies, the following steps are included: specifying the system requirements, decomposing the system, describing the behavior of each component, defining their interconnections, followed by a completeness and consistency checking of the component network as well as the derivation of the network behaviour and the correctness checking of this design before investing time in building the components. In the approach developed in this thesis, each component is viewed as a hardware-like device in which the value of an output variable can change instantaneously when input values change and all components operate synchronously rather than in sequence. The connections among components are through shared variables. The behavioural requirements for the software are described by a representation of the relation between the history of input and output values and the current value of the output variables. The behavioural description of the network is derived by using classical relation composition; and the conformance relation is defined using mathematical concepts and standard mathematical logic. Therefore the approach is fully mathematic-based and can be implemented automatically.

History

Degree

  • Doctoral

First supervisor

Lorge Parnas, David

Second supervisor

Fitzgerald, Brian

Note

peer-reviewed

Language

en_US

Department or School

  • Computer Science & Information Systems

Usage metrics

    University of Limerick Theses

    Categories

    No categories selected

    Exports

    RefWorks
    BibTeX
    Ref. manager
    Endnote
    DataCite
    NLM
    DC