<?xml version="1.0" encoding="UTF-8"?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns="http://purl.org/rss/1.0/" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel rdf:about="http://hdl.handle.net/10023/59">
    <title>DSpace Collection:</title>
    <link>http://hdl.handle.net/10023/59</link>
    <description />
    <items>
      <rdf:Seq>
        <rdf:li rdf:resource="http://hdl.handle.net/10023/3503" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/3486" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/3332" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/3272" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/3175" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/3155" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/3066" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/3057" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/3055" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2761" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2607" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2449" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2438" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2437" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2436" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2426" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2415" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2411" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2037" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2036" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2034" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2033" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2032" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2027" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2023" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2022" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2020" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2019" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2018" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2017" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2016" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2014" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2013" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2011" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2010" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/2000" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1967" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1812" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1811" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1810" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1809" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1808" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1807" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1806" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1804" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1803" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1798" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1797" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1796" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1795" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1794" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1793" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1792" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1791" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1790" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1789" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1788" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1787" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1786" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1785" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1784" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1768" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1761" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1760" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1759" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1758" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1745" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1744" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1743" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1742" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1741" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1740" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1739" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1738" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1737" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1736" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1735" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1734" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1733" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1732" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1731" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1730" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1729" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1728" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1727" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1726" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1725" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1724" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1722" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1721" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1711" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1683" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1675" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1671" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1670" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1669" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1668" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1667" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1666" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1665" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1664" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1663" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1661" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1660" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1659" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1658" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1657" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1656" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1655" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1654" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1653" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1614" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1596" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1594" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1417" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1130" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1072" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1046" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/1045" />
        <rdf:li rdf:resource="http://hdl.handle.net/10023/702" />
      </rdf:Seq>
    </items>
    <dc:date>2013-05-20T04:43:36Z</dc:date>
  </channel>
  <item rdf:about="http://hdl.handle.net/10023/3503">
    <title>Short and long supports for constraint propagation</title>
    <link>http://hdl.handle.net/10023/3503</link>
    <description>Abstract: Special-purpose constraint propagation algorithms frequently make implicit use of short supports -- by examining a subset of the variables, they can infer support (a justification that a variable-value pair may still form part of an assignment that satisfies the constraint) for all other variables and values and save substantial work -- but short supports have not been studied in their own right. The two main contributions of this paper are the identification of short supports as important for constraint propagation, and the introduction of HaggisGAC, an efficient and effective general purpose propagation algorithm for exploiting short supports. Given the complexity of HaggisGAC, we present it as an optimised version of a simpler algorithm ShortGAC. Although experiments demonstrate the efficiency of ShortGAC compared with other general-purpose propagation algorithms where a compact set of short supports is available, we show theoretically and experimentally that HaggisGAC is even better. We also find that HaggisGAC performs better than GAC-Schema on full-length supports. We also introduce a variant algorithm HaggisGAC-Stable, which is adapted to avoid work on backtracking and in some cases can be faster and have significant reductions in memory use. All the proposed algorithms are excellent for propagating disjunctions of constraints. In all experiments with disjunctions we found our algorithms to be faster than Constructive Or and GAC-Schema by at least an order of magnitude, and up to three orders of magnitude.</description>
    <dc:date>2013-01-01T00:00:00Z</dc:date>
    <dc:creator>Nightingale, Peter</dc:creator>
    <dc:creator>Gent, Ian Philip</dc:creator>
    <dc:creator>Jefferson, Christopher Anthony</dc:creator>
    <dc:creator>Miguel, Ian James</dc:creator>
    <dc:description>Special-purpose constraint propagation algorithms frequently make implicit use of short supports -- by examining a subset of the variables, they can infer support (a justification that a variable-value pair may still form part of an assignment that satisfies the constraint) for all other variables and values and save substantial work -- but short supports have not been studied in their own right. The two main contributions of this paper are the identification of short supports as important for constraint propagation, and the introduction of HaggisGAC, an efficient and effective general purpose propagation algorithm for exploiting short supports. Given the complexity of HaggisGAC, we present it as an optimised version of a simpler algorithm ShortGAC. Although experiments demonstrate the efficiency of ShortGAC compared with other general-purpose propagation algorithms where a compact set of short supports is available, we show theoretically and experimentally that HaggisGAC is even better. We also find that HaggisGAC performs better than GAC-Schema on full-length supports. We also introduce a variant algorithm HaggisGAC-Stable, which is adapted to avoid work on backtracking and in some cases can be faster and have significant reductions in memory use. All the proposed algorithms are excellent for propagating disjunctions of constraints. In all experiments with disjunctions we found our algorithms to be faster than Constructive Or and GAC-Schema by at least an order of magnitude, and up to three orders of magnitude.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/3486">
    <title>Memorability of pre-designed and user-defined gesture sets</title>
    <link>http://hdl.handle.net/10023/3486</link>
    <dc:date>2013-01-01T00:00:00Z</dc:date>
    <dc:creator>Nacenta, Miguel</dc:creator>
    <dc:creator>Kamber, Yemliha</dc:creator>
    <dc:creator>Qiang, Yizhou</dc:creator>
    <dc:creator>Kristensson, Per Ola</dc:creator>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/3332">
    <title>Living history with Open Virtual Worlds : Reconstructing St Andrews Cathedral as a stage for historic narrative</title>
    <link>http://hdl.handle.net/10023/3332</link>
    <description>Abstract: St Andrews Cathedral is located on the East Coast of Scotland, construction started in 1160 and spanned Romanesque and Gothic architectural styles. It was consecrated in 1318, four years after the battle of Bannockburn in the presence of King Robert the Bruce. For several hundred years, the Cathedral was one of the most important religious buildings in Europe and the centre of religious life in Scotland. During the Scottish Reformation, John Knox lead reformers in divesting the Cathedral of much of its finery. Thereafter it fell into disuse and decline. Today the impressive remains only hint at the former glory of this important building. Cultural Heritage encompasses physical aspects such as architecture and artifacts along with less tangible culture such as music, songs and stories. Open virtual worlds offer an extensible collaborative environment for developing historic scenes against the background of which material and ephemeral aspects of cultural heritage associated with a site may be explored through engagement with historic narratives. They offer the potential to reconstruct within a 3D computer environment both the physical structures of the past and important aspects of the light, music and life that once filled those structures. Virtual reconstructions enable scenarios to be created where individual pieces of art can be located and appreciated within the audio, visual and spacial contexts for which they were originally created. Bringing together architecture, sculpture, illumination, stained-glass, music, procession and lighting into a scene which can be explored from multiple spatial perspectives enables holistic experience and appreciation. Historic reconstructions may be created upon virtual stages allowing new and engaging Cultural Heritage perspectives to be accessible to diverse audiences. Through the example of St Andrews Cathedral reconstruction this paper presents an example of Open Virtual Worlds as a technology for supporting the creation and use of virtual reconstructions as a platform that promotes understanding of and engagement with Cultural Heritage. The use contexts discussed range from research based exploration of 3D spaces, to primary schools students using the reconstructions as a backdrop for tag. The digital literacies of the audience and goals of the use case impact on the appropriateness of the user interface. A range of interfaces are explored including games controllers, touch screens, tablets that provide location aware views into the model and hands free gesture control systems.</description>
    <dc:date>2012-12-01T00:00:00Z</dc:date>
    <dc:creator>Kennedy, Sarah</dc:creator>
    <dc:creator>Dow, Lisa</dc:creator>
    <dc:creator>Oliver, Iain Angus</dc:creator>
    <dc:creator>Sweetman, Rebecca Jane</dc:creator>
    <dc:creator>Miller, Alan Henry David</dc:creator>
    <dc:creator>Campbell, Anne</dc:creator>
    <dc:creator>Davies, Christopher John</dc:creator>
    <dc:creator>McCaffery, John Philip</dc:creator>
    <dc:creator>Allison, Colin</dc:creator>
    <dc:creator>Green, Daryl</dc:creator>
    <dc:creator>Luxford, Julian Marcus</dc:creator>
    <dc:creator>Fawcett, Richard</dc:creator>
    <dc:description>St Andrews Cathedral is located on the East Coast of Scotland, construction started in 1160 and spanned Romanesque and Gothic architectural styles. It was consecrated in 1318, four years after the battle of Bannockburn in the presence of King Robert the Bruce. For several hundred years, the Cathedral was one of the most important religious buildings in Europe and the centre of religious life in Scotland. During the Scottish Reformation, John Knox lead reformers in divesting the Cathedral of much of its finery. Thereafter it fell into disuse and decline. Today the impressive remains only hint at the former glory of this important building. Cultural Heritage encompasses physical aspects such as architecture and artifacts along with less tangible culture such as music, songs and stories. Open virtual worlds offer an extensible collaborative environment for developing historic scenes against the background of which material and ephemeral aspects of cultural heritage associated with a site may be explored through engagement with historic narratives. They offer the potential to reconstruct within a 3D computer environment both the physical structures of the past and important aspects of the light, music and life that once filled those structures. Virtual reconstructions enable scenarios to be created where individual pieces of art can be located and appreciated within the audio, visual and spacial contexts for which they were originally created. Bringing together architecture, sculpture, illumination, stained-glass, music, procession and lighting into a scene which can be explored from multiple spatial perspectives enables holistic experience and appreciation. Historic reconstructions may be created upon virtual stages allowing new and engaging Cultural Heritage perspectives to be accessible to diverse audiences. Through the example of St Andrews Cathedral reconstruction this paper presents an example of Open Virtual Worlds as a technology for supporting the creation and use of virtual reconstructions as a platform that promotes understanding of and engagement with Cultural Heritage. The use contexts discussed range from research based exploration of 3D spaces, to primary schools students using the reconstructions as a backdrop for tag. The digital literacies of the audience and goals of the use case impact on the appropriateness of the user interface. A range of interfaces are explored including games controllers, touch screens, tablets that provide location aware views into the model and hands free gesture control systems.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/3272">
    <title>Growing the use of Virtual Worlds in education : an OpenSim perspective</title>
    <link>http://hdl.handle.net/10023/3272</link>
    <description>Abstract: The growth in the range of disciplines that Virtual Worlds support for educational purposes is evidenced by recent applications in the fields of cultural heritage, humanitarian aid, space exploration, virtual laboratories in the physical sciences, archaeology, computer science and coastal geography. This growth is due in part to the flexibility of OpenSim, the open source virtual world platform which by adopting Second Life protocols and norms has created a de facto standard for open virtual worlds that is supported by a growing number of third party open source viewers. Yet while this diversity of use-cases is impressive and Virtual Worlds for open learning are highly popular with lecturers and learners alike immersive education remains an essentially niche activity. This paper identifies functional challenges in terms of Management, Network Infrastructure, the Immersive 3D Web and Programmability that must be addressed to enable the wider adoption of Open Virtual Worlds as a routine learning technology platform. We refer to specific use-cases based on OpenSim and abstract generic requirements which should be met to enable the growth in use of Open Virtual Worlds as a mainstream educational facility. A case study of a deployment to support a formal education curriculum and associated informal learning is used to illustrate key points.</description>
    <dc:date>2012-11-25T00:00:00Z</dc:date>
    <dc:creator>Allison, Colin</dc:creator>
    <dc:creator>Campbell, Anne</dc:creator>
    <dc:creator>Davies, Christopher John</dc:creator>
    <dc:creator>Dow, Lisa</dc:creator>
    <dc:creator>Kennedy, Sarah</dc:creator>
    <dc:creator>McCaffery, John Philip</dc:creator>
    <dc:creator>Miller, Alan Henry David</dc:creator>
    <dc:creator>Oliver, Iain Angus</dc:creator>
    <dc:creator>Perera, Galhenage Indika Udaya Shantha</dc:creator>
    <dc:description>The growth in the range of disciplines that Virtual Worlds support for educational purposes is evidenced by recent applications in the fields of cultural heritage, humanitarian aid, space exploration, virtual laboratories in the physical sciences, archaeology, computer science and coastal geography. This growth is due in part to the flexibility of OpenSim, the open source virtual world platform which by adopting Second Life protocols and norms has created a de facto standard for open virtual worlds that is supported by a growing number of third party open source viewers. Yet while this diversity of use-cases is impressive and Virtual Worlds for open learning are highly popular with lecturers and learners alike immersive education remains an essentially niche activity. This paper identifies functional challenges in terms of Management, Network Infrastructure, the Immersive 3D Web and Programmability that must be addressed to enable the wider adoption of Open Virtual Worlds as a routine learning technology platform. We refer to specific use-cases based on OpenSim and abstract generic requirements which should be met to enable the growth in use of Open Virtual Worlds as a mainstream educational facility. A case study of a deployment to support a formal education curriculum and associated informal learning is used to illustrate key points.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/3175">
    <title>Interfacing Coq + SSReflect with GAP</title>
    <link>http://hdl.handle.net/10023/3175</link>
    <description>Abstract: We report on an extendable implementation of the communication interface connecting Coq proof assistant to the computational algebra system GAP using the Symbolic Computation Software Composability Protocol (SCSCP). It allows Coq to issue OpenMath requests to a local or remote GAP instances and represent server responses as Coq terms.
Description: Presentation slides and preprint both provided by author. Preprint published in Electronic Notes in Theoretical Computer Science: Proceedings of the 9th International Workshop On User Interfaces for Theorem Provers (UITP10).</description>
    <dc:date>2012-09-19T00:00:00Z</dc:date>
    <dc:creator>Komendantsky, Vladimir</dc:creator>
    <dc:creator>Konovalov, Alexander</dc:creator>
    <dc:creator>Linton, Stephen Alexander</dc:creator>
    <dc:description>We report on an extendable implementation of the communication interface connecting Coq proof assistant to the computational algebra system GAP using the Symbolic Computation Software Composability Protocol (SCSCP). It allows Coq to issue OpenMath requests to a local or remote GAP instances and represent server responses as Coq terms.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/3155">
    <title>Large-scale complex IT systems</title>
    <link>http://hdl.handle.net/10023/3155</link>
    <description>Abstract: This paper explores the issues around the construction of large-scale complex systems which are built as 'systems of systems' and suggests that there are fundamental reasons, derived from the inherent complexity in these systems, why our current software engineering methods and techniques cannot be scaled up to cope with the engineering challenges of constructing such systems. It then goes on to propose a research and education agenda for software engineering that identifies the major challenges and issues in the development of large-scale complex, software-intensive systems. Central to this is the notion that we cannot separate software from the socio-technical environment in which it is used.
Description: 12 pages, 2 figures</description>
    <dc:date>2012-07-01T00:00:00Z</dc:date>
    <dc:creator>Sommerville, Ian</dc:creator>
    <dc:creator>Cliff, Dave</dc:creator>
    <dc:creator>Calinescu, Radu</dc:creator>
    <dc:creator>Keen, Justin</dc:creator>
    <dc:creator>Kelly, Tim</dc:creator>
    <dc:creator>Kwiatkowska, Marta</dc:creator>
    <dc:creator>McDermid, John</dc:creator>
    <dc:creator>Paige, Richard</dc:creator>
    <dc:description>This paper explores the issues around the construction of large-scale complex systems which are built as 'systems of systems' and suggests that there are fundamental reasons, derived from the inherent complexity in these systems, why our current software engineering methods and techniques cannot be scaled up to cope with the engineering challenges of constructing such systems. It then goes on to propose a research and education agenda for software engineering that identifies the major challenges and issues in the development of large-scale complex, software-intensive systems. Central to this is the notion that we cannot separate software from the socio-technical environment in which it is used.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/3066">
    <title>Visual ageing of human faces in three dimensions using morphable models and projection to latent structures</title>
    <link>http://hdl.handle.net/10023/3066</link>
    <description>Abstract: We present an approach to synthesising the effects of ageing on human face images using three-dimensional modelling. We extract a set of three dimensional face models from a set of two-dimensional face images by fitting a Morphable Model. We propose a method to age these face models using Partial Least Squares to extract from the data-set those factors most related to ageing. These ageing related factors are used to train an individually weighted linear model. We show that this is an effective means of producing an aged face image and compare this method to two other linear ageing methods for ageing face models. This is demonstrated both quantitatively and with perceptual evaluation using human raters.</description>
    <dc:date>2009-02-01T00:00:00Z</dc:date>
    <dc:creator>Hunter, David William</dc:creator>
    <dc:creator>Tiddeman, Bernard Paul</dc:creator>
    <dc:description>We present an approach to synthesising the effects of ageing on human face images using three-dimensional modelling. We extract a set of three dimensional face models from a set of two-dimensional face images by fitting a Morphable Model. We propose a method to age these face models using Partial Least Squares to extract from the data-set those factors most related to ageing. These ageing related factors are used to train an individually weighted linear model. We show that this is an effective means of producing an aged face image and compare this method to two other linear ageing methods for ageing face models. This is demonstrated both quantitatively and with perceptual evaluation using human raters.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/3057">
    <title>Self-managed distributed mediation networks</title>
    <link>http://hdl.handle.net/10023/3057</link>
    <description>Abstract: A distributed mediation network and method of employing such is provided, having a plurality of different types of network module. Each module has a non-reciprocal path therethrough for network traffic and the distribution of network traffic across the network is managed by an autonomic control plane.</description>
    <dc:date>2008-01-17T00:00:00Z</dc:date>
    <dc:description>A distributed mediation network and method of employing such is provided, having a plurality of different types of network module. Each module has a non-reciprocal path therethrough for network traffic and the distribution of network traffic across the network is managed by an autonomic control plane.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/3055">
    <title>Requirements for educational support tools in Virtual Worlds</title>
    <link>http://hdl.handle.net/10023/3055</link>
    <description>Abstract: Virtual Worlds have been used for online gaming, socialising, business advertising and education. As the educational uses become more sophisticated from early information advertising and teaching resources to simulated laboratory and scenarios, it is necessary to determine requirements for tools and virtual systems to achieve the optimal support possible. This paper discusses the current educational uses of Virtual Worlds and applies this to a set of support requirements derived for an evaluated support tool for learning to program. The result is a layered approach, or checklist, to support learning and evaluation for effective and adaptive online educational support tools including virtual world educational systems.
Description: Paper number 65</description>
    <dc:date>2012-04-18T00:00:00Z</dc:date>
    <dc:creator>Duncan, Ishbel Mary Macdonald</dc:creator>
    <dc:creator>Coull, Natalie, J</dc:creator>
    <dc:description>Virtual Worlds have been used for online gaming, socialising, business advertising and education. As the educational uses become more sophisticated from early information advertising and teaching resources to simulated laboratory and scenarios, it is necessary to determine requirements for tools and virtual systems to achieve the optimal support possible. This paper discusses the current educational uses of Virtual Worlds and applies this to a set of support requirements derived for an evaluated support tool for learning to program. The result is a layered approach, or checklist, to support learning and evaluation for effective and adaptive online educational support tools including virtual world educational systems.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2761">
    <title>Facebook or fakebook? : The effects of simulated mobile applications on simulated mobile networks</title>
    <link>http://hdl.handle.net/10023/2761</link>
    <description>Abstract: The credibility of mobile ad hoc network simulations depends on accurate characterisations of user behaviour, e.g., mobility and application usage. If simulated nodes communicate at different rates to real nodes, or move in an unrealistic fashion, this may have a large impact on the network protocols being simulated and tested. Many future mobile network protocols, however, may also depend on future mobile applications. Different applications may be used at different rates or in different manners. But how can we determine realistic user behaviour for such applications that do not yet exist? One common solution is again simulation, but this time simulation of these future applications. This paper examines differences in user behaviour between a real and simulated mobile social networking application through a user study (n=80). We show that there are distinct differences in privacy behaviour between the real and simulated groups. We then simulate a mobile opportunistic network application using two real-world traces to demonstrate the impact of using real and simulated applications. We find large differences between using real and synthetic models of privacy behaviour, but smaller differences between models derived from the real and simulated applications.
