A formal method for semantics-based change-merging of software prototypes

This dissertation addresses the need for a formal method to support the merging of changes in independently developed versions of a prototype in a computer-aided rapid prototyping system. The goal is to provide the prototype developer with the ability to combine independently developed enhancements...

Full description

Bibliographic Details
Main Author: Dampier, David A.
Other Authors: Berzins, Valdis
Language:en_US
Published: Monterey, California. Naval Postgraduate School 2013
Online Access:http://hdl.handle.net/10945/30841
id ndltd-nps.edu-oai-calhoun.nps.edu-10945-30841
record_format oai_dc
spelling ndltd-nps.edu-oai-calhoun.nps.edu-10945-308412014-11-27T16:17:46Z A formal method for semantics-based change-merging of software prototypes Dampier, David A. Berzins, Valdis NA Computer Science This dissertation addresses the need for a formal method to support the merging of changes in independently developed versions of a prototype in a computer-aided rapid prototyping system. The goal is to provide the prototype developer with the ability to combine independently developed enhancements to a prototype, check for consistency, and automatically update all derived versions of a prototype with changes made to the base version. A useful semantics-based method is provided for change-merging that is guaranteed to detect all conflicts. Prototype slicing is used to capture the affected parts of each variation and the preserved part of the base in both variations. We then combine the affected parts with the preserved part using our model, which includes the first use of Brouwerian Algebras to formalize the merging of hard real time constraints. Our Slicing Theorem guarantees that this method produces a prototype that correctly exhibits the significant behavior of each of the input versions, provided the changes do not conflict the method achieves correctness by comparing the slice of the change-merged version with respect to each affected part against the same slice of the appropriate changed version. If the slices are the same, the change-merge is correct, otherwise a diagnostic message results. A preliminary conditional method for change-merging while programs is also provided that is strictly more accurate than previous methods. This dissertation contributes to computer-aided software maintenance by providing a model, algorithm and implementation for an automated change-merging tool for PSDL prototypes. Preliminary testing shows that this tool will enhance the ability of the prototype developer to deliver a prototype in less time by enabling more concurrency in the development effort. 2013-04-26T18:59:04Z 2013-04-26T18:59:04Z 1994-06 Thesis http://hdl.handle.net/10945/30841 en_US This publication is a work of the U.S. Government as defined in Title 17, United States Code, Section 101. As such, it is in the public domain, and under the provisions of Title 17, United States Code, Section 105, it may not be copyrighted. Monterey, California. Naval Postgraduate School
collection NDLTD
language en_US
sources NDLTD
description This dissertation addresses the need for a formal method to support the merging of changes in independently developed versions of a prototype in a computer-aided rapid prototyping system. The goal is to provide the prototype developer with the ability to combine independently developed enhancements to a prototype, check for consistency, and automatically update all derived versions of a prototype with changes made to the base version. A useful semantics-based method is provided for change-merging that is guaranteed to detect all conflicts. Prototype slicing is used to capture the affected parts of each variation and the preserved part of the base in both variations. We then combine the affected parts with the preserved part using our model, which includes the first use of Brouwerian Algebras to formalize the merging of hard real time constraints. Our Slicing Theorem guarantees that this method produces a prototype that correctly exhibits the significant behavior of each of the input versions, provided the changes do not conflict the method achieves correctness by comparing the slice of the change-merged version with respect to each affected part against the same slice of the appropriate changed version. If the slices are the same, the change-merge is correct, otherwise a diagnostic message results. A preliminary conditional method for change-merging while programs is also provided that is strictly more accurate than previous methods. This dissertation contributes to computer-aided software maintenance by providing a model, algorithm and implementation for an automated change-merging tool for PSDL prototypes. Preliminary testing shows that this tool will enhance the ability of the prototype developer to deliver a prototype in less time by enabling more concurrency in the development effort.
author2 Berzins, Valdis
author_facet Berzins, Valdis
Dampier, David A.
author Dampier, David A.
spellingShingle Dampier, David A.
A formal method for semantics-based change-merging of software prototypes
author_sort Dampier, David A.
title A formal method for semantics-based change-merging of software prototypes
title_short A formal method for semantics-based change-merging of software prototypes
title_full A formal method for semantics-based change-merging of software prototypes
title_fullStr A formal method for semantics-based change-merging of software prototypes
title_full_unstemmed A formal method for semantics-based change-merging of software prototypes
title_sort formal method for semantics-based change-merging of software prototypes
publisher Monterey, California. Naval Postgraduate School
publishDate 2013
url http://hdl.handle.net/10945/30841
work_keys_str_mv AT dampierdavida aformalmethodforsemanticsbasedchangemergingofsoftwareprototypes
AT dampierdavida formalmethodforsemanticsbasedchangemergingofsoftwareprototypes
_version_ 1716725111309991936