Metadata Foundations for the Life Cycle Management of Software Systems

Mr David Hyland-Wood (2008). Metadata Foundations for the Life Cycle Management of Software Systems PhD Thesis, School of Information Technol and Elec Engineering, The University of Queensland.

       
Attached Files (Some files may be inaccessible until you login with your UQ eSpace credentials)
Name Description MIMEType Size Downloads
n40403821_phd_abstract.pdf Final Thesis Abstract application/pdf 38.60KB 21
n40403821_phd_totalthesis.pdf Final Thesis Lodgement application/pdf 12.12MB 24
Author Mr David Hyland-Wood
Thesis Title Metadata Foundations for the Life Cycle Management of Software Systems
School, Centre or Institute School of Information Technol and Elec Engineering
Institution The University of Queensland
Publication date 2008-07
Thesis type PhD Thesis
Supervisor David Carrington
Simon Kaplan
Total pages 221
Subjects 280000 Information, Computing and Communication Sciences
Formatted abstract Software maintenance is, often by far, the largest portion of the software lifecycle in terms of
both cost and time. Yet, in spite of thirty years of study of the mechanisms and attributes of
maintenance activities, there exist a number of significant open problems in the field: Software still
becomes unmaintainable with time.
Software maintenance failures result in significant economic costs because unmaintainable
systems generally require wholesale replacement. Maintenance failures occur primarily because
software systems and information about them diverge quickly in time. This divergence is typically
a consequence of the loss of coupling between software components and system metadata that
eventually results in an inability to understand or safely modify a system. Accurate documentation
of software systems, long the proposed solution for maintenance problems, is rarely achieved and
even more rarely maintained. Inaccurate documentation may exacerbate maintenance costs when it
misdirects the understanding of maintainers.
This thesis describes an approach for increasing the maintainability of software systems via the
application and maintenance of structured metadata at the source code and project description
levels. The application of specific metadata approaches to software maintenance issues is
suggested for the reduction of economic costs, the facilitation of defect reduction and the assistance
of developers in finding code-level relationships. The vast majority of system metadata (such as
that describing code structure, encoded relationships, metrics and tests) required for maintainability
is shown to be capable of automatic generation from existing sources, thus reducing needs for
human input and likelihood of inaccuracy. Suggestions are made for dealing with metadata relating
to human intention, such as requirements, in a structured and consistent manner.
The history of metadata is traced to illustrate the way metadata has been applied to virtual,
physical and conceptual resources, including software. Best practice approaches for applying
metadata to virtual resources are discussed and compared to the ways in which metadata havehistorically been applied to software. This historical analysis is used to explain and justify a
specific methodological approach and place it in context.
Theories describing the evolution of software systems are in their infancy. In the absence of a
clear understanding of how and why software systems evolve, a means to manage change is
desperately needed.
A methodology is proposed for capturing, describing and using system metadata, coupling it
with information regarding software components, relating it to an ontology of software engineering
concepts and maintaining it over time. Unlike some previous attempts to address the loss of
coupling between software systems and their metadata, the described methodology is based on
standard data representations and may be applied to existing software systems. The methodology is
supportive of distributed development teams and the use of third-party components by its
grounding of terms and mechanisms in the World Wide Web.
Scaling the methodology to the size of the Web required mechanisms to allow the Web’s URL
resolution process to be curated by metadata maintainers. Extensions to the Persistent URL concept
were made as part of this thesis to allow for curation of URL resolutions. A computational
mechanism was defined to allow for the distinction of virtual, physical and conceptual resources
that are identified by HTTP URLs. That mechanism was used to represent different types of
resources in RDF using HTTP URLs while avoiding ambiguities.
The maintenance of system metadata is shown to facilitate understanding and relational
navigation of software systems and thus to forestall maintenance failure. The efficacy of this
approach is demonstrated via a modeling of the methodology and two case studies.
Keyword Software engineering, software maintenance, metadata, digital curation, persistent URL, PURL, ontology, methodology

 
Citation counts: Google Scholar Search Google Scholar
Access Statistics: 662 Abstract Views, 45 File Downloads  -  Detailed Statistics
Created: Fri, 19 Dec 2008, 14:09:16 EST by Mr David Hyland-wood on behalf of Library - Information Access Service