Description: This work was supported by the Engineering and Physical Sciences Research Council [grant number EP/G002606/1].</description>
    <dc:date>2012-01-01T00:00:00Z</dc:date>
    <dc:creator>Parris, Iain Siraj</dc:creator>
    <dc:creator>Ben Abdesslem, Fehmi</dc:creator>
    <dc:creator>Henderson, Tristan</dc:creator>
    <dc:description>The credibility of mobile ad hoc network simulations depends on accurate characterisations of user behaviour, e.g., mobility and application usage. If simulated nodes communicate at different rates to real nodes, or move in an unrealistic fashion, this may have a large impact on the network protocols being simulated and tested. Many future mobile network protocols, however, may also depend on future mobile applications. Different applications may be used at different rates or in different manners. But how can we determine realistic user behaviour for such applications that do not yet exist? One common solution is again simulation, but this time simulation of these future applications. This paper examines differences in user behaviour between a real and simulated mobile social networking application through a user study (n=80). We show that there are distinct differences in privacy behaviour between the real and simulated groups. We then simulate a mobile opportunistic network application using two real-world traces to demonstrate the impact of using real and simulated applications. We find large differences between using real and synthetic models of privacy behaviour, but smaller differences between models derived from the real and simulated applications.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2607">
    <title>Mongoose : throughput redistributing virtual world</title>
    <link>http://hdl.handle.net/10023/2607</link>
    <description>Abstract: Metaverses provide a framework for developing distributed 3D Internet applications where users gain presence through the proxy of an avatar. They offer much of the engagement of on line 3D games but support heterogeneous applications. From the network perspective metaverses are similar to games in that timeliness is important but differ in that their traffic is less regular and requires more bandwidth. The motivation for our study flows from using virtual worlds to support experiential learning and to promote cultural heritage; the applicability of the results is wider. The responsiveness of the system is effected by interactions between avatar activity, application traffic regulation and network conditions. Through measurement and analysis current virtual world traffic regulation is evaluated and compared with Transmission Control Protocol fair rate. The measurement study motivates the design of Mongoose, which adds measurement based packet regulation to open virtual world clients and servers. Mongoose combines isolating distinct functional components with efficient use of network esources and fairness to other traffic.</description>
    <dc:date>2012-08-30T00:00:00Z</dc:date>
    <dc:creator>Oliver, Iain Angus</dc:creator>
    <dc:creator>Miller, Alan Henry David</dc:creator>
    <dc:creator>Allison, Colin</dc:creator>
    <dc:description>Metaverses provide a framework for developing distributed 3D Internet applications where users gain presence through the proxy of an avatar. They offer much of the engagement of on line 3D games but support heterogeneous applications. From the network perspective metaverses are similar to games in that timeliness is important but differ in that their traffic is less regular and requires more bandwidth. The motivation for our study flows from using virtual worlds to support experiential learning and to promote cultural heritage; the applicability of the results is wider. The responsiveness of the system is effected by interactions between avatar activity, application traffic regulation and network conditions. Through measurement and analysis current virtual world traffic regulation is evaluated and compared with Transmission Control Protocol fair rate. The measurement study motivates the design of Mongoose, which adds measurement based packet regulation to open virtual world clients and servers. Mongoose combines isolating distinct functional components with efficient use of network esources and fairness to other traffic.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2449">
    <title>Human ovarian reserve from conception to the menopause</title>
    <link>http://hdl.handle.net/10023/2449</link>
    <description>Abstract: The human ovary contains a fixed number of non-growing follicles (NGFs) established before birth that decline with increasing age culminating in the menopause at 50-51 years. The objective of this study is to model the age-related population of NGFs in the human ovary from conception to menopause. Data were taken from eight separate quantitative histological studies (n = 325) in which NGF populations at known ages from seven weeks post conception to 51 years ( median 32 years) were calculated. The data set was fitted to 20 peak function models, with the results ranked by obtained r(2) correlation coefficient. The highest ranked model was chosen. Our model matches the log-adjusted NGF population from conception to menopause to a five-parameter asymmetric double Gaussian cumulative (ADC) curve (r(2) = 0.81). When restricted to ages up to 25 years, the ADC curve has r(2) = 0.95. We estimate that for 95% of women by the age of 30 years only 12% of their maximum pre-birth NGF population is present and by the age of 40 years only 3% remains. Furthermore, we found that the rate of NGF recruitment towards maturation for most women increases from birth until approximately age 14 years then decreases towards the menopause. To our knowledge, this is the first model of ovarian reserve from conception to menopause. This model allows us to estimate the number of NGFs present in the ovary at any given age, suggests that 81% of the variance in NGF populations is due to age alone, and shows for the first time, to our knowledge, that the rate of NGF recruitment increases from birth to age 14 years then declines with age until menopause. An increased understanding of the dynamics of human ovarian reserve will provide a more scientific basis for fertility counselling for both healthy women and those who have survived gonadotoxic cancer treatments.</description>
    <dc:date>2010-01-27T00:00:00Z</dc:date>
    <dc:creator>Wallace, W. Hamish B.</dc:creator>
    <dc:creator>Kelsey, Tom W</dc:creator>
    <dc:description>The human ovary contains a fixed number of non-growing follicles (NGFs) established before birth that decline with increasing age culminating in the menopause at 50-51 years. The objective of this study is to model the age-related population of NGFs in the human ovary from conception to menopause. Data were taken from eight separate quantitative histological studies (n = 325) in which NGF populations at known ages from seven weeks post conception to 51 years ( median 32 years) were calculated. The data set was fitted to 20 peak function models, with the results ranked by obtained r(2) correlation coefficient. The highest ranked model was chosen. Our model matches the log-adjusted NGF population from conception to menopause to a five-parameter asymmetric double Gaussian cumulative (ADC) curve (r(2) = 0.81). When restricted to ages up to 25 years, the ADC curve has r(2) = 0.95. We estimate that for 95% of women by the age of 30 years only 12% of their maximum pre-birth NGF population is present and by the age of 40 years only 3% remains. Furthermore, we found that the rate of NGF recruitment towards maturation for most women increases from birth until approximately age 14 years then decreases towards the menopause. To our knowledge, this is the first model of ovarian reserve from conception to menopause. This model allows us to estimate the number of NGFs present in the ovary at any given age, suggests that 81% of the variance in NGF populations is due to age alone, and shows for the first time, to our knowledge, that the rate of NGF recruitment increases from birth to age 14 years then declines with age until menopause. An increased understanding of the dynamics of human ovarian reserve will provide a more scientific basis for fertility counselling for both healthy women and those who have survived gonadotoxic cancer treatments.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2438">
    <title>Tree parsing with synchronous tree-adjoining grammars</title>
    <link>http://hdl.handle.net/10023/2438</link>
    <description>Abstract: Restricting the input or the output of a grammar-induced translation to a given set of trees plays an important role in statistical machine translation. The problem for practical systems is to find a compact (and in particular, finite) representation of said restriction. For the class of synchronous tree adjoining grammars, partial solutions to this problem have been described, some being restricted to the unweighted case, some to the monolingual case. We introduce a formulation of this class of grammars which is effectively closed under input and output restrictions to regular tree languages, i.e., the restricted translations can again be represented by grammars. Moreover, we present an algorithm that constructs these grammars for input and output restriction, which is inspired by Earley’s algorithm.</description>
    <dc:date>2011-10-05T00:00:00Z</dc:date>
    <dc:creator>B¨uchse, Matthias</dc:creator>
    <dc:creator>Nederhof, Mark Jan</dc:creator>
    <dc:creator>Vogler, Heiko</dc:creator>
    <dc:description>Restricting the input or the output of a grammar-induced translation to a given set of trees plays an important role in statistical machine translation. The problem for practical systems is to find a compact (and in particular, finite) representation of said restriction. For the class of synchronous tree adjoining grammars, partial solutions to this problem have been described, some being restricted to the unweighted case, some to the monolingual case. We introduce a formulation of this class of grammars which is effectively closed under input and output restrictions to regular tree languages, i.e., the restricted translations can again be represented by grammars. Moreover, we present an algorithm that constructs these grammars for input and output restriction, which is inspired by Earley’s algorithm.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2437">
    <title>Prefix probabilities for linear context-free rewriting systems</title>
    <link>http://hdl.handle.net/10023/2437</link>
    <description>Abstract: We present a novel method for the computation of prefix probabilities for linear context-free rewriting systems. Our approach streamlines previous procedures to compute prefix probabilities for context-free grammars, synchronous context-free grammars and tree adjoining grammars. In addition, the methodology is general enough to be used for a wider range of problems involving, for example, several prefixes.</description>
    <dc:date>2011-10-05T00:00:00Z</dc:date>
    <dc:creator>Nederhof, Mark Jan</dc:creator>
    <dc:creator>Satta, Giorgio</dc:creator>
    <dc:description>We present a novel method for the computation of prefix probabilities for linear context-free rewriting systems. Our approach streamlines previous procedures to compute prefix probabilities for context-free grammars, synchronous context-free grammars and tree adjoining grammars. In addition, the methodology is general enough to be used for a wider range of problems involving, for example, several prefixes.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2436">
    <title>Parsing of partially bracketed structures for parse selection</title>
    <link>http://hdl.handle.net/10023/2436</link>
    <description>Abstract: We consider the problem of parsing a sentence that is partially annotated with information about where phrases start and end. The application domain is interactive parse selection with probabilistic grammars. It is explained that the main obstacle is spurious ambiguity. The proposed solution is first described in terms of appropriately constrained synchronous grammars, and then in terms of a computational model for parsing. Experiments show the feasibility for a practical grammar.</description>
    <dc:date>2011-10-05T00:00:00Z</dc:date>
    <dc:creator>Nederhof, Mark Jan</dc:creator>
    <dc:creator>S´anchez-S´aez, Ricardo</dc:creator>
    <dc:description>We consider the problem of parsing a sentence that is partially annotated with information about where phrases start and end. The application domain is interactive parse selection with probabilistic grammars. It is explained that the main obstacle is spurious ambiguity. The proposed solution is first described in terms of appropriately constrained synchronous grammars, and then in terms of a computational model for parsing. Experiments show the feasibility for a practical grammar.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2426">
    <title>Computation of infix probabilities for probabilistic context-free grammars</title>
    <link>http://hdl.handle.net/10023/2426</link>
    <description>Abstract: The notion of infix probability has been introduced in the literature as a generalization of the notion of prefix (or initial substring) probability, motivated by applications in speech recognition and word error correction. For the case where a probabilistic context-free grammar is used as language model, methods for the computation of infix probabilities have been presented in the literature, based on various simplifying assumptions. Here we present a solution that applies to the problem in its full generality.</description>
    <dc:date>2011-07-01T00:00:00Z</dc:date>
    <dc:creator>Nederhof, Mark Jan</dc:creator>
    <dc:creator>Satta, Giorgio</dc:creator>
    <dc:description>The notion of infix probability has been introduced in the literature as a generalization of the notion of prefix (or initial substring) probability, motivated by applications in speech recognition and word error correction. For the case where a probabilistic context-free grammar is used as language model, methods for the computation of infix probabilities have been presented in the literature, based on various simplifying assumptions. Here we present a solution that applies to the problem in its full generality.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2415">
    <title>Splittability of bilexical context-free grammars is undecidable</title>
    <link>http://hdl.handle.net/10023/2415</link>
    <description>Abstract: Bilexical context-free grammars (2-LCFGs) have proved to be accurate models for statistical natural language parsing. Existing dynamic programming algorithms used to parse sentences under these models have running time of O(|w|^4), where w is the input string. A 2-LCFG is splittable if the left arguments of a lexical head are always independent of the right arguments, and vice versa. When a 2-LCFGs is splittable, parsing time can be asymptotically improved to O(|w|^3). Testing this propertyis therefore of central interest to parsing efficiency. In this article, however, we show the negative result that splittability of 2-LCFGs is undecidable.</description>
    <dc:date>2011-12-01T00:00:00Z</dc:date>
    <dc:creator>Nederhof, Mark Jan</dc:creator>
    <dc:creator>Satta, Giorgio</dc:creator>
    <dc:description>Bilexical context-free grammars (2-LCFGs) have proved to be accurate models for statistical natural language parsing. Existing dynamic programming algorithms used to parse sentences under these models have running time of O(|w|^4), where w is the input string. A 2-LCFG is splittable if the left arguments of a lexical head are always independent of the right arguments, and vice versa. When a 2-LCFGs is splittable, parsing time can be asymptotically improved to O(|w|^3). Testing this propertyis therefore of central interest to parsing efficiency. In this article, however, we show the negative result that splittability of 2-LCFGs is undecidable.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2411">
    <title>Reliable online social network data collection</title>
    <link>http://hdl.handle.net/10023/2411</link>
    <description>Abstract: Large quantities of information are shared through online social networks, making them attractive sources of data for social network research. When studying the usage of online social networks, these data may not describe properly users’ behaviours. For instance, the data collected often include content shared by the users only, or content accessible to the researchers, hence obfuscating a large amount of data that would help understanding users’ behaviours and privacy concerns. Moreover, the data collection methods employed in experiments may also have an effect on data reliability when participants self-report inacurrate information or are observed while using a simulated application. Understanding the effects of these collection methods on data reliability is paramount for the study of social networks; for understanding user behaviour; for designing socially-aware applications and services; and for mining data collected from such social networks and applications. This chapter reviews previous research which has looked at social network data collection and user behaviour in these networks. We highlight shortcomings in the methods used in these studies, and introduce our own methodology and user study based on the Experience Sampling Method; we claim our methodology leads to the collection of more reliable data by capturing both those data which are shared and not shared. We conclude with suggestions for collecting and mining data from online social networks.</description>
    <dc:date>2012-01-01T00:00:00Z</dc:date>
    <dc:creator>Abdesslem, Fehmi Ben</dc:creator>
    <dc:creator>Parris, Iain</dc:creator>
    <dc:creator>Henderson, Tristan</dc:creator>
    <dc:description>Large quantities of information are shared through online social networks, making them attractive sources of data for social network research. When studying the usage of online social networks, these data may not describe properly users’ behaviours. For instance, the data collected often include content shared by the users only, or content accessible to the researchers, hence obfuscating a large amount of data that would help understanding users’ behaviours and privacy concerns. Moreover, the data collection methods employed in experiments may also have an effect on data reliability when participants self-report inacurrate information or are observed while using a simulated application. Understanding the effects of these collection methods on data reliability is paramount for the study of social networks; for understanding user behaviour; for designing socially-aware applications and services; and for mining data collected from such social networks and applications. This chapter reviews previous research which has looked at social network data collection and user behaviour in these networks. We highlight shortcomings in the methods used in these studies, and introduce our own methodology and user study based on the Experience Sampling Method; we claim our methodology leads to the collection of more reliable data by capturing both those data which are shared and not shared. We conclude with suggestions for collecting and mining data from online social networks.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2037">
    <title>Scaling measurement experiments to planet-scale : ethical, regulatory and cultural considerations</title>
    <link>http://hdl.handle.net/10023/2037</link>
    <description>Abstract: Conducting planet-scale mobility experiments and measurements is of great interest to network researchers for building the next generation of wireless networking technologies, or for studying inter-disciplinary problems in complex networks. There are many technical challenges that need to be addressed before such experiments can take place. But at the same time, there are many non-technical issues that need to be tackled in order to preserve the welfare of participants in these studies. While some of these issues have been addressed in previous small-scale studies, they become increasingly complex when differences between countries need to be taken into account. This position paper highlights some of these issues and argues that they need to be addressed before planet-scale measurement experiments can be conducted. We discuss ethical, regulatory, cultural and privacy issues, and consider how to design measurement systems that will scale up to planet-wide experiments. We motivate our approach by discussing work in measurement of mobile and online social networks.
Description: Workshop held as part of 7th Annual International Conference on Mobile Systems, Applications and Services (MobiSys 2009)</description>
    <dc:date>2009-06-01T00:00:00Z</dc:date>
    <dc:creator>Henderson, Tristan Nicholas Hoang</dc:creator>
    <dc:creator>Ben Abdesslem, Fehmi</dc:creator>
    <dc:description>Conducting planet-scale mobility experiments and measurements is of great interest to network researchers for building the next generation of wireless networking technologies, or for studying inter-disciplinary problems in complex networks. There are many technical challenges that need to be addressed before such experiments can take place. But at the same time, there are many non-technical issues that need to be tackled in order to preserve the welfare of participants in these studies. While some of these issues have been addressed in previous small-scale studies, they become increasingly complex when differences between countries need to be taken into account. This position paper highlights some of these issues and argues that they need to be addressed before planet-scale measurement experiments can be conducted. We discuss ethical, regulatory, cultural and privacy issues, and consider how to design measurement systems that will scale up to planet-wide experiments. We motivate our approach by discussing work in measurement of mobile and online social networks.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2036">
    <title>Planet-scale human mobility measurement</title>
    <link>http://hdl.handle.net/10023/2036</link>
    <description>Abstract: Research into, and design and construction of mobile systems and algorithms requires access to large-scale mobility data. Unfortunately, the research community lacks such data. For instance, the largest available human contact traces contain only 100 nodes with very sparse connectivity, limited by experimental logistics. In this paper we pose a challenge to the community: how can we collect mobility data from billions of human participants? We re-assert the importance of large-scale datasets in communication network design, and claim that this could impact fundamental studies in other academic disciplines. In effect, we argue that planet-scale mobility measurements can help to save the world. For example, through understanding large-scale human mobility, we can track and model and contain the spread of epidemics of various kinds.
Description: Workshop held as part of the 8th Annual International Conference on Mobile Systems, Applications and Services (MobiSys 2010)</description>
    <dc:date>2010-06-10T00:00:00Z</dc:date>
    <dc:creator>Hui, Pan</dc:creator>
    <dc:creator>Mortier, Richard</dc:creator>
    <dc:creator>Piorkowski, Michal</dc:creator>
    <dc:creator>Henderson, Tristan Nicholas Hoang</dc:creator>
    <dc:creator>Crowcroft, Jon</dc:creator>
    <dc:description>Research into, and design and construction of mobile systems and algorithms requires access to large-scale mobility data. Unfortunately, the research community lacks such data. For instance, the largest available human contact traces contain only 100 nodes with very sparse connectivity, limited by experimental logistics. In this paper we pose a challenge to the community: how can we collect mobility data from billions of human participants? We re-assert the importance of large-scale datasets in communication network design, and claim that this could impact fundamental studies in other academic disciplines. In effect, we argue that planet-scale mobility measurements can help to save the world. For example, through understanding large-scale human mobility, we can track and model and contain the spread of epidemics of various kinds.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2034">
    <title>Privacy-enhanced social-network routing</title>
    <link>http://hdl.handle.net/10023/2034</link>
    <description>Abstract: Opportunistic networking—forwarding messages in a disconnected mobile ad hoc network via any encountered nodes — offers a new mechanism for exploiting the mobile devices that many users now carry. Forwarding messages in such a network often involves the use of social-network routing— sending messages via nodes in the sender or recipient’s friends list. Simple social-network routing, however, may broadcast these friends lists, which introduces privacy concerns. This paper presents a threat analysis of the privacy risks in social-network routing. We introduce two complementary methods for enhancing privacy in social-network routing by obfuscating the friends lists used to inform routing decisions. We evaluate these methods using three real-world datasets, and find that it is possible to obfuscate the friends lists without leading to a significant decrease in routing performance, as measured by delivery cost, delay and ratio. We quantify the increase in security provided by this obfuscation, with reference to classes of attack which are mitigated.
Description: This work is supported by the UK Engineering and Physical Sciences Research Council and the Technology Strategy Board as part of the Privacy Value Networks project, EP/G002606/1.</description>
    <dc:date>2012-01-01T00:00:00Z</dc:date>
    <dc:creator>Parris, Iain Siraj</dc:creator>
    <dc:creator>Henderson, Tristan Nicholas Hoang</dc:creator>
    <dc:description>Opportunistic networking—forwarding messages in a disconnected mobile ad hoc network via any encountered nodes — offers a new mechanism for exploiting the mobile devices that many users now carry. Forwarding messages in such a network often involves the use of social-network routing— sending messages via nodes in the sender or recipient’s friends list. Simple social-network routing, however, may broadcast these friends lists, which introduces privacy concerns. This paper presents a threat analysis of the privacy risks in social-network routing. We introduce two complementary methods for enhancing privacy in social-network routing by obfuscating the friends lists used to inform routing decisions. We evaluate these methods using three real-world datasets, and find that it is possible to obfuscate the friends lists without leading to a significant decrease in routing performance, as measured by delivery cost, delay and ratio. We quantify the increase in security provided by this obfuscation, with reference to classes of attack which are mitigated.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2033">
    <title>Trust and privacy in distributed work groups</title>
    <link>http://hdl.handle.net/10023/2033</link>
    <description>Abstract: Trust plays an important role in both group cooperation and economic exchange. As new technologies emerge for communication and exchange, established mechanisms of trust are disrupted or distorted, which can lead to the breakdown of cooperation or to increasing fraud in exchange. This paper examines whether and how personal privacy information about members of distributed work groups influences individuals' cooperation and privacy behavior in the group. Specifically, we examine whether people use others' privacy settings as signals of trustworthiness that affect group cooperation. In addition, we examine how individual privacy preferences relate to trustworthy behavior. Understanding how people interact with others in online settings, in particular when they have limited information, has important implications for geographically distributed groups enabled through new information technologies. In addition, understanding how people might use information gleaned from technology usage, such as personal privacy settings, particularly in the absence of other information, has implications for understanding many potential situations that arise in pervasively networked environments.
Description: Proceedings of the 2nd International Workshop on Social Computing, Behavioral Modeling and Prediction</description>
    <dc:date>2009-03-01T00:00:00Z</dc:date>
    <dc:creator>Anthony, Denise</dc:creator>
    <dc:creator>Henderson, Tristan Nicholas Hoang</dc:creator>
    <dc:creator>Kitts, James</dc:creator>
    <dc:description>Trust plays an important role in both group cooperation and economic exchange. As new technologies emerge for communication and exchange, established mechanisms of trust are disrupted or distorted, which can lead to the breakdown of cooperation or to increasing fraud in exchange. This paper examines whether and how personal privacy information about members of distributed work groups influences individuals' cooperation and privacy behavior in the group. Specifically, we examine whether people use others' privacy settings as signals of trustworthiness that affect group cooperation. In addition, we examine how individual privacy preferences relate to trustworthy behavior. Understanding how people interact with others in online settings, in particular when they have limited information, has important implications for geographically distributed groups enabled through new information technologies. In addition, understanding how people might use information gleaned from technology usage, such as personal privacy settings, particularly in the absence of other information, has implications for understanding many potential situations that arise in pervasively networked environments.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2032">
    <title>The ambient loo - caught short when nature calls?</title>
    <link>http://hdl.handle.net/10023/2032</link>
    <description>Abstract: On numerous occasions, trips to the facilities coincide with an important mobile phone call. Due to the sleek and polished nature of modern phones, attempting to promptly deal with such calls can occasionally lead to the phone sliding through the owner's hands, surrendering to the force of gravity and flying down the hole. This is a disaster, and often an expensive incident. It can also be a health and safety hazard, with the owner desperately attempting to retrieve their phone and re-using it. This paper provides a first attempt at a cell phone recovery system using the modern functionalities of Toto Japanese toilets.(1) In our approach, the phone is calmly recovered, sanitized and retrieved by the user. This can all happen without the call even being dropped, with possibility of secure backup of the user data by embedded sensor and Wi-Fi network connectivity in the toilet. We envision that such an approach will increase the collaboration between Japanese, European and American mobile operators, network researchers and hardware manufacturers.
Description: This article is an editorial note submitted to CCR. It has not been peer reviewed. The author takes full responsibility for this article’s technical content. Comments can be posted through CCR Online.</description>
    <dc:date>2010-04-01T00:00:00Z</dc:date>
    <dc:creator>Haddadi, Hamed</dc:creator>
    <dc:creator>Henderson, Tristan</dc:creator>
    <dc:creator>Crowcroft, Jon</dc:creator>
    <dc:description>On numerous occasions, trips to the facilities coincide with an important mobile phone call. Due to the sleek and polished nature of modern phones, attempting to promptly deal with such calls can occasionally lead to the phone sliding through the owner's hands, surrendering to the force of gravity and flying down the hole. This is a disaster, and often an expensive incident. It can also be a health and safety hazard, with the owner desperately attempting to retrieve their phone and re-using it. This paper provides a first attempt at a cell phone recovery system using the modern functionalities of Toto Japanese toilets.(1) In our approach, the phone is calmly recovered, sanitized and retrieved by the user. This can all happen without the call even being dropped, with possibility of secure backup of the user data by embedded sensor and Wi-Fi network connectivity in the toilet. We envision that such an approach will increase the collaboration between Japanese, European and American mobile operators, network researchers and hardware manufacturers.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2027">
    <title>Targeted advertising on the handset : Privacy and security challenges</title>
    <link>http://hdl.handle.net/10023/2027</link>
    <description>Abstract: Online advertising is currently a rich source of revenue for many Internet giants. With the ever-increasing number of smart phones, there is a fertile market for personalised and localised advertising. A key benefit of using mobile phones is to take advantage of the significant amount of information on phones — such as locations of interest to the user — in order to provide personalised advertisements. Preservation of user privacy, however, is essential for successful deployment of such a system. In this chapter we provide an overview of existing advertising systems and privacy concerns on mobile phones, in addition to a system, MobiAd, which includes protocols for scalable local advertisement download and privacy-aware click report dissemination. In the final section of this chapter we describe some of the security mechanisms used in detecting click-through fraud, and techniques that can be used to ensure that the extra privacy protections of MobiAd are not abused to defraud advertisers.</description>
    <dc:date>2011-01-01T00:00:00Z</dc:date>
    <dc:creator>Haddadi, Hamed</dc:creator>
    <dc:creator>Hui, Pan</dc:creator>
    <dc:creator>Henderson, Tristan</dc:creator>
    <dc:creator>Brown, Ian</dc:creator>
    <dc:description>Online advertising is currently a rich source of revenue for many Internet giants. With the ever-increasing number of smart phones, there is a fertile market for personalised and localised advertising. A key benefit of using mobile phones is to take advantage of the significant amount of information on phones — such as locations of interest to the user — in order to provide personalised advertisements. Preservation of user privacy, however, is essential for successful deployment of such a system. In this chapter we provide an overview of existing advertising systems and privacy concerns on mobile phones, in addition to a system, MobiAd, which includes protocols for scalable local advertisement download and privacy-aware click report dissemination. In the final section of this chapter we describe some of the security mechanisms used in detecting click-through fraud, and techniques that can be used to ensure that the extra privacy protections of MobiAd are not abused to defraud advertisers.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2023">
    <title>Context-based personalised settings for mobile location sharing</title>
    <link>http://hdl.handle.net/10023/2023</link>
    <description>Abstract: Location-Based Services (LBSes) are increasing in popularity, but create many privacy concerns for users. LBSes usually rely on the same default privacy settings for all users. In this position paper, we claim that such settings are inappropriate for location sharing and that settings should instead rely on contextual information to recommend personalised privacy settings for users. We present results of an initial user study (n=80) to corroborate this position, and suggest avenues for further research.
