Formal relationships in sequential object systems

<p>Formal specifications describe the behaviour of object-oriented systems precisely, with the intent to capture all properties necessary for correctness. Relationships between objects, and in a broader sense the relationship between whole components, may not be adequately captured by specific...

Full description

Bibliographic Details
Main Author: Kerfoot, E
Other Authors: McKeever, S
Format: Thesis
Language:English
Published: 2010
Subjects:
_version_ 1826275929703317504
author Kerfoot, E
author2 McKeever, S
author_facet McKeever, S
Kerfoot, E
author_sort Kerfoot, E
collection OXFORD
description <p>Formal specifications describe the behaviour of object-oriented systems precisely, with the intent to capture all properties necessary for correctness. Relationships between objects, and in a broader sense the relationship between whole components, may not be adequately captured by specifications. One critical component of specifications having a role in relationships are invariants which define a constraint between multiple objects. If an object's invariant relies on external objects for its conditions, correct operations which abide by their specifications modifying these external objects may violate the constraint. Such an invariant defines a relationship between multiple objects which is unsound since it does not adequately describe the responsibilities which the objects in the relationship have to each other.</p><p> The root cause of this correctness loophole is the failure of specifications to capture such relationships adequately as well as their correctness requirements. This thesis addresses this shortcoming in a number of ways, both for individual objects in a sequential environment, and between concurrent components which are defined as specialized object types. The proposed Colleague Technique [29] defines sound invariants between two object types using classical Design-by-Contract [35] methodologies. Additional invariant conditions introduced through the technique ensure that no correct operation may produce a post-state which does not satisfy all invariants satisfied by the pre-state.</p><p> Relationships between objects, as well as their correct specification and management, are the subjects of this thesis. Those relationships between objects which can be described by invariants are made sound with the Colleague Technique, or the lightweight ownership type system that accompanies it. Behavioural correctness beyond these can be addressed with specifications in a similar manner to sequential systems without concurrency, in particular with the use of runtime assertion checking [11].</p>
first_indexed 2024-03-06T23:06:18Z
format Thesis
id oxford-uuid:63ed35ee-5ad5-4b8f-858d-fe3868700ed0
institution University of Oxford
language English
last_indexed 2024-03-06T23:06:18Z
publishDate 2010
record_format dspace
spelling oxford-uuid:63ed35ee-5ad5-4b8f-858d-fe3868700ed02022-03-26T18:15:54ZFormal relationships in sequential object systemsThesishttp://purl.org/coar/resource_type/c_db06uuid:63ed35ee-5ad5-4b8f-858d-fe3868700ed0Computer science (mathematics)EnglishOxford University Research Archive - Valet2010Kerfoot, EMcKeever, S<p>Formal specifications describe the behaviour of object-oriented systems precisely, with the intent to capture all properties necessary for correctness. Relationships between objects, and in a broader sense the relationship between whole components, may not be adequately captured by specifications. One critical component of specifications having a role in relationships are invariants which define a constraint between multiple objects. If an object's invariant relies on external objects for its conditions, correct operations which abide by their specifications modifying these external objects may violate the constraint. Such an invariant defines a relationship between multiple objects which is unsound since it does not adequately describe the responsibilities which the objects in the relationship have to each other.</p><p> The root cause of this correctness loophole is the failure of specifications to capture such relationships adequately as well as their correctness requirements. This thesis addresses this shortcoming in a number of ways, both for individual objects in a sequential environment, and between concurrent components which are defined as specialized object types. The proposed Colleague Technique [29] defines sound invariants between two object types using classical Design-by-Contract [35] methodologies. Additional invariant conditions introduced through the technique ensure that no correct operation may produce a post-state which does not satisfy all invariants satisfied by the pre-state.</p><p> Relationships between objects, as well as their correct specification and management, are the subjects of this thesis. Those relationships between objects which can be described by invariants are made sound with the Colleague Technique, or the lightweight ownership type system that accompanies it. Behavioural correctness beyond these can be addressed with specifications in a similar manner to sequential systems without concurrency, in particular with the use of runtime assertion checking [11].</p>
spellingShingle Computer science (mathematics)
Kerfoot, E
Formal relationships in sequential object systems
title Formal relationships in sequential object systems
title_full Formal relationships in sequential object systems
title_fullStr Formal relationships in sequential object systems
title_full_unstemmed Formal relationships in sequential object systems
title_short Formal relationships in sequential object systems
title_sort formal relationships in sequential object systems
topic Computer science (mathematics)
work_keys_str_mv AT kerfoote formalrelationshipsinsequentialobjectsystems