Diversely polarized antenna array systems
Author(s)
McVeigh, Andrew
Type
Thesis
Abstract
An extensible application is one which allows functionality to be added, replaced or removed without
requiring the source code of the application to be revealed or modified. The aim is to enable developers
to add features and customise a substantial base application for new requirements, without the direct
involvement of the application creators.
A recurring theme of existing extensibility approaches is that an application must provide pre-planned
extension points to accommodate expected future extensions. This results in a tension between keeping
the architecture simple and potentially inextensible, or providing many predictive extension points that
cannot be guaranteed to cover all future requirements despite best intentions.
The Backbone component model is presented as an architectural approach which addresses these issues.
By augmenting an architecture description language with a small set of constructs for modelling
structural change, extensibility is naturally built into an application as it is elaborated into a compositional
hierarchy. An extension can then restructure any part of the application architecture it builds
on, to meet new requirements.
The key contribution of this work is the consideration of both planned and unplanned extensibility in
a hierarchical component model. A formal specification is given, describing the way that extensions
can alter an architecture, and how extensions can be combined in a way which resolves any structural
conflict.
Tool support is provided by a UML-based modelling workbench and runtime platform, developed from
the specification. Integration with existing implementation components and their subsequent evolution is fully supported.
For evaluation, the model is compared and contrasted with other approaches, specifically plugin architectures
and product lines. Backbone is also used to restructure and extend a mature system. These
studies demonstrate that Backbone supports unplanned extension with the proviso that if existing leaf
components are not granular enough, then some reimplementation may be required.
requiring the source code of the application to be revealed or modified. The aim is to enable developers
to add features and customise a substantial base application for new requirements, without the direct
involvement of the application creators.
A recurring theme of existing extensibility approaches is that an application must provide pre-planned
extension points to accommodate expected future extensions. This results in a tension between keeping
the architecture simple and potentially inextensible, or providing many predictive extension points that
cannot be guaranteed to cover all future requirements despite best intentions.
The Backbone component model is presented as an architectural approach which addresses these issues.
By augmenting an architecture description language with a small set of constructs for modelling
structural change, extensibility is naturally built into an application as it is elaborated into a compositional
hierarchy. An extension can then restructure any part of the application architecture it builds
on, to meet new requirements.
The key contribution of this work is the consideration of both planned and unplanned extensibility in
a hierarchical component model. A formal specification is given, describing the way that extensions
can alter an architecture, and how extensions can be combined in a way which resolves any structural
conflict.
Tool support is provided by a UML-based modelling workbench and runtime platform, developed from
the specification. Integration with existing implementation components and their subsequent evolution is fully supported.
For evaluation, the model is compared and contrasted with other approaches, specifically plugin architectures
and product lines. Backbone is also used to restructure and extend a mature system. These
studies demonstrate that Backbone supports unplanned extension with the proviso that if existing leaf
components are not granular enough, then some reimplementation may be required.
Date Issued
2009-08
Date Awarded
2010-01
Copyright Statement
Attribution NoDerivatives 4.0 International Licence (CC BY-ND)
Advisor
Kramer, Jeff
Magee, Jeff
Creator
McVeigh, Andrew
Publisher Department
Computing
Publisher Institution
Imperial College London
Qualification Level
Doctoral
Qualification Name
Doctor of Philosophy (PhD)