Description: This work was supported by the Engineering and Physical Sciences Research Council [grant number EP/G002606/1].</description>
    <dc:date>2011-10-27T00:00:00Z</dc:date>
    <dc:creator>Abdesslem, Fehmi Ben</dc:creator>
    <dc:creator>Henderson, Tristan</dc:creator>
    <dc:creator>Brostoff, Sacha</dc:creator>
    <dc:creator>Sasse, M. Angela</dc:creator>
    <dc:description>Location-Based Services (LBSes) are increasing in popularity, but create many privacy concerns for users. LBSes usually rely on the same default privacy settings for all users. In this position paper, we claim that such settings are inappropriate for location sharing and that settings should instead rely on contextual information to recommend personalised privacy settings for users. We present results of an initial user study (n=80) to corroborate this position, and suggest avenues for further research.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2022">
    <title>IRONMAN : Using social networks to add incentives and reputation to opportunistic networks</title>
    <link>http://hdl.handle.net/10023/2022</link>
    <description>Abstract: Opportunistic networks enable users to communicate in the absence of network infrastructure. But forwarding messages in such a network incurs costs for nodes in terms of energy and storage. This may lead to nodes being selfish and not forwarding messages for other nodes, resulting in degraded network performance. This paper presents a novel incentive mechanism for opportunistic networks that uses pre-existing social-network information to detect and punish selfish nodes, incentivising them to participate in the network. Trace-driven simulations demonstrate that our mechanism performs better than existing mechanisms, and that social-network information can also be used to improve existing incentive mechanisms.
Description: Paper published in IEEE Proceedings of SocialCom 2011.</description>
    <dc:date>2011-10-09T00:00:00Z</dc:date>
    <dc:creator>Bigwood, Greg</dc:creator>
    <dc:creator>Henderson, Tristan</dc:creator>
    <dc:description>Opportunistic networks enable users to communicate in the absence of network infrastructure. But forwarding messages in such a network incurs costs for nodes in terms of energy and storage. This may lead to nodes being selfish and not forwarding messages for other nodes, resulting in degraded network performance. This paper presents a novel incentive mechanism for opportunistic networks that uses pre-existing social-network information to detect and punish selfish nodes, incentivising them to participate in the network. Trace-driven simulations demonstrate that our mechanism performs better than existing mechanisms, and that social-network information can also be used to improve existing incentive mechanisms.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2020">
    <title>Less is more : energy-efficient mobile sensing with SenseLess</title>
    <link>http://hdl.handle.net/10023/2020</link>
    <description>Abstract: We present SenseLess, a system that leverages the different energy consumption characteristics of sensors to maximise battery life in mobile-sensing applications. We use the less expensive sensors more often, thereby enabling us to use the more expensive sensors less frequently. In the context of location-aware services, experimental results indicate that for a typical indoor and outdoor walk, compared to a simple GPS-based system, our SenseLess system can reduce energy consumption by more than 58% when determining a user's location, while maintaining the fidelity of the sensed data. This extends the battery life of a typical handheld device from 9 hours to 22 hours.
Description: Workshop held as part of ACM SIGCOMM 2009</description>
    <dc:date>2009-08-01T00:00:00Z</dc:date>
    <dc:creator>Ben Abdesslem, Fehmi</dc:creator>
    <dc:creator>Phillips, Andrew</dc:creator>
    <dc:creator>Henderson, Tristan</dc:creator>
    <dc:description>We present SenseLess, a system that leverages the different energy consumption characteristics of sensors to maximise battery life in mobile-sensing applications. We use the less expensive sensors more often, thereby enabling us to use the more expensive sensors less frequently. In the context of location-aware services, experimental results indicate that for a typical indoor and outdoor walk, compared to a simple GPS-based system, our SenseLess system can reduce energy consumption by more than 58% when determining a user's location, while maintaining the fidelity of the sensed data. This extends the battery life of a typical handheld device from 9 hours to 22 hours.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2019">
    <title>Social delay-tolerant network routing</title>
    <link>http://hdl.handle.net/10023/2019</link>
    <description>Abstract: Routing in mobile delay-tolerant networks faces new challenges such as mobility and the dynamic nature of the network. Social network information may be useful for routing since mobile nodes in the same social network may be encountered more often and thus be more successful at message-passing. Collecting this social network information, however, can be challenging. We compare a social network traced from user encounters with a user-declared social network, and show some of the differences between these two networks.
Description: Paper presented at the 2nd ICC Winter Workshop on Complexity in Social Systems</description>
    <dc:date>2009-01-01T00:00:00Z</dc:date>
    <dc:creator>Bigwood, Gregory John</dc:creator>
    <dc:creator>Henderson, Tristan Nicholas Hoang</dc:creator>
    <dc:creator>Bhatti, Saleem Noel</dc:creator>
    <dc:description>Routing in mobile delay-tolerant networks faces new challenges such as mobility and the dynamic nature of the network. Social network information may be useful for routing since mobile nodes in the same social network may be encountered more often and thus be more successful at message-passing. Collecting this social network information, however, can be challenging. We compare a social network traced from user encounters with a user-declared social network, and show some of the differences between these two networks.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2018">
    <title>Usable data-driven privacy research : should we be afraid of the Big (Bad?) Data Wolf?</title>
    <link>http://hdl.handle.net/10023/2018</link>
    <dc:date>2010-11-01T00:00:00Z</dc:date>
    <dc:creator>Henderson, Tristan</dc:creator>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2017">
    <title>Understanding mobile social behaviour using smartphones</title>
    <link>http://hdl.handle.net/10023/2017</link>
    <description>Abstract: Understanding the behaviour of users as they share information with mobile social applications is important for enhancing their experiences and improving the services provided. In this paper, we present an approach to studying users’ behaviour with the Experience Sampling Method, using a single mobile device to ask questions of users and simultaneously monitor their activities and contexts. While our approach presents benefits compared to traditional questionnaires, we also present the challenges faced, and the problems still to be explored.
Description: This work is funded by the EPSRC/TSB Privacy Value Networks project (EP/G002606/1).</description>
    <dc:date>2010-10-17T00:00:00Z</dc:date>
    <dc:creator>Abdesslem, Fehmi Ben</dc:creator>
    <dc:creator>Henderson, Tristan Nicholas Hoang</dc:creator>
    <dc:description>Understanding the behaviour of users as they share information with mobile social applications is important for enhancing their experiences and improving the services provided. In this paper, we present an approach to studying users’ behaviour with the Experience Sampling Method, using a single mobile device to ask questions of users and simultaneously monitor their activities and contexts. While our approach presents benefits compared to traditional questionnaires, we also present the challenges faced, and the problems still to be explored.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2016">
    <title>Mobile experience sampling : Reaching the parts of Facebook other methods cannot reach</title>
    <link>http://hdl.handle.net/10023/2016</link>
    <description>Abstract: Location-aware Social Network Sites (SNS) are now widely used by mobile phone users, enabling users to share their location in real time to their social network. Such location-sharing may introduce privacy concerns depending on the user, the location being shared, and the people to whom they are shared. The study of such privacy concerns is difficult, as a user filling out a questionnaire may forget the exact reasons for sharing. We have explored the Experience Sampling Method (ESM) for in situ capture of users’ experiences. This paper describes our mobile phone ESM testbed and presents preliminary results obtained from a 2-week experiment with 40 students sharing their location in real time on Facebook, a popular SNS.
Description: Paper presented at the Privacy and Usability Methods Pow-wow (PUMP) workshop, in conjunction with the 24th BCS International Conference on Human-Computer Interaction. This work is funded by the EPSRC/TSB Privacy Value Networks project (EP/G002606/1).</description>
    <dc:date>2010-09-06T00:00:00Z</dc:date>
    <dc:creator>Abdesslem, Fehmi Ben</dc:creator>
    <dc:creator>Parris, Iain</dc:creator>
    <dc:creator>Henderson, Tristan Nicholas Hoang</dc:creator>
    <dc:description>Location-aware Social Network Sites (SNS) are now widely used by mobile phone users, enabling users to share their location in real time to their social network. Such location-sharing may introduce privacy concerns depending on the user, the location being shared, and the people to whom they are shared. The study of such privacy concerns is difficult, as a user filling out a questionnaire may forget the exact reasons for sharing. We have explored the Experience Sampling Method (ESM) for in situ capture of users’ experiences. This paper describes our mobile phone ESM testbed and presents preliminary results obtained from a 2-week experiment with 40 students sharing their location in real time on Facebook, a popular SNS.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2014">
    <title>Facebook or Fakebook? : The effect of simulation on location privacy user studies</title>
    <link>http://hdl.handle.net/10023/2014</link>
    <description>Description: Paper presented at the Privacy and Usability Methods Pow-wow (PUMP) workshop, in conjunction with the 24th BCS International Conference on Human-Computer Interaction. This work is supported by the EPSRC Privacy Value Networks project, EP/G002606/1.</description>
    <dc:date>2010-09-06T00:00:00Z</dc:date>
    <dc:creator>Parris, Iain</dc:creator>
    <dc:creator>Abdesslem, Fehmi Ben</dc:creator>
    <dc:creator>Henderson, Tristan Nicholas Hoang</dc:creator>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2013">
    <title>The impact of location privacy on opportunistic networks</title>
    <link>http://hdl.handle.net/10023/2013</link>
    <description>Abstract: Opportunistic networking involves forwarding messages between proximate users, who may or may not know one another. This assumes that users are willing to forward messages to each other. This assumption may not hold if users are concerned about using the opportunistic network service. One such concern may be due to privacy; for instance, users' locations may be leaked. A privacy-concerned user may therefore disable their mobile device's opportunistic-networking features at various times, to preserve their privacy. This paper studies the impact of location privacy concerns on the performance of an opportunistic network. Using data from a real-world location-aware user study to develop a privacy model, we conduct trace-based simulations of various opportunistic routing protocols with two real-world traces. We find that users' location privacy preferences may potentially reduce the delivery performance of an opportunistic network to zero.</description>
    <dc:date>2011-06-23T00:00:00Z</dc:date>
    <dc:creator>Parris, Iain</dc:creator>
    <dc:creator>Henderson, Tristan</dc:creator>
    <dc:description>Opportunistic networking involves forwarding messages between proximate users, who may or may not know one another. This assumes that users are willing to forward messages to each other. This assumption may not hold if users are concerned about using the opportunistic network service. One such concern may be due to privacy; for instance, users' locations may be leaked. A privacy-concerned user may therefore disable their mobile device's opportunistic-networking features at various times, to preserve their privacy. This paper studies the impact of location privacy concerns on the performance of an opportunistic network. Using data from a real-world location-aware user study to develop a privacy model, we conduct trace-based simulations of various opportunistic routing protocols with two real-world traces. We find that users' location privacy preferences may potentially reduce the delivery performance of an opportunistic network to zero.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2011">
    <title>Practical privacy-aware opportunistic networking</title>
    <link>http://hdl.handle.net/10023/2011</link>
    <description>Abstract: Opportunistic networks have been the study of much research — in particular on making end-to-end routing efficient. Users’ privacy concerns, however, have not been the subject of much research. What privacy concerns might opportunistic network users have? Is it possible to build opportunistic networks that can mitigate users’ privacy concerns while maintaining routing performance? Our work-to-date has tackled the problem of creating privacy-preserving routing protocols, with less emphasis on discovering users’ actual privacy concerns. We summarise our current results, and describe a future experiment that we have planned to better understand users’ privacy concerns.</description>
    <dc:date>2011-07-05T00:00:00Z</dc:date>
    <dc:creator>Parris, Iain</dc:creator>
    <dc:creator>Henderson, Tristan</dc:creator>
    <dc:description>Opportunistic networks have been the study of much research — in particular on making end-to-end routing efficient. Users’ privacy concerns, however, have not been the subject of much research. What privacy concerns might opportunistic network users have? Is it possible to build opportunistic networks that can mitigate users’ privacy concerns while maintaining routing performance? Our work-to-date has tackled the problem of creating privacy-preserving routing protocols, with less emphasis on discovering users’ actual privacy concerns. We summarise our current results, and describe a future experiment that we have planned to better understand users’ privacy concerns.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2010">
    <title>Bootstrapping opportunistic networks using social roles</title>
    <link>http://hdl.handle.net/10023/2010</link>
    <description>Abstract: Opportunistic routing protocols can enable message delivery in disconnected networks of mobile devices. To conserve energy in mobile environments, such routing protocols must minimise unnecessary message-forwarding. This paper presents an opportunistic routing protocol that leverages social role information. We compute node roles from a social network graph to identify nodes with similar contact relationships, and use these roles to determine routing decisions. By using pre-existing social network information, such as online social network friends, to determine roles, we show that our protocol can bootstrap a new opportunistic network without the delay incurred by encounter-history-based routing protocols such as SimbetTS. Simulations with four real-world datasets show improved performance over SimbetTS, with performance approaching Epidemic routing in some scenarios.</description>
    <dc:date>2011-06-23T00:00:00Z</dc:date>
    <dc:creator>Bigwood, Greg</dc:creator>
    <dc:creator>Henderson, Tristan</dc:creator>
    <dc:description>Opportunistic routing protocols can enable message delivery in disconnected networks of mobile devices. To conserve energy in mobile environments, such routing protocols must minimise unnecessary message-forwarding. This paper presents an opportunistic routing protocol that leverages social role information. We compute node roles from a social network graph to identify nodes with similar contact relationships, and use these roles to determine routing decisions. By using pre-existing social network information, such as online social network friends, to determine roles, we show that our protocol can bootstrap a new opportunistic network without the delay incurred by encounter-history-based routing protocols such as SimbetTS. Simulations with four real-world datasets show improved performance over SimbetTS, with performance approaching Epidemic routing in some scenarios.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/2000">
    <title>On convex permutations</title>
    <link>http://hdl.handle.net/10023/2000</link>
    <description>Abstract: A selection of points drawn from a convex polygon, no two with the same vertical or horizontal coordinate, yields a permutation in a canonical fashion. We characterise and enumerate those permutations which arise in this manner and exhibit some interesting structural properties of the permutation class they form. We conclude with a permutation analogue of the celebrated Happy Ending Problem.</description>
    <dc:date>2011-05-01T00:00:00Z</dc:date>
    <dc:creator>Albert, M.H.</dc:creator>
    <dc:creator>Linton, Stephen Alexander</dc:creator>
    <dc:creator>Ruskuc, Nik</dc:creator>
    <dc:creator>Vatter, V</dc:creator>
    <dc:creator>Waton, S</dc:creator>
    <dc:description>A selection of points drawn from a convex polygon, no two with the same vertical or horizontal coordinate, yields a permutation in a canonical fashion. We characterise and enumerate those permutations which arise in this manner and exhibit some interesting structural properties of the permutation class they form. We conclude with a permutation analogue of the celebrated Happy Ending Problem.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1967">
    <title>Dominion : an architecture-driven approach to generating efficient constraint solvers</title>
    <link>http://hdl.handle.net/10023/1967</link>
    <description>Abstract: Constraints are used to solve combinatorial problems in a variety of industrial and academic disciplines. However most constraint solvers are designed to be general and monolithic, leading to problems with efficiency, scalability and extensibility. We propose a novel, architecture-driven constraint solver generation framework called Dominion to tackle these issues. For any given problem, Dominion generates a lean and efficient solver tailored to that problem. In this paper, we outline the Dominion approach and its implications for software architecture specification of the solver.
Description: This work is supported by the EPSRC grant “A Constraint Solver Synthesiser” (EP/H004092/1) and SICSA studentships.</description>
    <dc:date>2011-06-01T00:00:00Z</dc:date>
    <dc:creator>Balasubramaniam, Dharini</dc:creator>
    <dc:creator>De Silva, Lakshitha Ramesh</dc:creator>
    <dc:creator>Jefferson, Christopher Anthony</dc:creator>
    <dc:creator>Kotthoff, Lars</dc:creator>
    <dc:creator>Miguel, Ian James</dc:creator>
    <dc:creator>Nightingale, Peter</dc:creator>
    <dc:description>Constraints are used to solve combinatorial problems in a variety of industrial and academic disciplines. However most constraint solvers are designed to be general and monolithic, leading to problems with efficiency, scalability and extensibility. We propose a novel, architecture-driven constraint solver generation framework called Dominion to tackle these issues. For any given problem, Dominion generates a lean and efficient solver tailored to that problem. In this paper, we outline the Dominion approach and its implications for software architecture specification of the solver.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1812">
    <title>On the selection of connectivity-based metrics for WSNs using a classification of application behaviour</title>
    <link>http://hdl.handle.net/10023/1812</link>
    <description>Abstract: This paper addresses a subset of Wireless Sensor Network (WSN) applications in which data is produced by a set of resource-constrained source nodes and forwarded to one or more sink nodes. The performance of such applications is affected by the connectivity of the WSN, since nodes must remain connected in order to transfer data from sources to sinks. Designers use metrics to measure and improve the efficacy of WSN applications. We aim to facilitate the choice of connectivity-based metrics by introducing a classification of WSN applications based on their data collection behaviour and indicating the metrics best suited to the evaluation of particular application classes. We argue that no suitable metric currently exists for a significant class of applications with the following characteristics: 1) application data is periodically routed or disseminated from source nodes to one or more sink nodes, and 2) the application can continue to function with the loss of source nodes although its useful network lifetime diminishes as a result. We present a new metric, known as Connectivity Weighted Transfer, which may be used to evaluate WSN applications with these characteristics.</description>
    <dc:date>2010-06-07T00:00:00Z</dc:date>
    <dc:creator>Boyd, Alan</dc:creator>
    <dc:creator>Balasubramaniam, Dharini</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:description>This paper addresses a subset of Wireless Sensor Network (WSN) applications in which data is produced by a set of resource-constrained source nodes and forwarded to one or more sink nodes. The performance of such applications is affected by the connectivity of the WSN, since nodes must remain connected in order to transfer data from sources to sinks. Designers use metrics to measure and improve the efficacy of WSN applications. We aim to facilitate the choice of connectivity-based metrics by introducing a classification of WSN applications based on their data collection behaviour and indicating the metrics best suited to the evaluation of particular application classes. We argue that no suitable metric currently exists for a significant class of applications with the following characteristics: 1) application data is periodically routed or disseminated from source nodes to one or more sink nodes, and 2) the application can continue to function with the loss of source nodes although its useful network lifetime diminishes as a result. We present a new metric, known as Connectivity Weighted Transfer, which may be used to evaluate WSN applications with these characteristics.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1811">
    <title>A component-based model and language for wireless sensor network applications</title>
    <link>http://hdl.handle.net/10023/1811</link>
    <description>Abstract: Wireless sensor networks are often used by experts in many different fields to gather data pertinent to their work. Although their expertise may not include software engineering, these users are expected to produce low-level software for a concurrent, real-time and resource-constrained computing environment. In this paper, we introduce a component-based model for wireless sensor network applications and a language, Insense, for supporting the model. An application is modelled as a composition of interacting components and the application model is preserved in the Insense implementation where active components communicate via typed channels. The primary design criteria for Insense include: to abstract over low-level concerns for ease of programming; to permit worst-case space and time usage of programs to be determinable; to support the fractal composition of components whilst eliminating implicit dependencies between them; and, to facilitate the construction of low footprint programs suitable for resource-constrained devices. This paper presents an overview of the component model and Insense, and demonstrates how they meet the above criteria.</description>
    <dc:date>2008-07-01T00:00:00Z</dc:date>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Balasubramaniam, Dharini</dc:creator>
    <dc:creator>Lewis, Jonathan Peter</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:description>Wireless sensor networks are often used by experts in many different fields to gather data pertinent to their work. Although their expertise may not include software engineering, these users are expected to produce low-level software for a concurrent, real-time and resource-constrained computing environment. In this paper, we introduce a component-based model for wireless sensor network applications and a language, Insense, for supporting the model. An application is modelled as a composition of interacting components and the application model is preserved in the Insense implementation where active components communicate via typed channels. The primary design criteria for Insense include: to abstract over low-level concerns for ease of programming; to permit worst-case space and time usage of programs to be determinable; to support the fractal composition of components whilst eliminating implicit dependencies between them; and, to facilitate the construction of low footprint programs suitable for resource-constrained devices. This paper presents an overview of the component model and Insense, and demonstrates how they meet the above criteria.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1810">
    <title>A collaborative wireless sensor network routing scheme for reducing energy wastage</title>
    <link>http://hdl.handle.net/10023/1810</link>
    <description>Abstract: A Wireless Sensor Network (WSN) is a network of battery-powered nodes in which data is routed from sources to sinks. Each node consumes energy in order to transmit or receive on its radio. Consequently, an intermediate node that is used by multiple sources will quickly expire. If some sources are unable to route without the presence of that node, any remaining energy they have is wasted. We present a new routing scheme known as node reliance, which rates the degree to which nodes are relied upon in routing. The use of node reliance reduces the contention for intermediate nodes, permitting sources to route to sinks for longer and thus maximising the useful lifetime of the network.</description>
    <dc:date>2010-05-01T00:00:00Z</dc:date>
    <dc:creator>Boyd, Alan</dc:creator>
    <dc:creator>Balasubramaniam, Dharini</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:description>A Wireless Sensor Network (WSN) is a network of battery-powered nodes in which data is routed from sources to sinks. Each node consumes energy in order to transmit or receive on its radio. Consequently, an intermediate node that is used by multiple sources will quickly expire. If some sources are unable to route without the presence of that node, any remaining energy they have is wasted. We present a new routing scheme known as node reliance, which rates the degree to which nodes are relied upon in routing. The use of node reliance reduces the contention for intermediate nodes, permitting sources to route to sinks for longer and thus maximising the useful lifetime of the network.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1809">
    <title>ArchWare ADL release 1 : A user reference manual</title>
    <link>http://hdl.handle.net/10023/1809</link>
    <description>Abstract: This documentation of deliverable D4.3 is intended to serve as a user reference manual for the first release of ArchWare ADL.</description>
    <dc:date>2004-01-01T00:00:00Z</dc:date>
    <dc:creator>Balasubramaniam, Dharini</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Mickan, K</dc:creator>
    <dc:creator>Norcross, Stuart John</dc:creator>
    <dc:description>This documentation of deliverable D4.3 is intended to serve as a user reference manual for the first release of ArchWare ADL.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1808">
    <title>ProcessBase Standard Library Reference Manual (Version 1.0.4)</title>
    <link>http://hdl.handle.net/10023/1808</link>
    <description>Abstract: This describes the library mechanism for the ProcessBase language being developed as part of the Compliant System Architecture project.</description>
    <dc:date>1999-01-01T00:00:00Z</dc:date>
    <dc:creator>Morrison, R.</dc:creator>
    <dc:creator>Balasubramaniam, D.</dc:creator>
    <dc:creator>Greenwood, M.</dc:creator>
    <dc:creator>Kirby, G. N. C.</dc:creator>
    <dc:creator>Mayes, K.</dc:creator>
    <dc:creator>Munro, D. S.</dc:creator>
    <dc:creator>Warboys, B. C.</dc:creator>
    <dc:description>This describes the library mechanism for the ProcessBase language being developed as part of the Compliant System Architecture project.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1807">
    <title>ProcessBase Abstract Machine Manual (Version 2.0.6)</title>
    <link>http://hdl.handle.net/10023/1807</link>
    <description>Abstract: This describes the ProcessBase abstract machine being developed as part of the Compliant System Architecture project.</description>
    <dc:date>1999-01-01T00:00:00Z</dc:date>
    <dc:creator>Morrison, R.</dc:creator>
    <dc:creator>Balasubramaniam, D.</dc:creator>
    <dc:creator>Greenwood, M.</dc:creator>
    <dc:creator>Kirby, G. N. C.</dc:creator>
    <dc:creator>Mayes, K.</dc:creator>
    <dc:creator>Munro, D. S.</dc:creator>
    <dc:creator>Warboys, B. C.</dc:creator>
    <dc:description>This describes the ProcessBase abstract machine being developed as part of the Compliant System Architecture project.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1806">
    <title>ProcessBase Reference Manual (Version 1.0.6)</title>
    <link>http://hdl.handle.net/10023/1806</link>
    <description>Abstract: This describes the ProcessBase language being developed as part of the Compliant System Architecture project.</description>
    <dc:date>1999-01-01T00:00:00Z</dc:date>
    <dc:creator>Morrison, R.</dc:creator>
    <dc:creator>Balasubramaniam, D.</dc:creator>
    <dc:creator>Greenwood, M.</dc:creator>
    <dc:creator>Kirby, G. N. C.</dc:creator>
    <dc:creator>Mayes, K.</dc:creator>
    <dc:creator>Munro, D. S.</dc:creator>
    <dc:creator>Warboys, B. C.</dc:creator>
    <dc:description>This describes the ProcessBase language being developed as part of the Compliant System Architecture project.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1804">
    <title>Towards verifying correctness of wireless sensor network applications using insense and spin</title>
    <link>http://hdl.handle.net/10023/1804</link>
    <description>Abstract: The design and implementation of wireless sensor network applications often require domain experts, who may lack expertise in software engineering, to produce resource-constrained, concurrent, real-time software without the support of high-level software engineering facilities. The Insense language aims to address this mismatch by allowing the complexities of synchronisation, memory management and event-driven programming to be borne by the language implementation rather than by the programmer. The main contribution of this paper is all initial step towards verifying the correctness of WSN applications with a focus on concurrency. We model part of the synchronisation mechanism of the Insense language implementation using Promela constructs and verify its correctness using SPIN. We demonstrate how a previously published version of the mechanism is shown to be incorrect by SPIN, and give complete verification results for the revised mechanism.</description>
    <dc:date>2009-01-01T00:00:00Z</dc:date>
    <dc:creator>Sharma, Oliver</dc:creator>
    <dc:creator>Lewis, Jonathan</dc:creator>
    <dc:creator>Miller, Alice</dc:creator>
    <dc:creator>Dearle, Al</dc:creator>
    <dc:creator>Balasubramaniam, Dharini</dc:creator>
    <dc:creator>Morrison, Ron</dc:creator>
    <dc:creator>Sventek, Joe</dc:creator>
    <dc:description>The design and implementation of wireless sensor network applications often require domain experts, who may lack expertise in software engineering, to produce resource-constrained, concurrent, real-time software without the support of high-level software engineering facilities. The Insense language aims to address this mismatch by allowing the complexities of synchronisation, memory management and event-driven programming to be borne by the language implementation rather than by the programmer. The main contribution of this paper is all initial step towards verifying the correctness of WSN applications with a focus on concurrency. We model part of the synchronisation mechanism of the Insense language implementation using Promela constructs and verify its correctness using SPIN. We demonstrate how a previously published version of the mechanism is shown to be incorrect by SPIN, and give complete verification results for the revised mechanism.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1803">
    <title>Collaboration and composition : Issues for a second generation process language</title>
    <link>http://hdl.handle.net/10023/1803</link>
    <description>Abstract: Over the past decade a variety of process languages have been defined and applied to software engineering environments. The idea of using a process language to encode a software process as a "process model", and enacting this using a process-sensitive environment is now well established. Many prototype process-sensitive environments have been developed; but their use in earnest has been limited. We are designing a second generation process language which is a significant departure from current conventional thinking. Firstly a process is viewed as a set of mediated collaborations rather than a set of partially ordered activities. Secondly emphasis is given to how process models are developed, used, and enhanced over a potentially long lifetime. In particular the issue of composing both new and existing model fragments is central to our development approach. This paper outlines these features, and gives the motivations behind them. It also presents a view of process support for software engineering drawing on our decade of experience in exploiting a "first generation" process language, and our experience in designing and exploiting programming languages.</description>
    <dc:date>1999-01-01T00:00:00Z</dc:date>
    <dc:creator>Warboys, B C</dc:creator>
    <dc:creator>Balasubramaniam, D</dc:creator>
    <dc:creator>Greenwood, R M</dc:creator>
    <dc:creator>Kirby, G N C</dc:creator>
    <dc:creator>Mayes, K</dc:creator>
    <dc:creator>Morrison, R</dc:creator>
    <dc:creator>Munro, D S</dc:creator>
    <dc:description>Over the past decade a variety of process languages have been defined and applied to software engineering environments. The idea of using a process language to encode a software process as a "process model", and enacting this using a process-sensitive environment is now well established. Many prototype process-sensitive environments have been developed; but their use in earnest has been limited. We are designing a second generation process language which is a significant departure from current conventional thinking. Firstly a process is viewed as a set of mediated collaborations rather than a set of partially ordered activities. Secondly emphasis is given to how process models are developed, used, and enhanced over a potentially long lifetime. In particular the issue of composing both new and existing model fragments is central to our development approach. This paper outlines these features, and gives the motivations behind them. It also presents a view of process support for software engineering drawing on our decade of experience in exploiting a "first generation" process language, and our experience in designing and exploiting programming languages.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1798">
    <title>Active architecture for pervasive contextual services</title>
    <link>http://hdl.handle.net/10023/1798</link>
    <description>Abstract: Pervasive services may be defined as services that are available "to any client (anytime, anywhere)". Here we focus on the software and network infrastructure required to support pervasive contextual services operating over a wide area. One of the key requirements is a matching service capable of as-similating and filtering information from various sources and determining matches relevant to those services. We consider some of the challenges in engineering a globally distributed matching service that is scalable, manageable, and able to evolve incrementally as usage patterns, data formats, services, network topologies and deployment technologies change. We outline an approach based on the use of a peer-to-peer architecture to distribute user events and data, and to support the deployment and evolution of the infrastructure itself.
Description: International Workshop on Middleware for Pervasive and Ad-hoc Computing (MPAC 2003), ACM/IFIP/USENIX International Middleware Conference (Middleware 2003), Rio de Janeiro, Brazil</description>
    <dc:date>2003-01-01T00:00:00Z</dc:date>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Morrison, Ron</dc:creator>
    <dc:creator>Dunlop, Mark</dc:creator>
    <dc:creator>Connor, Richard</dc:creator>
    <dc:creator>Nixon, Paddy</dc:creator>
    <dc:description>Pervasive services may be defined as services that are available "to any client (anytime, anywhere)". Here we focus on the software and network infrastructure required to support pervasive contextual services operating over a wide area. One of the key requirements is a matching service capable of as-similating and filtering information from various sources and determining matches relevant to those services. We consider some of the challenges in engineering a globally distributed matching service that is scalable, manageable, and able to evolve incrementally as usage patterns, data formats, services, network topologies and deployment technologies change. We outline an approach based on the use of a peer-to-peer architecture to distribute user events and data, and to support the deployment and evolution of the infrastructure itself.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1797">
    <title>ACT : a tool for performance driven evolution of distributed applications</title>
    <link>http://hdl.handle.net/10023/1797</link>
    <description>Abstract: There are two main stages to evolving distributed applications in the manner desired by application builders: first deciding which changes are required and when, and second making the changes. Understanding the performance characteristics of distributed applications is essential for the first stage, while structural reflection over the source code may be used to achieve the latter. Here we present an automated configuring tool, ACT, that may be used to explore the need for change by empirically measuring application performance. We aim to use the data generated by ACT as input to the evolution process, informing the system how to evolve to new and improved architectural configurations. ACT is designed to be generic in that it may aid performance-driven evolution for a wide range of applications. As a case study we use DC-Mailbox, a back-end mail server from Data Connection Limited (DCL) that stores, retrieves and manages e-mail messages for a potentially large number of users.</description>
    <dc:date>2001-01-01T00:00:00Z</dc:date>
    <dc:creator>Sage, Aled</dc:creator>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:description>There are two main stages to evolving distributed applications in the manner desired by application builders: first deciding which changes are required and when, and second making the changes. Understanding the performance characteristics of distributed applications is essential for the first stage, while structural reflection over the source code may be used to achieve the latter. Here we present an automated configuring tool, ACT, that may be used to explore the need for change by empirically measuring application performance. We aim to use the data generated by ACT as input to the evolution process, informing the system how to evolve to new and improved architectural configurations. ACT is designed to be generic in that it may aid performance-driven evolution for a wide range of applications. As a case study we use DC-Mailbox, a back-end mail server from Data Connection Limited (DCL) that stores, retrieves and manages e-mail messages for a potentially large number of users.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1796">
    <title>A recursive software architecture for location-aware services</title>
    <link>http://hdl.handle.net/10023/1796</link>
    <description>Abstract: A GLObal Smart Space (GLOSS) provides support for interaction amongst people, artefacts and places while taking account of both context and movement on a global scale. Crucial to the definition of a GLOSS is the provision of a set of services, which we term location-aware services, that detect, convey, store and exploit location information. We first describe a framework (ontology), using a small set of concepts, for defining a GLOSS. This allows different services to be implemented without duplication of the basic mechanisms, and abstracts over specific details of the technologies used, thereby accommodating both heterogeneity and evolution. Secondly, we introduce a set of location-aware metaphors that are defined in terms of the GLOSS concepts. Thirdly, we propose a recursive software architecture to support the implementation of the metaphors within the framework. Finally we outline how the software architecture may be applied recursively to provide scalability for location-aware services in the global context.
Description: Submitted to UbiComp 2002</description>
    <dc:date>2002-01-01T00:00:00Z</dc:date>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:creator>Mullen, Kevin</dc:creator>
    <dc:creator>Yang, Y</dc:creator>
    <dc:creator>Connor, R C H</dc:creator>
    <dc:creator>Welen, P</dc:creator>
    <dc:creator>Wilson, A</dc:creator>
    <dc:description>A GLObal Smart Space (GLOSS) provides support for interaction amongst people, artefacts and places while taking account of both context and movement on a global scale. Crucial to the definition of a GLOSS is the provision of a set of services, which we term location-aware services, that detect, convey, store and exploit location information. We first describe a framework (ontology), using a small set of concepts, for defining a GLOSS. This allows different services to be implemented without duplication of the basic mechanisms, and abstracts over specific details of the technologies used, thereby accommodating both heterogeneity and evolution. Secondly, we introduce a set of location-aware metaphors that are defined in terms of the GLOSS concepts. Thirdly, we propose a recursive software architecture to support the implementation of the metaphors within the framework. Finally we outline how the software architecture may be applied recursively to provide scalability for location-aware services in the global context.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1795">
    <title>The ArchWare ADL : Definition of the textual concrete syntax</title>
    <link>http://hdl.handle.net/10023/1795</link>
    <description>Abstract: This deliverable presents the textual concrete syntax of the core and stylebased ArchWare Architecture Description Language (ADL).</description>
    <dc:date>2002-01-01T00:00:00Z</dc:date>
    <dc:creator>Oquendo, F.</dc:creator>
    <dc:creator>Cîmpan, S.</dc:creator>
    <dc:creator>Balasubramaniam, D.</dc:creator>
    <dc:creator>Kirby, G. N. C.</dc:creator>
    <dc:creator>Morrison, R.</dc:creator>
    <dc:description>This deliverable presents the textual concrete syntax of the core and stylebased ArchWare Architecture Description Language (ADL).</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1794">
    <title>Report on the XBase project</title>
    <link>http://hdl.handle.net/10023/1794</link>
    <description>Abstract: This project addressed the conceptual fundamentals of data storage, investigating techniques for provision of highly generic storage facilities that can be tailored to produce various individually customised storage infrastructures, compliant to the needs of particular applications. This requires the separation of mechanism and policy wherever possible. Aspirations include: actors, whether users or individual processes, should be able to bind to, update and manipulate data and programs transparently with respect to their respective locations; programs should be expressed independently of the storage and network technology involved in their execution; storage facilities should be structure-neutral so that actors can impose multiple interpretations over information, simultaneously and safely; information should not be discarded so that arbitrary historical views are supported; raw stored information should be open to all; where security restrictions on its use are required this should be achieved using cryptographic techniques. The key advances of the research were:1) the identification of a candidate set of minimal storage system building blocks, which are sufficiently simple to avoid encapsulating policy where it cannot be customised by applications, and composable to build highly flexible storage architectures 2) insight into the nature of append-only storage components, and the issues arising from their application to common storage use-cases.</description>
    <dc:date>2003-01-01T00:00:00Z</dc:date>
    <dc:creator>Zirintsis, Evangelos</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Morrison, Ron</dc:creator>
    <dc:description>This project addressed the conceptual fundamentals of data storage, investigating techniques for provision of highly generic storage facilities that can be tailored to produce various individually customised storage infrastructures, compliant to the needs of particular applications. This requires the separation of mechanism and policy wherever possible. Aspirations include: actors, whether users or individual processes, should be able to bind to, update and manipulate data and programs transparently with respect to their respective locations; programs should be expressed independently of the storage and network technology involved in their execution; storage facilities should be structure-neutral so that actors can impose multiple interpretations over information, simultaneously and safely; information should not be discarded so that arbitrary historical views are supported; raw stored information should be open to all; where security restrictions on its use are required this should be achieved using cryptographic techniques. The key advances of the research were:1) the identification of a candidate set of minimal storage system building blocks, which are sufficiently simple to avoid encapsulating policy where it cannot be customised by applications, and composable to build highly flexible storage architectures 2) insight into the nature of append-only storage components, and the issues arising from their application to common storage use-cases.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1793">
    <title>Current directions in hyper-programming</title>
    <link>http://hdl.handle.net/10023/1793</link>
    <description>Abstract: The traditional representation of a program is as a linear sequence of text. At some stage in the execution sequence the source text is checked for type correctness and its translated form is linked to values in the environment. When this is performed early in the execution process, confidence in the correctness of the program is raised. During program execution, tools such as debuggers are used to inspect the running state of programs. Relating this state to the linear text is often problematical. We have developed a technique, hyperprogramming, that allows the representations of source programs to include direct links (hyper-links) to values, including code, that already exist in the environment. Hyperprogramming achieves our two objectives of being able to link earlier than before, at program composition time, and to represent sharing and thus closure and through this the run-time state of a program. This paper reviews our work on hyper-programming and proposes some current research areas.</description>
    <dc:date>2000-01-01T00:00:00Z</dc:date>
    <dc:creator>Morrison, R</dc:creator>
    <dc:creator>Connor, R C H</dc:creator>
    <dc:creator>Cutts, Q I</dc:creator>
    <dc:creator>Dearle, A</dc:creator>
    <dc:creator>Farkas, A</dc:creator>
    <dc:creator>Kirby, G N C</dc:creator>
    <dc:creator>McGettrick, R</dc:creator>
    <dc:creator>Zirintsis, Evangelos</dc:creator>
    <dc:description>The traditional representation of a program is as a linear sequence of text. At some stage in the execution sequence the source text is checked for type correctness and its translated form is linked to values in the environment. When this is performed early in the execution process, confidence in the correctness of the program is raised. During program execution, tools such as debuggers are used to inspect the running state of programs. Relating this state to the linear text is often problematical. We have developed a technique, hyperprogramming, that allows the representations of source programs to include direct links (hyper-links) to values, including code, that already exist in the environment. Hyperprogramming achieves our two objectives of being able to link earlier than before, at program composition time, and to represent sharing and thus closure and through this the run-time state of a program. This paper reviews our work on hyper-programming and proposes some current research areas.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1792">
    <title>A reflective approach to providing flexibility in application distribution</title>
    <link>http://hdl.handle.net/10023/1792</link>
    <description>Abstract: Current middleware systems suffer from drawbacks. Often one is forced to make decisions early in the design process about which classes may participate in inter-machine communication. Further, application level and middleware specific semantics cannot be separated forcing an unnatural design. The RAFDA project proposes to adress these deficiencies by creating an adaptive, reflective framework that enables the transformation of non-distributed applications into isomorphic applications whose distribution architecture is flexible. This paper describes the code transformation techniques that have been developed as part of the project. The system enables the distribution of a program according to a flexible configuration without user intervention. Proxy objects can then be substituted, permitting cross-address space communication. The distributed program can adapt to its environment by dynamically altering its distribution boundaries.
Description: 2nd International Workshop on Reflective and Adaptive Middleware</description>
    <dc:date>2003-01-01T00:00:00Z</dc:date>
    <dc:creator>Rebón Portillo, Álvaro</dc:creator>
    <dc:creator>Walker, Scott</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:description>Current middleware systems suffer from drawbacks. Often one is forced to make decisions early in the design process about which classes may participate in inter-machine communication. Further, application level and middleware specific semantics cannot be separated forcing an unnatural design. The RAFDA project proposes to adress these deficiencies by creating an adaptive, reflective framework that enables the transformation of non-distributed applications into isomorphic applications whose distribution architecture is flexible. This paper describes the code transformation techniques that have been developed as part of the project. The system enables the distribution of a program according to a flexible configuration without user intervention. Proxy objects can then be substituted, permitting cross-address space communication. The distributed program can adapt to its environment by dynamically altering its distribution boundaries.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1791">
    <title>Reflection and reification in process system evolution : experience and opportunity</title>
    <link>http://hdl.handle.net/10023/1791</link>
    <description>Abstract: Process systems aim to support many people involved in many processes over a long period of time. They provide facilities for storing and manipulating processes in both the representation and enactment domains. This paper argues that process systems should support ongoing transformations between these domains, at any level of granularity. The notion of creating a enactment model instance from a representation is merely one restricted transformation. Especially when process evolution is considered the case for thinking in terms of model instances is weak. This argument is supported by our experience of the ProcessWeb process system facilities for developing and evolving process models. The idea of hyper-code, which supports very general transformations between representation and enactment domains, is described. This offers the prospect of further improvements in this area.</description>
    <dc:date>2001-01-01T00:00:00Z</dc:date>
    <dc:creator>Greenwood, RM</dc:creator>
    <dc:creator>Balasubramaniam, Dharini</dc:creator>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Mayes, K</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:creator>Seet, W</dc:creator>
    <dc:creator>Warboys, BC</dc:creator>
    <dc:creator>Zirintsis, Evangelos</dc:creator>
    <dc:description>Process systems aim to support many people involved in many processes over a long period of time. They provide facilities for storing and manipulating processes in both the representation and enactment domains. This paper argues that process systems should support ongoing transformations between these domains, at any level of granularity. The notion of creating a enactment model instance from a representation is merely one restricted transformation. Especially when process evolution is considered the case for thinking in terms of model instances is weak. This argument is supported by our experience of the ProcessWeb process system facilities for developing and evolving process models. The idea of hyper-code, which supports very general transformations between representation and enactment domains, is described. This offers the prospect of further improvements in this area.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1790">
    <title>Hyper-code revisited : unifying program source, executable and data</title>
    <link>http://hdl.handle.net/10023/1790</link>
    <description>Abstract: The technique of hyper-programming allows program representations held in a persistent store to contain embedded links to persistent code and data. In 1994, Connor et al proposed extending this to hyper-code, in which program source, executable code and data are all represented to the user in exactly the same form. Here we explore the concept of hyper-code in greater detail and present a set of abstract language-independent operations on which various concrete systems can be based. These operations (explode, implode, evaluate, root and edit) are provided by a single user interface tool that subsumes the functions of both an object browser and a program editor. We then describe a particular implementation using PJama (persistent Java) and examine the impact of several language features on the resulting system.</description>
    <dc:date>2001-01-01T00:00:00Z</dc:date>
    <dc:creator>Zirintsis, Evangelos</dc:creator>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:description>The technique of hyper-programming allows program representations held in a persistent store to contain embedded links to persistent code and data. In 1994, Connor et al proposed extending this to hyper-code, in which program source, executable code and data are all represented to the user in exactly the same form. Here we explore the concept of hyper-code in greater detail and present a set of abstract language-independent operations on which various concrete systems can be based. These operations (explode, implode, evaluate, root and edit) are provided by a single user interface tool that subsumes the functions of both an object browser and a program editor. We then describe a particular implementation using PJama (persistent Java) and examine the impact of several language features on the resulting system.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1789">
    <title>Process support for evolving active architectures</title>
    <link>http://hdl.handle.net/10023/1789</link>
    <description>Abstract: Long-lived, architecture-based software. systems are increasingly important. Effective process support for these systems depends upon recognising their compositional nature and the active, role of their architecture in guiding evolutionary development. Current process approaches have difficulty with run-time architecture changes that are not known a priori, and dealing with extant data during system evolution. This paper describes an approach that deals with these issues. It is based on a process-aware architecture description language (ADL), with explicit compose and decompose constructs, and with a hyper-code representation for dealing with extant data and code. An example is given to illustrate the ease-of-use benefits of this approach.</description>
    <dc:date>2003-01-01T00:00:00Z</dc:date>
    <dc:creator>Greenwood, R M</dc:creator>
    <dc:creator>Balasubramaniam, D</dc:creator>
    <dc:creator>Cimpan, S</dc:creator>
    <dc:creator>Kirby, G N C</dc:creator>
    <dc:creator>Mickan, K</dc:creator>
    <dc:creator>Morrison, R</dc:creator>
    <dc:creator>Oquendo, F</dc:creator>
    <dc:creator>Robertson, I</dc:creator>
    <dc:creator>Seet, W</dc:creator>
    <dc:creator>Snowdon, B</dc:creator>
    <dc:creator>Warboys, B C</dc:creator>
    <dc:creator>Zirintsis, E</dc:creator>
    <dc:description>Long-lived, architecture-based software. systems are increasingly important. Effective process support for these systems depends upon recognising their compositional nature and the active, role of their architecture in guiding evolutionary development. Current process approaches have difficulty with run-time architecture changes that are not known a priori, and dealing with extant data during system evolution. This paper describes an approach that deals with these issues. It is based on a process-aware architecture description language (ADL), with explicit compose and decompose constructs, and with a hyper-code representation for dealing with extant data and code. An example is given to illustrate the ease-of-use benefits of this approach.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1788">
    <title>Architectural support for Global Smart Spaces</title>
    <link>http://hdl.handle.net/10023/1788</link>
    <description>Abstract: A GLObal Smart Space (GLOSS) provides support for interaction amongst people, artefacts and places while taking account of both context and movement on a global scale. Crucial to the definition of a GLOSS is the provision of a set of location-aware services that detect, convey, store and exploit location information. We use one of these services, hearsay, to illustrate the implementation dimensions of a GLOSS. The focus of the paper is on both local and global software architecture to support the implementation of such services. The local architecture is based on XML,pipelines and is used to construct location-aware components. The global architecture is based on a hybrid peer-to-peer routing scheme and provides the local architectures with the means to communicate in the global context.</description>
    <dc:date>2003-01-01T00:00:00Z</dc:date>
    <dc:creator>Dearle, A</dc:creator>
    <dc:creator>Kirby, G</dc:creator>
    <dc:creator>Morrison, R</dc:creator>
    <dc:creator>McCarthy, Andrew John</dc:creator>
    <dc:creator>Mullen, Kevin Matthew</dc:creator>
    <dc:creator>Yang, Yang</dc:creator>
    <dc:creator>Connor, R</dc:creator>
    <dc:creator>Welen, P</dc:creator>
    <dc:creator>Wilson, A</dc:creator>
    <dc:description>A GLObal Smart Space (GLOSS) provides support for interaction amongst people, artefacts and places while taking account of both context and movement on a global scale. Crucial to the definition of a GLOSS is the provision of a set of location-aware services that detect, convey, store and exploit location information. We use one of these services, hearsay, to illustrate the implementation dimensions of a GLOSS. The focus of the paper is on both local and global software architecture to support the implementation of such services. The local architecture is based on XML,pipelines and is used to construct location-aware components. The global architecture is based on a hybrid peer-to-peer routing scheme and provides the local architectures with the means to communicate in the global context.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1787">
    <title>A persistent hyper-programming system</title>
    <link>http://hdl.handle.net/10023/1787</link>
    <description>Abstract: We demonstrate the use of a hyper-programming system in building persistent applications. This allows program representations to contain type-safe links to persistent objects embedded directly within the source code. The benefits include improved efficiency and potential for static program checking, reduced programming effort and the ability to display meaningful source-level representations for first-class procedure values. Hyper-programming represents a completely new style of programming which is only possible in a persistent programming system.</description>
    <dc:date>1997-01-01T00:00:00Z</dc:date>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:creator>Munro, DS</dc:creator>
    <dc:creator>Connor, RCH</dc:creator>
    <dc:creator>Cutts, QI</dc:creator>
    <dc:description>We demonstrate the use of a hyper-programming system in building persistent applications. This allows program representations to contain type-safe links to persistent objects embedded directly within the source code. The benefits include improved efficiency and potential for static program checking, reduced programming effort and the ability to display meaningful source-level representations for first-class procedure values. Hyper-programming represents a completely new style of programming which is only possible in a persistent programming system.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1786">
    <title>Evolving database systems : a persistent view</title>
    <link>http://hdl.handle.net/10023/1786</link>
    <description>Abstract: Orthogonal persistence ensures that information will exist for as long as it is useful, for which it must have the ability to evolve with the growing needs of the application systems that use it. This may involve evolution of the data, meta-data, programs and applications, as well as the users' perception of what the information models. The need for evolution has been well recognised in the traditional (data processing) database community and the cost of failing to evolve can be gauged by the resources being invested in interfacing with legacy systems. Zdonik has identified new classes of application, such as scientific, financial and hypermedia, that require new approaches to evolution. These applications are characterised by their need to store large amounts of data whose structure must evolve as it is discovered by the applications that use it. This requires that the data be mapped dynamically to an evolving schema. Here, we discuss the problems of evolution in these new classes of application within an orthogonally persistent environment and outline some approaches to these problems.
Description: Submitted to POS7</description>
    <dc:date>1997-01-01T00:00:00Z</dc:date>
    <dc:creator>Kirby, G. N. C.</dc:creator>
    <dc:creator>Morrison, R.</dc:creator>
    <dc:creator>Connor, R. C. H.</dc:creator>
    <dc:creator>Zdonik, S. B.</dc:creator>
    <dc:description>Orthogonal persistence ensures that information will exist for as long as it is useful, for which it must have the ability to evolve with the growing needs of the application systems that use it. This may involve evolution of the data, meta-data, programs and applications, as well as the users' perception of what the information models. The need for evolution has been well recognised in the traditional (data processing) database community and the cost of failing to evolve can be gauged by the resources being invested in interfacing with legacy systems. Zdonik has identified new classes of application, such as scientific, financial and hypermedia, that require new approaches to evolution. These applications are characterised by their need to store large amounts of data whose structure must evolve as it is discovered by the applications that use it. This requires that the data be mapped dynamically to an evolving schema. Here, we discuss the problems of evolution in these new classes of application within an orthogonally persistent environment and outline some approaches to these problems.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1785">
    <title>Flask : an architecture supporting concurrent distributed persistent applications</title>
    <link>http://hdl.handle.net/10023/1785</link>
    <description>Abstract: Distributed application systems have become a popular and provenly viable computing paradigm. There are a number of reasons for this such as: the geographical dispersal of information; the improved reliability of multiple computer systems; and the possibility of concurrent execution of applications. As yet no single model of distribution has been pervasive and since the impact of failure semantics varies with the software architecture of applications, it is unlikely that one model will ever dominate. It is difficult to assess or even to compare the attributes of different models especially when run over the same data. This is often made more difficult in that most implementations of distributed models are closed systems with built-in protocols, failure reporting and concurrency control. The Flask architecture, presented here, takes the approach of providing a layered architecture which has the flexibility to support different models of distribution that can run over the same data. To demonstrate the feasibility of Flask an example distributed application is described using the architecture.
Description: Submitted to BNCOD96</description>
    <dc:date>1997-01-01T00:00:00Z</dc:date>
    <dc:creator>Kirby, G. N. C.</dc:creator>
    <dc:creator>Connor, R. C. H.</dc:creator>
    <dc:creator>Cutts, Q. I.</dc:creator>
    <dc:creator>Morrison, R.</dc:creator>
    <dc:creator>Munro, D. S.</dc:creator>
    <dc:creator>Scheuerl, S.</dc:creator>
    <dc:description>Distributed application systems have become a popular and provenly viable computing paradigm. There are a number of reasons for this such as: the geographical dispersal of information; the improved reliability of multiple computer systems; and the possibility of concurrent execution of applications. As yet no single model of distribution has been pervasive and since the impact of failure semantics varies with the software architecture of applications, it is unlikely that one model will ever dominate. It is difficult to assess or even to compare the attributes of different models especially when run over the same data. This is often made more difficult in that most implementations of distributed models are closed systems with built-in protocols, failure reporting and concurrency control. The Flask architecture, presented here, takes the approach of providing a layered architecture which has the flexibility to support different models of distribution that can run over the same data. To demonstrate the feasibility of Flask an example distributed application is described using the architecture.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1784">
    <title>OCB : An object/class browser for Java</title>
    <link>http://hdl.handle.net/10023/1784</link>
    <description>Abstract: This paper describes an interactive browser used for exploring the structure of Java objects and their classes. It is implemented in Java and uses JDK 1.1 core reflection classes to discover details of the objects passed to it. The initial motivation for development arose from the need to browse persistent Java stores; the browser may also be useful as a symbolic debugging and visualisation tool.</description>
    <dc:date>1997-01-01T00:00:00Z</dc:date>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:description>This paper describes an interactive browser used for exploring the structure of Java objects and their classes. It is implemented in Java and uses JDK 1.1 core reflection classes to discover details of the objects passed to it. The initial motivation for development arose from the need to browse persistent Java stores; the browser may also be useful as a symbolic debugging and visualisation tool.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1768">
    <title>Linguistic reflection in Java : a quantitative assessment</title>
    <link>http://hdl.handle.net/10023/1768</link>
    <description>Abstract: Linguistic reflection allows a running program to generate new program fragments and to integrate these into its own execution. The advantages of the technique include attaining high levels of genericity and accommodating system evolution. Here its use to provide generic programs in Java is compared for a particular example, natural join, against alternative implementation approaches.</description>
    <dc:date>1998-01-01T00:00:00Z</dc:date>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:creator>Stemple, D</dc:creator>
    <dc:description>Linguistic reflection allows a running program to generate new program fragments and to integrate these into its own execution. The advantages of the technique include attaining high levels of genericity and accommodating system evolution. Here its use to provide generic programs in Java is compared for a particular example, natural join, against alternative implementation approaches.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1761">
    <title>Instances and connectors : issues for a second generation process language</title>
    <link>http://hdl.handle.net/10023/1761</link>
    <description>Abstract: Over the past decade a variety of process languages have been defined, used and evaluated. It is now possible to consider second generation languages based on this experience. Rather than develop a second generation wish list this position paper explores two issues: instances and connectors. Instances relate to the relationship between a process model as a description and the, possibly multiple, enacting instances which are created from it. Connectors refers to the issue of concurrency control and achieving a higher level of abstraction in how parts of a model interact. We believe that these issues are key to developing systems which can effectively support business processes, and that they have not received sufficient attention within the process modelling community. Through exploring these issues we also illustrate our approach to designing a second generation process language.
Description: This work is supported by UK EPSRC grants GR/L34433 and GR/L32699</description>
    <dc:date>1998-01-01T00:00:00Z</dc:date>
    <dc:creator>Warboys, BC</dc:creator>
    <dc:creator>Balasubramaniam, Dharini</dc:creator>
    <dc:creator>Greenwood, RM</dc:creator>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Mayes, K</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:creator>Munro, DS</dc:creator>
    <dc:description>Over the past decade a variety of process languages have been defined, used and evaluated. It is now possible to consider second generation languages based on this experience. Rather than develop a second generation wish list this position paper explores two issues: instances and connectors. Instances relate to the relationship between a process model as a description and the, possibly multiple, enacting instances which are created from it. Connectors refers to the issue of concurrency control and achieving a higher level of abstraction in how parts of a model interact. We believe that these issues are key to developing systems which can effectively support business processes, and that they have not received sufficient attention within the process modelling community. Through exploring these issues we also illustrate our approach to designing a second generation process language.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1760">
    <title>A persistent view of encapsulation</title>
    <link>http://hdl.handle.net/10023/1760</link>
    <description>Abstract: Orthogonal persistence ensures that information will exist for as long as it is useful, for which it must have the ability to evolve with the growing needs of the application systems that use it. The need for evolution has been well recognised in the traditional (data processing) database community and the cost of failing to evolve can be gauged by the resources being invested in interfacing with legacy systems. Zdonik has identified new classes of application, such as scientific, financial and hypermedia, that require new approaches to evolution. These applications are characterised by their need to store large amounts of data whose structure must evolve as it is discovered. Here, we discuss one particular problem of evolution in these new classes of application in relation to Object-Oriented Database Systems (OODBS): that of the tension between the encapsulation of data within objects and the need for the data be mapped dynamically to an evolving schema. We outline a solution taken from our persistent programming experience and show how it may be used in the O2 OODBS.
Description: This work was supported by EPSRC Grants GR/J67611 “Delivering the Benefits of Persistence” and GR/L32699 “Compliant Systems Architecture”, and the ESPRIT Working Group EP22552 “PASTEL”.</description>
    <dc:date>1998-01-01T00:00:00Z</dc:date>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:description>Orthogonal persistence ensures that information will exist for as long as it is useful, for which it must have the ability to evolve with the growing needs of the application systems that use it. The need for evolution has been well recognised in the traditional (data processing) database community and the cost of failing to evolve can be gauged by the resources being invested in interfacing with legacy systems. Zdonik has identified new classes of application, such as scientific, financial and hypermedia, that require new approaches to evolution. These applications are characterised by their need to store large amounts of data whose structure must evolve as it is discovered. Here, we discuss one particular problem of evolution in these new classes of application in relation to Object-Oriented Database Systems (OODBS): that of the tension between the encapsulation of data within objects and the need for the data be mapped dynamically to an evolving schema. We outline a solution taken from our persistent programming experience and show how it may be used in the O2 OODBS.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1759">
    <title>Variadic genericity through linguistic reflection : a performance evaluation</title>
    <link>http://hdl.handle.net/10023/1759</link>
    <description>Abstract: The use of variadic genericity within schema definitions increases the variety of databases that may be captured by a single specification. For example, a class of databases of engineering part objects, in which each database instance varies in the types of the parts and the number of part types, should lend itself to a single definition. However, precise specification of such a schema is beyond the capability of polymorphic type systems and schema definition languages. It is possible to capture such generality by introducing a level of interpretation, in which the variation in types and in the number of fields is encoded in a general data structure. Queries that interpret the encoded information can be written against this general data structure. An alternative approach to supporting such variadic genericity is to generate a precise database containing tailored data structures and queries for each different instance of the virtual schema.1 This involves source code generation and dynamic compilation, a process known as linguistic reflection. The motivation is that once generated, the specific queries may execute more efficiently than their generic counter-parts, since the generic code is “compiled away”. This paper compares the two approaches and gives performance measurements for an example using the persistent languages Napier88 and PJama.
Description: This work is partially supported by the EPSRC through Grant GR/L32699 “Compliant System Architecture” and by ESPRIT through Working Group EP22552 “PASTEL”.</description>
    <dc:date>1999-01-01T00:00:00Z</dc:date>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:description>The use of variadic genericity within schema definitions increases the variety of databases that may be captured by a single specification. For example, a class of databases of engineering part objects, in which each database instance varies in the types of the parts and the number of part types, should lend itself to a single definition. However, precise specification of such a schema is beyond the capability of polymorphic type systems and schema definition languages. It is possible to capture such generality by introducing a level of interpretation, in which the variation in types and in the number of fields is encoded in a general data structure. Queries that interpret the encoded information can be written against this general data structure. An alternative approach to supporting such variadic genericity is to generate a precise database containing tailored data structures and queries for each different instance of the virtual schema.1 This involves source code generation and dynamic compilation, a process known as linguistic reflection. The motivation is that once generated, the specific queries may execute more efficiently than their generic counter-parts, since the generic code is “compiled away”. This paper compares the two approaches and gives performance measurements for an example using the persistent languages Napier88 and PJama.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1758">
    <title>Linguistic reflection in Java</title>
    <link>http://hdl.handle.net/10023/1758</link>
    <description>Abstract: Reflective systems allow their own structures to be altered from within. Here we are concerned with a style of reflection, called linguistic reflection, which is the ability of a running program to generate new program fragments and to integrate these into its own execution. In particular we describe how this kind of reflection may be provided in the compiler-based, strongly typed object-oriented programming language Java. The advantages of the programming technique include attaining high levels of genericity and accommodating system evolution. These advantages are illustrated by an example taken from persistent programming which shows how linguistic reflection allows functionality (program code) to be generated on demand (Just-In-Time) from a generic specification and integrated into the evolving running program. The technique is evaluated against alternative implementation approaches with respect to efficiency, safety and ease of use.</description>
    <dc:date>1998-08-01T00:00:00Z</dc:date>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:creator>Stemple, David Wilber</dc:creator>
    <dc:description>Reflective systems allow their own structures to be altered from within. Here we are concerned with a style of reflection, called linguistic reflection, which is the ability of a running program to generate new program fragments and to integrate these into its own execution. In particular we describe how this kind of reflection may be provided in the compiler-based, strongly typed object-oriented programming language Java. The advantages of the programming technique include attaining high levels of genericity and accommodating system evolution. These advantages are illustrated by an example taken from persistent programming which shows how linguistic reflection allows functionality (program code) to be generated on demand (Just-In-Time) from a generic specification and integrated into the evolving running program. The technique is evaluated against alternative implementation approaches with respect to efficiency, safety and ease of use.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1745">
    <title>First Smart Spaces</title>
    <link>http://hdl.handle.net/10023/1745</link>
    <description>Abstract: This document describes the Gloss software currently implemented. The description of the Gloss demonstrator for multi-surface interaction can be found in D17. The ongoing integration activity for the work described in D17and D8 constitutes our development of infrastructure for a first smart space. In this report, the focus is on infrastructure to support the implementation of location aware services. A local architecture provides a framework for constructing Gloss applications, termed assemblies, that run on individual physical nodes. A global architecture defines an overlay network for linking individual assemblies. Both local and global architectures are under active development.</description>
    <dc:date>2002-09-01T00:00:00Z</dc:date>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>McCarthy, Andrew</dc:creator>
    <dc:creator>Morrison, Ron</dc:creator>
    <dc:creator>Mullen, Kevin</dc:creator>
    <dc:creator>Yang, Yanyan</dc:creator>
    <dc:creator>Connor, Richard</dc:creator>
    <dc:creator>Welen, Paula</dc:creator>
    <dc:creator>Wilson, Andy</dc:creator>
    <dc:description>This document describes the Gloss software currently implemented. The description of the Gloss demonstrator for multi-surface interaction can be found in D17. The ongoing integration activity for the work described in D17and D8 constitutes our development of infrastructure for a first smart space. In this report, the focus is on infrastructure to support the implementation of location aware services. A local architecture provides a framework for constructing Gloss applications, termed assemblies, that run on individual physical nodes. A global architecture defines an overlay network for linking individual assemblies. Both local and global architectures are under active development.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1744">
    <title>Constructing active architectures in the ArchWare ADL</title>
    <link>http://hdl.handle.net/10023/1744</link>
    <description>Abstract: Software that cannot change is condemned to atrophy: it cannot accommodate the constant revision and re-negotiation of its business goals nor intercept the potential of new technology. To accommodate change in such systems we have defined an active software architecture to be: dynamic in that the structure and cardinality of the components and interactions are not statically known; updatable in that components can be replaced dynamically; and evolvable in that it permits its executing specification to be changed. Here we describe the facilities of the ArchWare architecture description language (ADL) for specifying active architectures. The contribution of the work is the unique combination of concepts including: a pi-calculus based communication and expression language for specifying executable architectures; hyper-code as an underlying representation of system execution; a decomposition operator to break up and introspect on executing systems; and structural reflection for creating new components and binding them into running systems.
Description: Submitted to ICSE 2004</description>
    <dc:date>2003-01-01T00:00:00Z</dc:date>
    <dc:creator>Morrison, Ron</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Balasubramaniam, Dharini</dc:creator>
    <dc:creator>Mickan, Kath</dc:creator>
    <dc:creator>Oquendo, Flavio</dc:creator>
    <dc:creator>Cîmpan, Sorana</dc:creator>
    <dc:creator>Warboys, Brian</dc:creator>
    <dc:creator>Snowdon, Bob</dc:creator>
    <dc:creator>Greenwood, Mark</dc:creator>
    <dc:description>Software that cannot change is condemned to atrophy: it cannot accommodate the constant revision and re-negotiation of its business goals nor intercept the potential of new technology. To accommodate change in such systems we have defined an active software architecture to be: dynamic in that the structure and cardinality of the components and interactions are not statically known; updatable in that components can be replaced dynamically; and evolvable in that it permits its executing specification to be changed. Here we describe the facilities of the ArchWare architecture description language (ADL) for specifying active architectures. The contribution of the work is the unique combination of concepts including: a pi-calculus based communication and expression language for specifying executable architectures; hyper-code as an underlying representation of system execution; a decomposition operator to break up and introspect on executing systems; and structural reflection for creating new components and binding them into running systems.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1743">
    <title>Second set of spaces</title>
    <link>http://hdl.handle.net/10023/1743</link>
    <description>Abstract: This document describes the Gloss infrastructure supporting implementation of location-aware services. The document is in two parts. The first part describes software architecture for the smart space. As described in D8, a local architecture provides a framework for constructing Gloss applications, termed assemblies, that run on individual physical nodes, whereas a global architecture defines an overlay network for linking individual assemblies. The second part outlines the hardware installation for local sensing. This describes the first phase of the installation in Strathclyde University.</description>
    <dc:date>2003-01-01T00:00:00Z</dc:date>
    <dc:creator>Zirintsis, Evangelos</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Allen, Ben</dc:creator>
    <dc:creator>MacInnis, Rob</dc:creator>
    <dc:creator>McCarthy, Andrew</dc:creator>
    <dc:creator>Morrison, Ron</dc:creator>
    <dc:creator>Nixon, Paddy</dc:creator>
    <dc:creator>Jamieson, Andrew</dc:creator>
    <dc:creator>Nicholson, Chris</dc:creator>
    <dc:creator>Harris, Steven</dc:creator>
    <dc:description>This document describes the Gloss infrastructure supporting implementation of location-aware services. The document is in two parts. The first part describes software architecture for the smart space. As described in D8, a local architecture provides a framework for constructing Gloss applications, termed assemblies, that run on individual physical nodes, whereas a global architecture defines an overlay network for linking individual assemblies. The second part outlines the hardware installation for local sensing. This describes the first phase of the installation in Strathclyde University.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1742">
    <title>An information flow architecture for Global Smart Spaces</title>
    <link>http://hdl.handle.net/10023/1742</link>
    <description>Abstract: In this paper we describe an architecture which: Permits the deployment and execution of components in appropriate geographical locations. Provides security mechanisms that prevent misuse of the architecture. Supports a programming model that is familiar to application programmers. Permits installed components to share data. Permits the deployed components to communicate via communication channels. Provides evolution mechanisms permitting the dynamic rearrangement of inter-connection topologies the components that they connect. Supports the specification and deployment of distributed component deployments.</description>
    <dc:date>2003-11-13T00:00:00Z</dc:date>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>McCarthy, Andrew</dc:creator>
    <dc:creator>Diaz y Carballo, Juan-Carlos</dc:creator>
    <dc:description>In this paper we describe an architecture which: Permits the deployment and execution of components in appropriate geographical locations. Provides security mechanisms that prevent misuse of the architecture. Supports a programming model that is familiar to application programmers. Permits installed components to share data. Permits the deployed components to communicate via communication channels. Provides evolution mechanisms permitting the dynamic rearrangement of inter-connection topologies the components that they connect. Supports the specification and deployment of distributed component deployments.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1741">
    <title>Working document on Gloss ontology</title>
    <link>http://hdl.handle.net/10023/1741</link>
    <description>Abstract: This document describes the Gloss Ontology. The ontology and associated class model are organised into several packages. Section 2 describes each package in detail, while Section 3 contains a summary of the whole ontology.</description>
    <dc:date>2003-01-01T00:00:00Z</dc:date>
    <dc:creator>Coutaz, Joelle</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Dupuy-Chessa, Sophie</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Lachenal, Christophe</dc:creator>
    <dc:creator>Morrison, Ron</dc:creator>
    <dc:creator>Rey, Gaetan</dc:creator>
    <dc:creator>Zirintsis, Evangelos</dc:creator>
    <dc:description>This document describes the Gloss Ontology. The ontology and associated class model are organised into several packages. Section 2 describes each package in detail, while Section 3 contains a summary of the whole ontology.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1740">
    <title>Using generative programming to visualise hypercode in complex and dynamic systems</title>
    <link>http://hdl.handle.net/10023/1740</link>
    <description>Abstract: The research presented here takes place in the context of the EC Funded ArchWare project which focuses on innovative architecture-centric languages, frameworks and tools for engineering evolvable software systems. Of particular interest are complex and dynamic systems characterised by the need to evolve to meet changing requirements without total shutdown or the loss of state information. The ArchWare approach uses the unique combination of a pi-calculus based architecture description language, persistence and hypercode. Hypercode provides the essential base technology for composing and decomposing system components without losing state. The contribution of this work is an implementation of hypercode using generative programming techniques to produce different hypercode visualisations.</description>
    <dc:date>2004-01-01T00:00:00Z</dc:date>
    <dc:creator>Mickan, K</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Balasubramaniam, Dharini</dc:creator>
    <dc:creator>Zirintsis, E</dc:creator>
    <dc:description>The research presented here takes place in the context of the EC Funded ArchWare project which focuses on innovative architecture-centric languages, frameworks and tools for engineering evolvable software systems. Of particular interest are complex and dynamic systems characterised by the need to evolve to meet changing requirements without total shutdown or the loss of state information. The ArchWare approach uses the unique combination of a pi-calculus based architecture description language, persistence and hypercode. Hypercode provides the essential base technology for composing and decomposing system components without losing state. The contribution of this work is an implementation of hypercode using generative programming techniques to produce different hypercode visualisations.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1739">
    <title>Support for evolving software architectures in the ArchWare ADL</title>
    <link>http://hdl.handle.net/10023/1739</link>
    <description>Abstract: Software that cannot evolve is condemned to atrophy: it cannot accommodate the constant revision and re-negotiation of its business goals nor intercept the potential of new technology. To accommodate change in software systems we have defined an active software architecture to be: dynamic in that the structure and cardinality of the components and interactions are changeable during execution; updatable in that components can be replaced; decomposable in that an executing system may be (partially) stopped and split up into its components and interactions; and reflective in that the specification of components and interactions may be evolved during execution. Here we describe the facilities of the ArchWare architecture description language (ADL) for specifying active architectures. The contribution of the work is the unique combination of concepts including: a pi-calculus based communication and expression language for specifying executable architectures; hyper-code as an underlying representation of system execution that can be used for introspection; a decomposition operator to incrementally break up executing systems; and structural reflection for creating new components and binding them into running systems.</description>
    <dc:date>2004-01-01T00:00:00Z</dc:date>
    <dc:creator>Morrison, Ron</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Balasubramaniam, Dharini</dc:creator>
    <dc:creator>Mickan, Kath</dc:creator>
    <dc:creator>Oquendo, Flavio</dc:creator>
    <dc:creator>Cîmpan, Sorana</dc:creator>
    <dc:creator>Warboys, Brian</dc:creator>
    <dc:creator>Snowdon, Bob</dc:creator>
    <dc:creator>Greenwood, Mark</dc:creator>
    <dc:description>Software that cannot evolve is condemned to atrophy: it cannot accommodate the constant revision and re-negotiation of its business goals nor intercept the potential of new technology. To accommodate change in software systems we have defined an active software architecture to be: dynamic in that the structure and cardinality of the components and interactions are changeable during execution; updatable in that components can be replaced; decomposable in that an executing system may be (partially) stopped and split up into its components and interactions; and reflective in that the specification of components and interactions may be evolved during execution. Here we describe the facilities of the ArchWare architecture description language (ADL) for specifying active architectures. The contribution of the work is the unique combination of concepts including: a pi-calculus based communication and expression language for specifying executable architectures; hyper-code as an underlying representation of system execution that can be used for introspection; a decomposition operator to incrementally break up executing systems; and structural reflection for creating new components and binding them into running systems.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1738">
    <title>A framework for constraint-based deployment and autonomic management of distributed applications (extended abstract)</title>
    <link>http://hdl.handle.net/10023/1738</link>
    <description>Abstract: We propose a framework for the deployment and subsequent autonomic management of component-based distributed applications. An initial deployment goal is specified using a declarative constraint language, expressing constraints over aspects such as component-host mappings and component interconnection topology. A constraint solver is used to find a configuration that satisfies the goal, and the configuration is deployed automatically. The deployed application is instrumented to allow subsequent autonomic management. If, during execution, the manager detects that the original goal is no longer being met, the satisfy/deploy process can be repeated automatically in order to generate a revised deployment that does meet the goal.</description>
    <dc:date>2004-05-01T00:00:00Z</dc:date>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>McCarthy, Andrew</dc:creator>
    <dc:description>We propose a framework for the deployment and subsequent autonomic management of component-based distributed applications. An initial deployment goal is specified using a declarative constraint language, expressing constraints over aspects such as component-host mappings and component interconnection topology. A constraint solver is used to find a configuration that satisfies the goal, and the configuration is deployed automatically. The deployed application is instrumented to allow subsequent autonomic management. If, during execution, the manager detects that the original goal is no longer being met, the satisfy/deploy process can be repeated automatically in order to generate a revised deployment that does meet the goal.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1737">
    <title>RAFDA : Middleware supporting the separation of application logic from distribution policy</title>
    <link>http://hdl.handle.net/10023/1737</link>
    <description>Abstract: Middleware technologies often limit the way in which object classes may be used in distributed applications due to the fixed distribution policies imposed by the Middleware system. These policies permeate the applications developed using them and force an unnatural encoding of application level semantics. For example, the application programmer has no direct control over inter-address-space parameter passing semantics since it is fixed by the application's distribution topology which is dictated early in the design cycle by the Middleware. This creates applications that are brittle with respect to changes in the way in which the applications are distributed. This paper explores technology permitting arbitrary objects in an application to be dynamically exposed for remote access. Using this, the application can be written without concern for its distribution with object placement and distribution boundaries decided late in the design cycle and even dynamically. Inter-address-space parameter passing semantics may also be decided independently of object implementation and at varying times in the design cycle, again, possibly as late as run-time. Furthermore, transmission policy may be defined on a per-class, per-method or per-parameter basis maximizing plasticity. This flexibility is of utility in the development of new distributed applications and the creation of management and monitoring infrastructures for existing applications.
Description: Submitted to Middleware 2005</description>
    <dc:date>2005-01-01T00:00:00Z</dc:date>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Walker, Scott</dc:creator>
    <dc:creator>Norcross, Stuart</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>McCarthy, Andrew</dc:creator>
    <dc:description>Middleware technologies often limit the way in which object classes may be used in distributed applications due to the fixed distribution policies imposed by the Middleware system. These policies permeate the applications developed using them and force an unnatural encoding of application level semantics. For example, the application programmer has no direct control over inter-address-space parameter passing semantics since it is fixed by the application's distribution topology which is dictated early in the design cycle by the Middleware. This creates applications that are brittle with respect to changes in the way in which the applications are distributed. This paper explores technology permitting arbitrary objects in an application to be dynamically exposed for remote access. Using this, the application can be written without concern for its distribution with object placement and distribution boundaries decided late in the design cycle and even dynamically. Inter-address-space parameter passing semantics may also be decided independently of object implementation and at varying times in the design cycle, again, possibly as late as run-time. Furthermore, transmission policy may be defined on a per-class, per-method or per-parameter basis maximizing plasticity. This flexibility is of utility in the development of new distributed applications and the creation of management and monitoring infrastructures for existing applications.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1736">
    <title>RAFDA : A policy-aware middleware supporting the flexible separation of application logic from distribution</title>
    <link>http://hdl.handle.net/10023/1736</link>
    <description>Abstract: Middleware technologies often limit the way in which object classes may be used in distributed applications due to the fixed distribution policies that they impose. These policies permeate applications developed using existing middleware systems and force an unnatural encoding of application level semantics. For example, the application programmer has no direct control over inter-address-space parameter passing semantics. Semantics are fixed by the distribution topology of the application, which is dictated early in the design cycle. This creates applications that are brittle with respect to changes in distribution. This paper explores technology that provides control over the extent to which inter-address-space communication is exposed to programmers, in order to aid the creation, maintenance and evolution of distributed applications. The described system permits arbitrary objects in an application to be dynamically exposed for remote access, allowing applications to be written without concern for distribution. Programmers can conceal or expose the distributed nature of applications as required, permitting object placement and distribution boundaries to be decided late in the design cycle and even dynamically. Inter-address-space parameter passing semantics may also be decided independently of object implementation and at varying times in the design cycle, again possibly as late as run-time. Furthermore, transmission policy may be defined on a per-class, per-method or per-parameter basis, maximizing plasticity. This flexibility is of utility in the development of new distributed applications, and the creation of management and monitoring infrastructures for existing applications.
Description: Submitted to EuroSys 2006</description>
    <dc:date>2006-01-01T00:00:00Z</dc:date>
    <dc:creator>Walker, Scott</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Norcross, Stuart</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>McCarthy, Andrew</dc:creator>
    <dc:description>Middleware technologies often limit the way in which object classes may be used in distributed applications due to the fixed distribution policies that they impose. These policies permeate applications developed using existing middleware systems and force an unnatural encoding of application level semantics. For example, the application programmer has no direct control over inter-address-space parameter passing semantics. Semantics are fixed by the distribution topology of the application, which is dictated early in the design cycle. This creates applications that are brittle with respect to changes in distribution. This paper explores technology that provides control over the extent to which inter-address-space communication is exposed to programmers, in order to aid the creation, maintenance and evolution of distributed applications. The described system permits arbitrary objects in an application to be dynamically exposed for remote access, allowing applications to be written without concern for distribution. Programmers can conceal or expose the distributed nature of applications as required, permitting object placement and distribution boundaries to be decided late in the design cycle and even dynamically. Inter-address-space parameter passing semantics may also be decided independently of object implementation and at varying times in the design cycle, again possibly as late as run-time. Furthermore, transmission policy may be defined on a per-class, per-method or per-parameter basis, maximizing plasticity. This flexibility is of utility in the development of new distributed applications, and the creation of management and monitoring infrastructures for existing applications.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1735">
    <title>Exposing application components as web services</title>
    <link>http://hdl.handle.net/10023/1735</link>
    <description>Abstract: This paper explores technology permitting arbitrary application components to be exposed for remote access from other software. Using this, the application and its constituent components can be written without concern for its distribution. Software running in different address spaces, on different machines, can perform operations on the remotely accessible components. This is of utility in the creation of distributed applications and in permitting tools such as debuggers, component browsers, observers or remote probes access to application components. Current middleware systems do not allow arbitrary exposure of application components: instead, the programmer is forced to decide statically which classes of component will support remote accessibility. In the work described here, arbitrary components of any class can be dynamically exposed via Web Services. Traditional Web Services are extended with a remote reference scheme. This extension permits application components to be invoked using either the traditional pass-by-value semantics supported by Web Services or pass-by-reference semantics. The latter permits the preservation of local call semantics across address space boundaries.
Description: Submitted to SAC05</description>
    <dc:date>2004-01-01T00:00:00Z</dc:date>
    <dc:creator>Walker, Scott</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Norcross, Stuart</dc:creator>
    <dc:description>This paper explores technology permitting arbitrary application components to be exposed for remote access from other software. Using this, the application and its constituent components can be written without concern for its distribution. Software running in different address spaces, on different machines, can perform operations on the remotely accessible components. This is of utility in the creation of distributed applications and in permitting tools such as debuggers, component browsers, observers or remote probes access to application components. Current middleware systems do not allow arbitrary exposure of application components: instead, the programmer is forced to decide statically which classes of component will support remote accessibility. In the work described here, arbitrary components of any class can be dynamically exposed via Web Services. Traditional Web Services are extended with a remote reference scheme. This extension permits application components to be invoked using either the traditional pass-by-value semantics supported by Web Services or pass-by-reference semantics. The latter permits the preservation of local call semantics across address space boundaries.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1734">
    <title>Promoting component reuse by separating transmission policy from implementation</title>
    <link>http://hdl.handle.net/10023/1734</link>
    <description>Abstract: In this paper we present a methodology and set of tools which assist the construction of applications from components, by separating the issues of transmission policy from component definition and implementation. This promotes a greater degree of software reuse than is possible using traditional middleware environments. Whilst component technologies are usually presented as a mechanism for promoting reuse, reuse is often limited due to design choices that permeate component implementation. The programmer has no direct control over inter-address-space parameter passing semantics: it is fixed by the distributed application's structure, based on the remote accessibility of the components. Using traditional middleware tools and environments, the application designer may be forced to use an unnatural encoding of application level semantics since application parameter passing semantics are tightly coupled with the component deployment topology. This paper describes how inter-address-space parameter passing semantics may be decided independently of component implementation. Transmission policy may be dynamically defined on a per-class, per-method or per-parameter basis.
Description: Submitted to ICDCS 2005</description>
    <dc:date>2005-01-01T00:00:00Z</dc:date>
    <dc:creator>Walker, Scott</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Norcross, Stuart</dc:creator>
    <dc:description>In this paper we present a methodology and set of tools which assist the construction of applications from components, by separating the issues of transmission policy from component definition and implementation. This promotes a greater degree of software reuse than is possible using traditional middleware environments. Whilst component technologies are usually presented as a mechanism for promoting reuse, reuse is often limited due to design choices that permeate component implementation. The programmer has no direct control over inter-address-space parameter passing semantics: it is fixed by the distributed application's structure, based on the remote accessibility of the components. Using traditional middleware tools and environments, the application designer may be forced to use an unnatural encoding of application level semantics since application parameter passing semantics are tightly coupled with the component deployment topology. This paper describes how inter-address-space parameter passing semantics may be decided independently of component implementation. Transmission policy may be dynamically defined on a per-class, per-method or per-parameter basis.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1733">
    <title>Towards adaptable and adaptive policy-free middleware</title>
    <link>http://hdl.handle.net/10023/1733</link>
    <description>Abstract: We believe that to fully support adaptive distributed applications, middleware must itself be adaptable, adaptive and policy-free. In this paper we present a new language-independent adaptable and adaptive policy framework suitable for integration in a wide variety of middleware systems. This framework facilitates the construction of adaptive distributed applications. The framework addresses adaptability through its ability to represent a wide range of specific middleware policies. Adaptiveness is supported by a rich contextual model, through which an application programmer may control precisely how policies should be selected for any particular interaction with the middleware. A contextual pattern mechanism facilitates the succinct expression of both coarse- and fine-grain policy contexts. Policies may be specified and altered dynamically, and may themselves take account of dynamic conditions. The framework contains no hard-wired policies; instead, all policies can be configured.
Description: Submitted to Dependable and Adaptive Distributed Systems Track, ACM SAC 2007</description>
    <dc:date>2006-01-01T00:00:00Z</dc:date>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Norcross, Stuart</dc:creator>
    <dc:creator>Macdonald, Angus</dc:creator>
    <dc:creator>Bigwood, Greg</dc:creator>
    <dc:description>We believe that to fully support adaptive distributed applications, middleware must itself be adaptable, adaptive and policy-free. In this paper we present a new language-independent adaptable and adaptive policy framework suitable for integration in a wide variety of middleware systems. This framework facilitates the construction of adaptive distributed applications. The framework addresses adaptability through its ability to represent a wide range of specific middleware policies. Adaptiveness is supported by a rich contextual model, through which an application programmer may control precisely how policies should be selected for any particular interaction with the middleware. A contextual pattern mechanism facilitates the succinct expression of both coarse- and fine-grain policy contexts. Policies may be specified and altered dynamically, and may themselves take account of dynamic conditions. The framework contains no hard-wired policies; instead, all policies can be configured.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1732">
    <title>A generic storage API</title>
    <link>http://hdl.handle.net/10023/1732</link>
    <description>Abstract: We present a generic API suitable for provision of highly generic storage facilities that can be tailored to produce various individually customised storage infrastructures. The paper identifies a candidate set of minimal storage system building blocks, which are sufficiently simple to avoid encapsulating policy where it cannot be customised by applications, and composable to build highly flexible storage architectures. Four main generic components are defined: the store, the namer, the caster and the interpreter. It is hypothesised that these are sufficiently general that they could act as building blocks for any information storage and retrieval system. The essential characteristics of each are defined by an interface, which may be implemented by multiple implementing classes.
Description: Submitted to ACSC 2004</description>
    <dc:date>2003-01-01T00:00:00Z</dc:date>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Zirintsis, Evangelos</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Morrison, Ron</dc:creator>
    <dc:description>We present a generic API suitable for provision of highly generic storage facilities that can be tailored to produce various individually customised storage infrastructures. The paper identifies a candidate set of minimal storage system building blocks, which are sufficiently simple to avoid encapsulating policy where it cannot be customised by applications, and composable to build highly flexible storage architectures. Four main generic components are defined: the store, the namer, the caster and the interpreter. It is hypothesised that these are sufficiently general that they could act as building blocks for any information storage and retrieval system. The essential characteristics of each are defined by an interface, which may be implemented by multiple implementing classes.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1731">
    <title>A framework for constraint-based deployment and autonomic management of distributed applications</title>
    <link>http://hdl.handle.net/10023/1731</link>
    <description>Abstract: We propose a framework for deployment and subsequent autonomic management of component-based distributed applications. An initial deployment goal is specified using a declarative constraint language, expressing constraints over aspects such as component-host mappings and component interconnection topology. A constraint solver is used to find a configuration that satisfies the goal, and the configuration is deployed automatically. The deployed application is instrumented to allow subsequent autonomic management. If, during execution, the manager detects that the original goal is no longer being met, the satisfy/deploy process can be repeated automatically in order to generate a revised deployment that does meet the goal.
Description: Submitted to ICAC-04. Extended abstract available from IEEE at DOI:10.1109/ICAC.2004.1301386</description>
    <dc:date>2004-01-01T00:00:00Z</dc:date>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>McCarthy, Andrew</dc:creator>
    <dc:description>We propose a framework for deployment and subsequent autonomic management of component-based distributed applications. An initial deployment goal is specified using a declarative constraint language, expressing constraints over aspects such as component-host mappings and component interconnection topology. A constraint solver is used to find a configuration that satisfies the goal, and the configuration is deployed automatically. The deployed application is instrumented to allow subsequent autonomic management. If, during execution, the manager detects that the original goal is no longer being met, the satisfy/deploy process can be repeated automatically in order to generate a revised deployment that does meet the goal.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1730">
    <title>A middleware framework for constraint-based deployment and autonomic management of distributed applications</title>
    <link>http://hdl.handle.net/10023/1730</link>
    <description>Abstract: We propose a middleware framework for deployment and subsequent autonomic management of component-based distributed applications. An initial deployment goal is specified using a declarative constraint language, expressing constraints over aspects such as component-host mappings and component interconnection topology. A constraint solver is used to find a configuration that satisfies the goal, and the configuration is deployed automatically. The deployed application is instrumented to allow subsequent autonomic management. If, during execution, the manager detects that the original goal is no longer being met, the satisfy/deploy process can be repeated automatically in order to generate a revised deployment that does meet the goal.
Description: Submitted to Middleware 04</description>
    <dc:date>2004-01-01T00:00:00Z</dc:date>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>McCarthy, Andrew</dc:creator>
    <dc:description>We propose a middleware framework for deployment and subsequent autonomic management of component-based distributed applications. An initial deployment goal is specified using a declarative constraint language, expressing constraints over aspects such as component-host mappings and component interconnection topology. A constraint solver is used to find a configuration that satisfies the goal, and the configuration is deployed automatically. The deployed application is instrumented to allow subsequent autonomic management. If, during execution, the manager detects that the original goal is no longer being met, the satisfy/deploy process can be repeated automatically in order to generate a revised deployment that does meet the goal.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1729">
    <title>A methodology for developing and deploying distributed applications</title>
    <link>http://hdl.handle.net/10023/1729</link>
    <description>Abstract: We describe a methodology for developing and deploying distributed Java applications using a reflective middleware system called RAFDA. We illustrate the methodology by describing how it has been used to develop a peer-to-peer infrastructure, and explain the benefits relative to other techniques. The strengths of the approach are that the application logic can be designed and implemented completely independently of distribution concerns, easing the development task, and that this gives great flexibility to alter distribution decisions late in the development cycle.</description>
    <dc:date>2005-01-01T00:00:00Z</dc:date>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Walker, Scott Mervyn</dc:creator>
    <dc:creator>Norcross, Stuart John</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:description>We describe a methodology for developing and deploying distributed Java applications using a reflective middleware system called RAFDA. We illustrate the methodology by describing how it has been used to develop a peer-to-peer infrastructure, and explain the benefits relative to other techniques. The strengths of the approach are that the application logic can be designed and implemented completely independently of distribution concerns, easing the development task, and that this gives great flexibility to alter distribution decisions late in the development cycle.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1728">
    <title>A flexible and secure deployment framework for distributed applications</title>
    <link>http://hdl.handle.net/10023/1728</link>
    <description>Abstract: This paper describes an implemented system which is designed to support the deployment of applications offering distributed services, comprising a number of distributed components. This is achieved by creating high level placement and topology descriptions which drive tools that deploy applications consisting of components running on multiple hosts. The system addresses issues of heterogeneity by providing abstractions over host-specific attributes yielding a homogeneous run-time environment into which components may be deployed. The run-time environments provide secure binding mechanisms that permit deployed components to bind to stored data and services on the hosts on which they are running.</description>
    <dc:date>2004-05-20T00:00:00Z</dc:date>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>McCarthy, Andrew</dc:creator>
    <dc:creator>Diaz y Carballo, Juan-Carlos</dc:creator>
    <dc:description>This paper describes an implemented system which is designed to support the deployment of applications offering distributed services, comprising a number of distributed components. This is achieved by creating high level placement and topology descriptions which drive tools that deploy applications consisting of components running on multiple hosts. The system addresses issues of heterogeneity by providing abstractions over host-specific attributes yielding a homogeneous run-time environment into which components may be deployed. The run-time environments provide secure binding mechanisms that permit deployed components to bind to stored data and services on the hosts on which they are running.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1727">
    <title>An active-architecture approach to COTS integration</title>
    <link>http://hdl.handle.net/10023/1727</link>
    <description>Abstract: Commercial off-the-shelf (COTS) software products are increasingly used as standard components within integrated information systems. This creates challenges since both their developers and source code are not usually available, and the ongoing development of COTS cannot be predicted. The ArchWare Framework approach recognises COTS products as part of the ambient environment of an information system and therefore an important part of development is incorporating COTS as effective system components. This integration of COTS components, and the composition of components, is captured by an active architecture model which changes as the system evolves. Indeed the architecture modelling language used enables it to express the monitoring and evolution of a system. This active architecture model is structured using control system principles. By modelling both integration and evolution it can guide the system’s response to both predicted and emergent changes that arise from the use of COTS products.</description>
    <dc:date>2005-07-01T00:00:00Z</dc:date>
    <dc:creator>Warboys, B.C.</dc:creator>
    <dc:creator>Snowdon, R.</dc:creator>
    <dc:creator>Greenwood, R.M.</dc:creator>
    <dc:creator>Seet, W.</dc:creator>
    <dc:creator>Robertson, I.</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:creator>Balasubramaniam, Dharini</dc:creator>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Mickan, K.</dc:creator>
    <dc:description>Commercial off-the-shelf (COTS) software products are increasingly used as standard components within integrated information systems. This creates challenges since both their developers and source code are not usually available, and the ongoing development of COTS cannot be predicted. The ArchWare Framework approach recognises COTS products as part of the ambient environment of an information system and therefore an important part of development is incorporating COTS as effective system components. This integration of COTS components, and the composition of components, is captured by an active architecture model which changes as the system evolves. Indeed the architecture modelling language used enables it to express the monitoring and evolution of a system. This active architecture model is structured using control system principles. By modelling both integration and evolution it can guide the system’s response to both predicted and emergent changes that arise from the use of COTS products.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1726">
    <title>Hyper-programming in Java</title>
    <link>http://hdl.handle.net/10023/1726</link>
    <description>Abstract: Hyper-programming is a technology only available in persistent systems since hyper-program source contains both text and links to persistent objects. A hyper-programming system has already been prototyped in the persistent programming language Napier88. Here we report on the transfer of that technology to a more commercial platform, Java. The component technologies required for hyper-programming include linguistic reflection, a persistent store, and a browsing mechanism, all of which have been reported elsewhere. The topics of discussion here are the additional technologies of: the specification of denotable hyper-links in Java; a mechanism for preserving links over traditional compilation; a hyper-program editor; and the integration of the editor and the browser with the hyper-programming user interface. We describe their design and implementation. In total these technologies constitute a hyper-programming system in Java.</description>
    <dc:date>1999-01-01T00:00:00Z</dc:date>
    <dc:creator>Zirintsis, E</dc:creator>
    <dc:creator>Dunstan, VS</dc:creator>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:description>Hyper-programming is a technology only available in persistent systems since hyper-program source contains both text and links to persistent objects. A hyper-programming system has already been prototyped in the persistent programming language Napier88. Here we report on the transfer of that technology to a more commercial platform, Java. The component technologies required for hyper-programming include linguistic reflection, a persistent store, and a browsing mechanism, all of which have been reported elsewhere. The topics of discussion here are the additional technologies of: the specification of denotable hyper-links in Java; a mechanism for preserving links over traditional compilation; a hyper-program editor; and the integration of the editor and the browser with the hyper-programming user interface. We describe their design and implementation. In total these technologies constitute a hyper-programming system in Java.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1725">
    <title>Generating a family of Byzantine tolerant protocol implementations using a meta-model architecture</title>
    <link>http://hdl.handle.net/10023/1725</link>
    <description>Abstract: We describe an approach to modelling a Byzantine tolerant distributed algorithm as a family of related finite state machines, generated from a single meta-model. Various artefacts are generated from each state machine, including diagrams and source-level protocol implementations. The approach allows a state machine formulation to be applied to problems for which it would not otherwise be suitable, increasing confidence in correctness.</description>
    <dc:date>2007-06-25T00:00:00Z</dc:date>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Norcross, Stuart</dc:creator>
    <dc:description>We describe an approach to modelling a Byzantine tolerant distributed algorithm as a family of related finite state machines, generated from a single meta-model. Various artefacts are generated from each state machine, including diagrams and source-level protocol implementations. The approach allows a state machine formulation to be applied to problems for which it would not otherwise be suitable, increasing confidence in correctness.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1724">
    <title>Demonstration of hyper-programming in Java</title>
    <link>http://hdl.handle.net/10023/1724</link>
    <description>Abstract: We demonstrate the use of a hyper-programming system to build persistent Java applications in PJama, an orthogonally persistent version of Java. This allows program representations to contain type-safe links to persistent objects embedded directly within the source code. The potential benefits include greater potential for static program checking, improved efficiency, and reduced programming effort.</description>
    <dc:date>1999-01-01T00:00:00Z</dc:date>
    <dc:creator>Zirintsis, E</dc:creator>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:description>We demonstrate the use of a hyper-programming system to build persistent Java applications in PJama, an orthogonally persistent version of Java. This allows program representations to contain type-safe links to persistent objects embedded directly within the source code. The potential benefits include greater potential for static program checking, improved efficiency, and reduced programming effort.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1722">
    <title>An approach to compliance in software architectures</title>
    <link>http://hdl.handle.net/10023/1722</link>
    <description>Abstract: Software architectures are designed to meet the needs of the applications that use them. With conventional architectures this is done by predicting the average needs of the majority of the applications they support. In contrast, a compliant software architecture can accommodate the needs of a particular application. As the application evolves, its requirements change and the supporting software components, if compliant, change accordingly to meet these new requirements.
Description: Special Issue on Informatics</description>
    <dc:date>2000-08-01T00:00:00Z</dc:date>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:creator>Balasubramaniam, Dharini</dc:creator>
    <dc:creator>Greenwood, RM</dc:creator>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Mayes, K</dc:creator>
    <dc:creator>Munro, DS</dc:creator>
    <dc:creator>Warboys, B</dc:creator>
    <dc:description>Software architectures are designed to meet the needs of the applications that use them. With conventional architectures this is done by predicting the average needs of the majority of the applications they support. In contrast, a compliant software architecture can accommodate the needs of a particular application. As the application evolves, its requirements change and the supporting software components, if compliant, change accordingly to meet these new requirements.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1721">
    <title>System Evolution, Feedback and Compliant Architectures</title>
    <link>http://hdl.handle.net/10023/1721</link>
    <description>Description: Proceedings, International Workshop on Feedback and Evolution in Software and Business Processes (FEAST 2000), Imperial College, London. Supported by EPSRC</description>
    <dc:date>2000-01-01T00:00:00Z</dc:date>
    <dc:creator>Greenwood, RM</dc:creator>
    <dc:creator>Mayes, K</dc:creator>
    <dc:creator>Warboys, BC</dc:creator>
    <dc:creator>Yeomans, BS</dc:creator>
    <dc:creator>Balasubramaniam, Dharini</dc:creator>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1711">
    <title>Self-adaptation applied to peer-set maintenance in Chord via a generic autonomic management framework</title>
    <link>http://hdl.handle.net/10023/1711</link>
    <description>Abstract: Self-adaptation can be achieved by autonomic management of facets of a system’s constituent components. This paper reports on a generic autonomic management frame-work and on its application to a key-based routing protocol as used in the peer-to-peer overlay Chord. The framework implements generic components of the autonomic management cycle. In the work reported here it was used to build a manager which autonomically controls the maintenance scheduling of the peer-set in individual Chord nodes, governed by some high-level policies. This manager improved routing performance and resource consumption in comparison to statically configured Chord nodes in a deployed network which was exposed to various membership churn and workload patterns.</description>
    <dc:date>2010-09-27T00:00:00Z</dc:date>
    <dc:creator>Tauber, M.</dc:creator>
    <dc:creator>Kirby, G. N. C.</dc:creator>
    <dc:creator>Dearle, A.</dc:creator>
    <dc:description>Self-adaptation can be achieved by autonomic management of facets of a system’s constituent components. This paper reports on a generic autonomic management frame-work and on its application to a key-based routing protocol as used in the peer-to-peer overlay Chord. The framework implements generic components of the autonomic management cycle. In the work reported here it was used to build a manager which autonomically controls the maintenance scheduling of the peer-set in individual Chord nodes, governed by some high-level policies. This manager improved routing performance and resource consumption in comparison to statically configured Chord nodes in a deployed network which was exposed to various membership churn and workload patterns.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1683">
    <title>Fulfilling the vision of autonomic computing</title>
    <link>http://hdl.handle.net/10023/1683</link>
    <description>Abstract: Efforts since 2001 to design self-managing systems have yielded many impressive achievements, yet the original vision of autonomic computing remains unfulfilled. Researchers must develop a comprehensive systems engineering approach to create effective solutions for next-generation enterprise and sensor systems.</description>
    <dc:date>2010-01-01T00:00:00Z</dc:date>
    <dc:creator>Dobson, Simon</dc:creator>
    <dc:creator>Sterritt, Roy</dc:creator>
    <dc:creator>Nixon, Paddy</dc:creator>
    <dc:creator>Hinchey, Mike</dc:creator>
    <dc:description>Efforts since 2001 to design self-managing systems have yielded many impressive achievements, yet the original vision of autonomic computing remains unfulfilled. Researchers must develop a comprehensive systems engineering approach to create effective solutions for next-generation enterprise and sensor systems.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1675">
    <title>Multi criteria adaptation mechanisms in homological sensor networks</title>
    <link>http://hdl.handle.net/10023/1675</link>
    <description>Abstract: One fundamental feature of sensor network is unpredictable and this brings us a challenge of how to design an adaptation mechanism to let a sensor network adjust itself based on current "context" and pre-defined network criteria which include coverage density, fault tolerance, system life and so on. The key idea of our work is, based on calculation of nodes coverage, we can let networks be adaptive to ongoing changing network situation. We use system working life as our criterion in this work to demonstrate the potential usage of our system. An algebraic topology tool, homology, is used in our work to calculate sensor nodes coverage since the local properties of a sensor network, obtained by local interactions among nodes, can be captured by certain topological spaces. Also the global properties of the sensor network characteristics correspond to certain topological invariants of these spaces. Unlike other approaches, our work does not need any node location or orientation information and it does not have any assumption about the node deployment control and domain geometry. The only thing that it needs to calculate nodes coverage is a peer to peer communication graph.</description>
    <dc:date>2008-11-01T00:00:00Z</dc:date>
    <dc:creator>Zhang, Hui</dc:creator>
    <dc:creator>Nixon, Paddy</dc:creator>
    <dc:creator>Dobson, Simon</dc:creator>
    <dc:description>One fundamental feature of sensor network is unpredictable and this brings us a challenge of how to design an adaptation mechanism to let a sensor network adjust itself based on current "context" and pre-defined network criteria which include coverage density, fault tolerance, system life and so on. The key idea of our work is, based on calculation of nodes coverage, we can let networks be adaptive to ongoing changing network situation. We use system working life as our criterion in this work to demonstrate the potential usage of our system. An algebraic topology tool, homology, is used in our work to calculate sensor nodes coverage since the local properties of a sensor network, obtained by local interactions among nodes, can be captured by certain topological spaces. Also the global properties of the sensor network characteristics correspond to certain topological invariants of these spaces. Unlike other approaches, our work does not need any node location or orientation information and it does not have any assumption about the node deployment control and domain geometry. The only thing that it needs to calculate nodes coverage is a peer to peer communication graph.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1671">
    <title>A peer-to-peer middleware framework for resilient persistent programming</title>
    <link>http://hdl.handle.net/10023/1671</link>
    <description>Abstract: The persistent programming systems of the 1980s offered a programming model that integrated computation and long-term storage. In these systems, reliable applications could be engineered without requiring the programmer to write translation code to manage the transfer of data to and from non-volatile storage. More importantly, it simplified the programmer's conceptual model of an application, and avoided the many coherency problems that result from multiple cached copies of the same information. Although technically innovative, persistent languages were not widely adopted, perhaps due in part to their closed-world model. Each persistent store was located on a single host, and there were no flexible mechanisms for communication or transfer of data between separate stores. Here we re-open the work on persistence and combine it with modern peer-to-peer techniques in order to provide support for orthogonal persistence in resilient and potentially long-running distributed applications. Our vision is of an infrastructure within which an application can be developed and distributed with minimal modification, whereupon the application becomes resilient to certain failure modes. If a node, or the connection to it, fails during execution of the application, the objects are re-instantiated from distributed replicas, without their reference holders being aware of the failure. Furthermore, we believe that this can be achieved within a spectrum of application programmer intervention, ranging from minimal to totally prescriptive, as desired. The same mechanisms encompass an orthogonally persistent programming model. We outline our approach to implementing this vision, and describe current progress.
Description: Submitted to EuroSys 2006</description>
    <dc:date>2006-01-01T00:00:00Z</dc:date>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Norcross, Stuart</dc:creator>
    <dc:creator>McCarthy, Andrew</dc:creator>
    <dc:description>The persistent programming systems of the 1980s offered a programming model that integrated computation and long-term storage. In these systems, reliable applications could be engineered without requiring the programmer to write translation code to manage the transfer of data to and from non-volatile storage. More importantly, it simplified the programmer's conceptual model of an application, and avoided the many coherency problems that result from multiple cached copies of the same information. Although technically innovative, persistent languages were not widely adopted, perhaps due in part to their closed-world model. Each persistent store was located on a single host, and there were no flexible mechanisms for communication or transfer of data between separate stores. Here we re-open the work on persistence and combine it with modern peer-to-peer techniques in order to provide support for orthogonal persistence in resilient and potentially long-running distributed applications. Our vision is of an infrastructure within which an application can be developed and distributed with minimal modification, whereupon the application becomes resilient to certain failure modes. If a node, or the connection to it, fails during execution of the application, the objects are re-instantiated from distributed replicas, without their reference holders being aware of the failure. Furthermore, we believe that this can be achieved within a spectrum of application programmer intervention, ranging from minimal to totally prescriptive, as desired. The same mechanisms encompass an orthogonally persistent programming model. We outline our approach to implementing this vision, and describe current progress.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1670">
    <title>Hosting Byzantine Fault Tolerant Services on a Chord ring</title>
    <link>http://hdl.handle.net/10023/1670</link>
    <description>Abstract: In this paper we demonstrate how stateful Byzantine Fault Tolerant services may be hosted on a Chord ring. The strategy presented is fourfold: firstly a replication scheme that dissociates the maintenance of replicated service state from ring recovery is developed. Secondly, clients of the ring based services are made replication aware. Thirdly, a consensus protocol is introduced that supports the serialization of updates. Finally Byzantine fault tolerant replication protocols are developed that ensure the integrity of service data hosted on the ring.
Description: Submitted to DSN 2007 Workshop on Architecting Dependable Systems</description>
    <dc:date>2007-01-01T00:00:00Z</dc:date>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Norcross, Stuart</dc:creator>
    <dc:description>In this paper we demonstrate how stateful Byzantine Fault Tolerant services may be hosted on a Chord ring. The strategy presented is fourfold: firstly a replication scheme that dissociates the maintenance of replicated service state from ring recovery is developed. Secondly, clients of the ring based services are made replication aware. Thirdly, a consensus protocol is introduced that supports the serialization of updates. Finally Byzantine fault tolerant replication protocols are developed that ensure the integrity of service data hosted on the ring.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1669">
    <title>Design, implementation and deployment of state machines using a generative approach</title>
    <link>http://hdl.handle.net/10023/1669</link>
    <description>Abstract: We describe an approach to designing and implementing a distributed system as a family of related finite state machines, generated from a single abstract model. Various artefacts are generated from each state machine, including diagrams, source-level protocol implementations and documentation. The state machine family formalises the interactions between the components of the distributed system, allowing increased confidence in correctness. Our methodology facilitates the application of state machines to problems for which they would not otherwise be suitable. We illustrate the technique with the example of a Byzantine-fault-tolerant commit protocol used in a distributed storage system, showing how an abstract model can be defined in terms of an abstract state space and various categories of state transitions. We describe how such an abstract model can be deployed in a concrete system, and propose a general methodology for developing systems in this style.</description>
    <dc:date>2008-01-01T00:00:00Z</dc:date>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Norcross, Stuart John</dc:creator>
    <dc:description>We describe an approach to designing and implementing a distributed system as a family of related finite state machines, generated from a single abstract model. Various artefacts are generated from each state machine, including diagrams, source-level protocol implementations and documentation. The state machine family formalises the interactions between the components of the distributed system, allowing increased confidence in correctness. Our methodology facilitates the application of state machines to problems for which they would not otherwise be suitable. We illustrate the technique with the example of a Byzantine-fault-tolerant commit protocol used in a distributed storage system, showing how an abstract model can be defined in terms of an abstract state space and various categories of state transitions. We describe how such an abstract model can be deployed in a concrete system, and propose a general methodology for developing systems in this style.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1668">
    <title>Applying constraint solving to the management of distributed applications</title>
    <link>http://hdl.handle.net/10023/1668</link>
    <description>Abstract: We present our approach for deploying and managing distributed component-based applications. A Desired State Description (DSD), written in a high-level declarative language, specifies requirements for a distributed application. Our infrastructure accepts a DSD as input, and from it automatically configures and deploys the distributed application. Subsequent violations of the original requirements are detected and, where possible, automatically rectified by reconfiguration and redeployment of the necessary application components. A constraint solving tool is used to plan deployments that meet the application requirements.
Description: Submitted to DOA08</description>
    <dc:date>2008-01-01T00:00:00Z</dc:date>
    <dc:creator>McCarthy, Andrew</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:description>We present our approach for deploying and managing distributed component-based applications. A Desired State Description (DSD), written in a high-level declarative language, specifies requirements for a distributed application. Our infrastructure accepts a DSD as input, and from it automatically configures and deploys the distributed application. Subsequent violations of the original requirements are detected and, where possible, automatically rectified by reconfiguration and redeployment of the necessary application components. A constraint solving tool is used to plan deployments that meet the application requirements.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1667">
    <title>Automatic alignment of hieroglyphs and transliteration</title>
    <link>http://hdl.handle.net/10023/1667</link>
    <description>Abstract: Automatic alignment has important applications in philology, facilitating study of texts on the basis of electronic resources produced by different scholars. A simple technique is presented to realise such alignment for Ancient Egyptian hieroglyphic texts and transliteration. Preliminary experiments with the technique are reported, and plans for future work are discussed.</description>
    <dc:date>2009-02-01T00:00:00Z</dc:date>
    <dc:creator>Nederhof, Mark Jan</dc:creator>
    <dc:description>Automatic alignment has important applications in philology, facilitating study of texts on the basis of electronic resources produced by different scholars. A simple technique is presented to realise such alignment for Ancient Egyptian hieroglyphic texts and transliteration. Preliminary experiments with the technique are reported, and plans for future work are discussed.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1666">
    <title>An approach to ad hoc cloud computing</title>
    <link>http://hdl.handle.net/10023/1666</link>
    <description>Abstract: We consider how underused computing resources within an enterprise may be harnessed to improve utilization and create an elastic computing infrastructure. Most current cloud provision involves a data center model, in which clusters of machines are dedicated to running cloud infrastructure software. We propose an additional model, the ad hoc cloud, in which infrastructure software is distributed over resources harvested from machines already in existence within an enterprise. In contrast to the data center cloud model, resource levels are not established a priori, nor are resources dedicated exclusively to the cloud while in use. A participating machine is not dedicated to the cloud, but has some other primary purpose such as running interactive processes for a particular user. We outline the major implementation challenges and one approach to tackling them.</description>
    <dc:date>2010-02-25T00:00:00Z</dc:date>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Macdonald, Angus</dc:creator>
    <dc:creator>Fernandes, Alvaro</dc:creator>
    <dc:description>We consider how underused computing resources within an enterprise may be harnessed to improve utilization and create an elastic computing infrastructure. Most current cloud provision involves a data center model, in which clusters of machines are dedicated to running cloud infrastructure software. We propose an additional model, the ad hoc cloud, in which infrastructure software is distributed over resources harvested from machines already in existence within an enterprise. In contrast to the data center cloud model, resource levels are not established a priori, nor are resources dedicated exclusively to the cloud while in use. A participating machine is not dedicated to the cloud, but has some other primary purpose such as running interactive processes for a particular user. We outline the major implementation challenges and one approach to tackling them.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1665">
    <title>Orthogonal persistence revisited</title>
    <link>http://hdl.handle.net/10023/1665</link>
    <description>Abstract: The social and economic importance of large bodies of programs and data that are potentially long-lived has attracted much attention in the commercial and research communities. Here we concentrate on a set of methodologies and technologies called persistent programming. In particular we review programming language support for the concept of orthogonal persistence, a technique for the uniform treatment of objects irrespective of their types or longevity. While research in persistent programming has become unfashionable, we show how the concept is beginning to appear as a major component of modern systems. We relate these attempts to the original principles of orthogonal persistence and give a few hints about how the concept may be utilised in the future.</description>
    <dc:date>2009-07-01T00:00:00Z</dc:date>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:creator>Morrison, Ron</dc:creator>
    <dc:description>The social and economic importance of large bodies of programs and data that are potentially long-lived has attracted much attention in the commercial and research communities. Here we concentrate on a set of methodologies and technologies called persistent programming. In particular we review programming language support for the concept of orthogonal persistence, a technique for the uniform treatment of objects irrespective of their types or longevity. While research in persistent programming has become unfashionable, we show how the concept is beginning to appear as a major component of modern systems. We relate these attempts to the original principles of orthogonal persistence and give a few hints about how the concept may be utilised in the future.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1664">
    <title>Autonomic management of maintenance scheduling in Chord</title>
    <link>http://hdl.handle.net/10023/1664</link>
    <description>Abstract: This paper experimentally evaluates the effects of applying autonomic management to the scheduling of maintenance operations in a deployed Chord network, for various membership churn and workload patterns. Two versions of anautonomic management policy were compared with a static configuration. The autonomic policies varied with respect to the aggressiveness with which they responded to peer access error rates and to wasted maintenance operations. In most experiments, significant improvements due to autonomic management were observed in the performance of routing operations and the quantity of data transmitted between network members. Of the autonomic policies, the more aggressive version gave slightly better results.
Description: Submitted to P2P10.</description>
    <dc:date>2010-06-01T00:00:00Z</dc:date>
    <dc:creator>Tauber, Markus</dc:creator>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:description>This paper experimentally evaluates the effects of applying autonomic management to the scheduling of maintenance operations in a deployed Chord network, for various membership churn and workload patterns. Two versions of anautonomic management policy were compared with a static configuration. The autonomic policies varied with respect to the aggressiveness with which they responded to peer access error rates and to wasted maintenance operations. In most experiments, significant improvements due to autonomic management were observed in the performance of routing operations and the quantity of data transmitted between network members. Of the autonomic policies, the more aggressive version gave slightly better results.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1663">
    <title>H2O : An autonomic, resource-aware distributed database system</title>
    <link>http://hdl.handle.net/10023/1663</link>
    <description>Abstract: This paper presents the design of an autonomic, resource-aware distributed database which enables data to be backed up and shared without complex manual administration. The database, H2O, is designed to make use of unused resources on workstation machines. Creating and maintaining highly-available, replicated database systems can be difficult for untrained users, and costly for IT departments. H2O reduces the need for manual administration by autonomically replicating data and load-balancing across machines in an enterprise. Provisioning hardware to run a database system can be unnecessarily costly as most organizations already possess large quantities of idle resources in workstation machines. H2O is designed to utilize this unused capacity by using resource availability information to place data and plan queries over workstation machines that are already being used for other tasks. This paper discusses the requirements for such a system and presents the design and implementation of H2O.</description>
    <dc:date>2010-06-16T00:00:00Z</dc:date>
    <dc:creator>Macdonald, Angus</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Kirby, Graham</dc:creator>
    <dc:description>This paper presents the design of an autonomic, resource-aware distributed database which enables data to be backed up and shared without complex manual administration. The database, H2O, is designed to make use of unused resources on workstation machines. Creating and maintaining highly-available, replicated database systems can be difficult for untrained users, and costly for IT departments. H2O reduces the need for manual administration by autonomically replicating data and load-balancing across machines in an enterprise. Provisioning hardware to run a database system can be unnecessarily costly as most organizations already possess large quantities of idle resources in workstation machines. H2O is designed to utilize this unused capacity by using resource availability information to place data and plan queries over workstation machines that are already being used for other tasks. This paper discusses the requirements for such a system and presents the design and implementation of H2O.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1661">
    <title>Persistent hyper-programs</title>
    <link>http://hdl.handle.net/10023/1661</link>
    <description>Abstract: The traditional representation of a program as a linear sequence of text forces a particular style of program construction to ensure good programming practice. Tools such as syntax directed editors, compilers, linkers and file managers are required to translate and execute these linear sequences of text. At some stage in the execution sequence the source text is checked for type correctness and its translated form linked to values in the environment. When this is performed early in the execution process confidence in the correctness of the program is raised, at the cost of some flexibility of use. Persistent systems allow the persistent environment to participate in the program construction process. This raises the possibility of allowing the representations of source programs to include direct links to values that already exist in the environment. By analogy with hyper-text, where a piece of text contains links to other pieces of text, this source representation is called a hyper-program. This paper outlines how hyper-programming facilities may be provided within a persistent system, discusses advantages of the technique and proposes some outstanding research areas. The advantages of hyper-programming over conventional systems include the following: it allows more convenient program composition mechanisms; it allows earlier checking; it provides more flexible linking mechanisms; it allows more succinct program representations; and it allows procedure closures to be represented at a source code level.</description>
    <dc:date>1992-01-01T00:00:00Z</dc:date>
    <dc:creator>Kirby, Graham Njal Cameron</dc:creator>
    <dc:creator>Connor, RCH</dc:creator>
    <dc:creator>Cutts, QI</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Farkas, AM</dc:creator>
    <dc:creator>Morrison, Ronald</dc:creator>
    <dc:description>The traditional representation of a program as a linear sequence of text forces a particular style of program construction to ensure good programming practice. Tools such as syntax directed editors, compilers, linkers and file managers are required to translate and execute these linear sequences of text. At some stage in the execution sequence the source text is checked for type correctness and its translated form linked to values in the environment. When this is performed early in the execution process confidence in the correctness of the program is raised, at the cost of some flexibility of use. Persistent systems allow the persistent environment to participate in the program construction process. This raises the possibility of allowing the representations of source programs to include direct links to values that already exist in the environment. By analogy with hyper-text, where a piece of text contains links to other pieces of text, this source representation is called a hyper-program. This paper outlines how hyper-programming facilities may be provided within a persistent system, discusses advantages of the technique and proposes some outstanding research areas. The advantages of hyper-programming over conventional systems include the following: it allows more convenient program composition mechanisms; it allows earlier checking; it provides more flexible linking mechanisms; it allows more succinct program representations; and it allows procedure closures to be represented at a source code level.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1660">
    <title>Probabilistic parsing</title>
    <link>http://hdl.handle.net/10023/1660</link>
    <dc:date>2008-01-01T00:00:00Z</dc:date>
    <dc:creator>Nederhof, Mark Jan</dc:creator>
    <dc:creator>Satta, Giorgio</dc:creator>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1659">
    <title>Computing partition functions of PCFGs</title>
    <link>http://hdl.handle.net/10023/1659</link>
    <description>Abstract: We investigate the problem of computing the partition function of a probabilistic context-free grammar, and consider a number of applicable methods. Particular attention is devoted to PCFGs that result from the intersection of another PCFG and a ﬁnite automaton. We report experiments involving the Wall Street Journal corpus.
Description: Acknowledgement provided in erratum at DOI:10.1007/s11168-009-9062-1</description>
    <dc:date>2008-10-01T00:00:00Z</dc:date>
    <dc:creator>Nederhof, Mark Jan</dc:creator>
    <dc:creator>Satta, Giorgio</dc:creator>
    <dc:description>We investigate the problem of computing the partition function of a probabilistic context-free grammar, and consider a number of applicable methods. Particular attention is devoted to PCFGs that result from the intersection of another PCFG and a ﬁnite automaton. We report experiments involving the Wall Street Journal corpus.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1658">
    <title>Computation of distances for regular and context-free probabilistic languages</title>
    <link>http://hdl.handle.net/10023/1658</link>
    <description>Abstract: Several mathematical distances between probabilistic languages have been investigated in the literature, motivated by applications in language modeling, computational biology, syntactic pattern matching and machine learning. In most cases, only pairs of probabilistic regular languages were considered. In this paper we extend the previous results to pairs of languages generated by a probabilistic context-free grammar and a probabilistic finite automaton.</description>
    <dc:date>2008-05-01T00:00:00Z</dc:date>
    <dc:creator>Nederhof, Mark-Jan</dc:creator>
    <dc:creator>Satta, Giorgio</dc:creator>
    <dc:description>Several mathematical distances between probabilistic languages have been investigated in the literature, motivated by applications in language modeling, computational biology, syntactic pattern matching and machine learning. In most cases, only pairs of probabilistic regular languages were considered. In this paper we extend the previous results to pairs of languages generated by a probabilistic context-free grammar and a probabilistic finite automaton.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1657">
    <title>Weighted parsing of trees</title>
    <link>http://hdl.handle.net/10023/1657</link>
    <description>Abstract: We show how parsing of trees can be formalized in terms of the intersection of two tree languages. The focus is on weighted regular tree grammars and weighted tree adjoining grammars. Potential applications are discussed, such as parameter estimation across formalisms.</description>
    <dc:date>2009-01-01T00:00:00Z</dc:date>
    <dc:creator>Nederhof, Mark Jan</dc:creator>
    <dc:description>We show how parsing of trees can be formalized in terms of the intersection of two tree languages. The focus is on weighted regular tree grammars and weighted tree adjoining grammars. Potential applications are discussed, such as parameter estimation across formalisms.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1656">
    <title>Automatic creation of interlinear text for philological purposes</title>
    <link>http://hdl.handle.net/10023/1656</link>
    <description>Abstract: Interlinear text presents a collection of interpretations of a manuscript. Whereas such a form is often compiled by a single author or a single team of scholars, we here consider automatic creation of interlinear text out of independently created linguistic resources. In terms of mathematical structures, we investigate the constraints one may want to impose on the rendering and pair-wise alignment of resources, and present a computer algorithm that solves those constraints, resulting in suitable interlinear text.</description>
    <dc:date>2009-01-01T00:00:00Z</dc:date>
    <dc:creator>Nederhof, Mark Jan</dc:creator>
    <dc:description>Interlinear text presents a collection of interpretations of a manuscript. Whereas such a form is often compiled by a single author or a single team of scholars, we here consider automatic creation of interlinear text out of independently created linguistic resources. In terms of mathematical structures, we investigate the constraints one may want to impose on the rendering and pair-wise alignment of resources, and present a computer algorithm that solves those constraints, resulting in suitable interlinear text.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1655">
    <title>Transforming lexica as trees</title>
    <link>http://hdl.handle.net/10023/1655</link>
    <description>Abstract: We investigate the problem of structurally changing lexica, while preserving the information. We present a type of lexicon transformation that is complete on an interesting class of lexica. Our work is motivated by the problem of merging one or more lexica into one lexicon. Lexica, lexicon schemas, and lexicon transformations are all seen as particular kinds of trees.</description>
    <dc:date>2010-10-01T00:00:00Z</dc:date>
    <dc:creator>Nederhof, Mark Jan</dc:creator>
    <dc:description>We investigate the problem of structurally changing lexica, while preserving the information. We present a type of lexicon transformation that is complete on an interesting class of lexica. Our work is motivated by the problem of merging one or more lexica into one lexicon. Lexica, lexicon schemas, and lexicon transformations are all seen as particular kinds of trees.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1654">
    <title>Algorithmic aspects of natural language processing</title>
    <link>http://hdl.handle.net/10023/1654</link>
    <dc:date>2010-01-01T00:00:00Z</dc:date>
    <dc:creator>Nederhof, Mark Jan</dc:creator>
    <dc:creator>Satta, Giorgio</dc:creator>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1653">
    <title>A peer-to-peer infrastructure for resilient web services</title>
    <link>http://hdl.handle.net/10023/1653</link>
    <description>Abstract: This paper describes an infrastructure for the deployment and use of Web Services that are resilient to the failure of the nodes that host those services. The infrastructure presents a single interface that provides mechanisms for users to publish services and to find hosted services. The infrastructure supports the autonomic deployment of services and the brokerage of hosts on which services may be deployed. Once deployed, services are autonomically managed in a number of aspects including load balancing, availability, failure detection and recovery, and lifetime management. Services are published and deployed with associated metadata describing the service type. This same metadata may be used subsequently by interested parties to discover services. The infrastructure uses peer-to-peer (P2P) overlay technologies to abstract over the underlying network to deploy and locate instances of those services. It takes advantage of the P2P network to replicate directory services used to locate service instances (for using a service), Service Hosts (for deployment of services) and Autonomic Managers which manage the deployed services. The P2P overlay network is itself constructed using novel Web Services-based middleware and a variation of the Chord P2P protocol, which is self-managing.</description>
    <dc:date>2006-01-01T00:00:00Z</dc:date>
    <dc:creator>Norcross, Stuart J.</dc:creator>
    <dc:creator>Dearle, Alan</dc:creator>
    <dc:creator>Kirby, Graham N. C.</dc:creator>
    <dc:creator>Walker, Scott M.</dc:creator>
    <dc:description>This paper describes an infrastructure for the deployment and use of Web Services that are resilient to the failure of the nodes that host those services. The infrastructure presents a single interface that provides mechanisms for users to publish services and to find hosted services. The infrastructure supports the autonomic deployment of services and the brokerage of hosts on which services may be deployed. Once deployed, services are autonomically managed in a number of aspects including load balancing, availability, failure detection and recovery, and lifetime management. Services are published and deployed with associated metadata describing the service type. This same metadata may be used subsequently by interested parties to discover services. The infrastructure uses peer-to-peer (P2P) overlay technologies to abstract over the underlying network to deploy and locate instances of those services. It takes advantage of the P2P network to replicate directory services used to locate service instances (for using a service), Service Hosts (for deployment of services) and Autonomic Managers which manage the deployed services. The P2P overlay network is itself constructed using novel Web Services-based middleware and a variation of the Chord P2P protocol, which is self-managing.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1614">
    <title>Using situation lattices in sensor analysis</title>
    <link>http://hdl.handle.net/10023/1614</link>
    <description>Abstract: Highly sensorised systems present two parallel challenges: how to design a sensor suite that can efficiently and cost-effectively support the needs of given services; and to extract the semantically relevant interpretations, or "situations", from the flood of context data collected by the sensors. We describe mathematical structures called situation lattices that can be used to address these two problems simultaneously, allowing designers to both design and refine situation identification whilst offering insights into the design of sensor suites. We validate the accuracy and efficiency of our technique against a third-party data set and demonstrate how it can be used to evaluate sensor suite designs.</description>
    <dc:date>2009-03-01T00:00:00Z</dc:date>
    <dc:creator>Ye, Juan</dc:creator>
    <dc:creator>Coyle, Lorcan</dc:creator>
    <dc:creator>Dobson, Simon</dc:creator>
    <dc:creator>Nixon, Paddy</dc:creator>
    <dc:description>Highly sensorised systems present two parallel challenges: how to design a sensor suite that can efficiently and cost-effectively support the needs of given services; and to extract the semantically relevant interpretations, or "situations", from the flood of context data collected by the sensors. We describe mathematical structures called situation lattices that can be used to address these two problems simultaneously, allowing designers to both design and refine situation identification whilst offering insights into the design of sensor suites. We validate the accuracy and efficiency of our technique against a third-party data set and demonstrate how it can be used to evaluate sensor suite designs.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1596">
    <title>Prototyping and transforming facial textures for perception research</title>
    <link>http://hdl.handle.net/10023/1596</link>
    <description>Abstract: Transforming facial images along perceived dimensions (such as age, gender, race, or health) has application in areas as diverse as psychology, medicine, and forensics. We can use prototype images to define the salient features of a particular face classification (for example, European female adult or East-Asian male child). We then use the differences between two prototypes to define an axis of transformation, such as younger to older. By applying these changes to a given input face, we can change its apparent age, race, or gender. Psychological investigations reveal a limitation with existing methods that's particularly apparent when changing the age of faces. We relate the problem to the loss of facial textures (such as stubble and wrinkles) in the prototypes due to the blending process. We review the existing face prototyping and transformation methods and present a new, wavelet-based method for prototyping and transforming facial textures.</description>
    <dc:date>2001-09-01T00:00:00Z</dc:date>
    <dc:creator>Tiddeman, Bernard Paul</dc:creator>
    <dc:creator>Perrett, David Ian</dc:creator>
    <dc:creator>Burt, D.M.</dc:creator>
    <dc:description>Transforming facial images along perceived dimensions (such as age, gender, race, or health) has application in areas as diverse as psychology, medicine, and forensics. We can use prototype images to define the salient features of a particular face classification (for example, European female adult or East-Asian male child). We then use the differences between two prototypes to define an axis of transformation, such as younger to older. By applying these changes to a given input face, we can change its apparent age, race, or gender. Psychological investigations reveal a limitation with existing methods that's particularly apparent when changing the age of faces. We relate the problem to the loss of facial textures (such as stubble and wrinkles) in the prototypes due to the blending process. We review the existing face prototyping and transformation methods and present a new, wavelet-based method for prototyping and transforming facial textures.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1594">
    <title>Counting cases in substitope algorithms</title>
    <link>http://hdl.handle.net/10023/1594</link>
    <description>Abstract: We describe how to count the cases that arise in a family of visualization techniques, including Marching Cubes, Sweeping Simplices, Contour Meshing, Interval Volumes, and Separating Surfaces. Counting the cases is the first step toward developing a generic visualization algorithm to produce substitopes ( geometric substitutions of polytopes). We demonstrate the method using "GAP," a software system for computational group theory. The case-counts are organized into a table that provides a taxonomy of members of the family; numbers in the table are derived from actual lists of cases, which are computed by our methods. The calculations confirm previously reported case-counts for four dimensions that are too large to check by hand and predict the number of cases that will arise in substitope algorithms that have not yet been invented. We show how Polya theory produces a closed-form upper bound on the case counts.</description>
    <dc:date>2004-07-01T00:00:00Z</dc:date>
    <dc:creator>Banks, D.C.</dc:creator>
    <dc:creator>Linton, Stephen Alexander</dc:creator>
    <dc:creator>Stockmeyer, P.K.</dc:creator>
    <dc:description>We describe how to count the cases that arise in a family of visualization techniques, including Marching Cubes, Sweeping Simplices, Contour Meshing, Interval Volumes, and Separating Surfaces. Counting the cases is the first step toward developing a generic visualization algorithm to produce substitopes ( geometric substitutions of polytopes). We demonstrate the method using "GAP," a software system for computational group theory. The case-counts are organized into a table that provides a taxonomy of members of the family; numbers in the table are derived from actual lists of cases, which are computed by our methods. The calculations confirm previously reported case-counts for four dimensions that are too large to check by hand and predict the number of cases that will arise in substitope algorithms that have not yet been invented. We show how Polya theory produces a closed-form upper bound on the case counts.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1417">
    <title>Symmetric subgroups in modular group algebras</title>
    <link>http://hdl.handle.net/10023/1417</link>
    <description>Abstract: Let V(KG) be a normalised unit group of the modular group algebra of a finite p-group G over the field K of p elements. We introduce a notion of symmetric subgroups in V(KG) as subgroups invariant under the action of the classical involution of the group algebra KG. We study properties of symmetric subgroups and construct a counterexample to the conjecture by V.Bovdi, which states that V(KG)=&lt;G,S*&gt;, where S* is a set of symmetric units of V(KG).
Description: This preprint is translated from the original journal publication in Russian: A. Konovalov and A. Tsapok, Symmetric subgroups of the normalised unit group of the modular group algebra of a finite p-group, Nauk. Visn. Uzhgorod. Univ., Ser. Mat., 9 (2004), 20–24.</description>
    <dc:date>2008-01-05T00:00:00Z</dc:date>
    <dc:creator>Konovalov, Alexander</dc:creator>
    <dc:creator>G. Krivokhata, A.</dc:creator>
    <dc:description>Let V(KG) be a normalised unit group of the modular group algebra of a finite p-group G over the field K of p elements. We introduce a notion of symmetric subgroups in V(KG) as subgroups invariant under the action of the classical involution of the group algebra KG. We study properties of symmetric subgroups and construct a counterexample to the conjecture by V.Bovdi, which states that V(KG)=&lt;G,S*&gt;, where S* is a set of symmetric units of V(KG).</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1130">
    <title>From physical models to well-founded control</title>
    <link>http://hdl.handle.net/10023/1130</link>
    <description>Abstract: Mobile sensors are an attractive proposition forenvironmental sensing, but pose significant engineering problems. Not leastamongst these is the need to match the behaviour of the sensor platform to thephysical environment in which it operates. We present initial work on using modelsof physical processes to generate models for autonomic control, and speculatethat these can be used to improve the confidence we can place in sensed data.</description>
    <dc:date>2009-04-01T00:00:00Z</dc:date>
    <dc:creator>Dobson, Simon</dc:creator>
    <dc:creator>Coyle, Lorcan</dc:creator>
    <dc:creator>O'Hare, G. M. P.</dc:creator>
    <dc:creator>Hinchey, Mike</dc:creator>
    <dc:description>Mobile sensors are an attractive proposition forenvironmental sensing, but pose significant engineering problems. Not leastamongst these is the need to match the behaviour of the sensor platform to thephysical environment in which it operates. We present initial work on using modelsof physical processes to generate models for autonomic control, and speculatethat these can be used to improve the confidence we can place in sensed data.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1072">
    <title>Facilitating a well-founded approach to autonomic systems</title>
    <link>http://hdl.handle.net/10023/1072</link>
    <description>Abstract: While it is desirable for all computing and communications systems to have well-defined and verifiable behaviour, autonomic systems must additionally guarantee that their adaptive behaviour is correct, both in the sense of responding appropriately to changes in context and in the sense of continuing to meet the high-level requirements of the system. Ensuring such high levels of "process" correctness poses a significant challenge for system designers. Formal methods provide a valuable tool to assist in the design, analysis and verification processes. The goals of the ACF's semantics working group is to identify formal techniques that may be applicable to the development of autonomic systems, and to promote the understanding of these techniques within the research community.</description>
    <dc:date>2008-04-01T00:00:00Z</dc:date>
    <dc:creator>Dobson, Simon</dc:creator>
    <dc:description>While it is desirable for all computing and communications systems to have well-defined and verifiable behaviour, autonomic systems must additionally guarantee that their adaptive behaviour is correct, both in the sense of responding appropriately to changes in context and in the sense of continuing to meet the high-level requirements of the system. Ensuring such high levels of "process" correctness poses a significant challenge for system designers. Formal methods provide a valuable tool to assist in the design, analysis and verification processes. The goals of the ACF's semantics working group is to identify formal techniques that may be applicable to the development of autonomic systems, and to promote the understanding of these techniques within the research community.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1046">
    <title>Privacy-enhanced social network routing in opportunistic networks</title>
    <link>http://hdl.handle.net/10023/1046</link>
    <description>Abstract: Opportunistic networking-forwarding messages in a disconnected mobile ad hoc network via any encountered nodes-offers a new mechanism for exploiting the mobile devices that many users already carry. Forwarding messages in such a network often involves the use of social network routing-sending messages via nodes in the sender or recipient's social network. Simple social network routing, however, may broadcast these social networks, which introduces privacy concerns. This paper introduces two methods for enhancing privacy in social network routing by obfuscating the social network graphs used to inform routing decisions. We evaluate these methods using two real-world datasets, and find that it is possible to obfuscate the social network information without leading to a significant decrease in routing performance.</description>
    <dc:date>2010-03-01T00:00:00Z</dc:date>
    <dc:creator>Parris, Iain Siraj</dc:creator>
    <dc:creator>Bigwood, Gregory John</dc:creator>
    <dc:creator>Henderson, Tristan Nicholas Hoang</dc:creator>
    <dc:description>Opportunistic networking-forwarding messages in a disconnected mobile ad hoc network via any encountered nodes-offers a new mechanism for exploiting the mobile devices that many users already carry. Forwarding messages in such a network often involves the use of social network routing-sending messages via nodes in the sender or recipient's social network. Simple social network routing, however, may broadcast these social networks, which introduces privacy concerns. This paper introduces two methods for enhancing privacy in social network routing by obfuscating the social network graphs used to inform routing decisions. We evaluate these methods using two real-world datasets, and find that it is possible to obfuscate the social network information without leading to a significant decrease in routing performance.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/1045">
    <title>LOC8 : A Location Model and Extensible Framework for Programming with Location</title>
    <link>http://hdl.handle.net/10023/1045</link>
    <description>Abstract: Location is a core concept in most pervasive systems-and one that's surprisingly hard to deal with flexibly. Using a location model supporting a range of expressive representations for spaces, spatial relationships, and positioning systems, the authors constructed LOC8, a programming framework for exploring location data's multifaceted representations and uses. With LOC8, developers can construct complex queries by combining basic queries and additional contextual information.</description>
    <dc:date>2010-01-01T00:00:00Z</dc:date>
    <dc:creator>Stevenson, Graeme</dc:creator>
    <dc:creator>Ye, Juan</dc:creator>
    <dc:creator>Dobson, Simon</dc:creator>
    <dc:creator>Nixon, Paddy</dc:creator>
    <dc:description>Location is a core concept in most pervasive systems-and one that's surprisingly hard to deal with flexibly. Using a location model supporting a range of expressive representations for spaces, spatial relationships, and positioning systems, the authors constructed LOC8, a programming framework for exploring location data's multifaceted representations and uses. With LOC8, developers can construct complex queries by combining basic queries and additional contextual information.</dc:description>
  </item>
  <item rdf:about="http://hdl.handle.net/10023/702">
    <title>Patterns of cooperative interaction: Linking ethnomethodology and design</title>
    <link>http://hdl.handle.net/10023/702</link>
    <description>Abstract: Patterns of Cooperative Interaction are regularities in the organisation of work, activity, and interaction amongst participants, and with, through and around artefacts. These patterns are organised around a framework and are inspired by how such regularities are highlighted in ethnomethodologically-informed ethnographic studies of work and technology. They comprise a high level description and two or more comparable examples drawn from specific studies. Our contention is that these patterns form a useful resource for re-using findings from previous field studies, for enabling analysis and considering design in new settings. Previous work on the relationship between ethnomethodology and design has been concerned primarily in providing presentation frameworks and mechanisms, practical advice, schematisations of the ethnomethodologist's role, different possibilities of input at different stages in development, and various conceptualisations of the relationship between study and design. In contrast, this paper seeks to firstly discuss the position of patterns relative to emergent major topics of interest of these studies. Subsequently it seeks to describe the case for the collection of patterns based on findings, their comparison across studies and their general implications for design problems, rather than the concerns of practical and methodological interest outlined in the other work. Special attention is paid to our evaluations and to how they inform how the patterns collection may be read, used and contributed to, as well as to reflections on the composition of the collection as it has emerged. The paper finishes, firstly, with a discussion of how our work relates to other work on patterns, before some closing comments are made on the role of our patterns and ethnomethodology in systems design.
Description: © ACM, 2004. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in ACM Transactions on Computer-Human Interaction, 11(1): 59-89, 10730516, (March 2004)  http://doi.acm.org/10.1145/972648.972651</description>
    <dc:date>2004-01-01T00:00:00Z</dc:date>
    <dc:creator>Sommerville, I.</dc:creator>
    <dc:creator>Martin, D.</dc:creator>
    <dc:description>Patterns of Cooperative Interaction are regularities in the organisation of work, activity, and interaction amongst participants, and with, through and around artefacts. These patterns are organised around a framework and are inspired by how such regularities are highlighted in ethnomethodologically-informed ethnographic studies of work and technology. They comprise a high level description and two or more comparable examples drawn from specific studies. Our contention is that these patterns form a useful resource for re-using findings from previous field studies, for enabling analysis and considering design in new settings. Previous work on the relationship between ethnomethodology and design has been concerned primarily in providing presentation frameworks and mechanisms, practical advice, schematisations of the ethnomethodologist's role, different possibilities of input at different stages in development, and various conceptualisations of the relationship between study and design. In contrast, this paper seeks to firstly discuss the position of patterns relative to emergent major topics of interest of these studies. Subsequently it seeks to describe the case for the collection of patterns based on findings, their comparison across studies and their general implications for design problems, rather than the concerns of practical and methodological interest outlined in the other work. Special attention is paid to our evaluations and to how they inform how the patterns collection may be read, used and contributed to, as well as to reflections on the composition of the collection as it has emerged. The paper finishes, firstly, with a discussion of how our work relates to other work on patterns, before some closing comments are made on the role of our patterns and ethnomethodology in systems design.</dc:description>
  </item>
</rdf:RDF>

