05.01.2013 Views

Computer Science - University of St Andrews

Computer Science - University of St Andrews

Computer Science - University of St Andrews

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Network architectures for mobile systems: The connectivity available to a mobile system<br />

may vary: from GSM, to wireless LAN, to 3G. The system may require more than one<br />

<strong>of</strong> these modes to be active at once, e.g. making a phone call whilst performing a<br />

document download. We are examining how flexible and dynamic connectivity can<br />

be enabled, by redefining how edge networks make use <strong>of</strong> routing, addressing and<br />

control signalling to self-organise intra- and inter-network connectivity.<br />

Novel middleware systems architecture: We are addressing the deficiencies in current<br />

middleware systems by creating transformational tools and novel middleware,<br />

which can overcome limitations in existing systems such as inter-address-space<br />

communication, replication & coherency <strong>of</strong> objects and policy placement.<br />

Transformational tools create an isomorphic version <strong>of</strong> an existing application that<br />

can be instrumented to support non-functional behaviour such as distribution,<br />

persistence, application pr<strong>of</strong>iling, resiliency, replication, robustness and performance.<br />

S<strong>of</strong>tware architectures: Work on s<strong>of</strong>tware architecture focuses on methods and techniques<br />

for developing evolvable system architectures that can adapt to the needs <strong>of</strong> the<br />

application. One approach is to develop tools that support performance driven<br />

evolution <strong>of</strong> applications. This helps explore the need for change by empirically<br />

measuring application performance.<br />

We are also interested in formal architectural style-based languages for describing<br />

and analysing design-time and run-time evolvable s<strong>of</strong>tware architectures, taking into<br />

account reuse <strong>of</strong> components. Customised process-driven environments will provide<br />

tools to support architectural models (including quality attributes), reasoning about<br />

these models, and refining them into compliant implementations.<br />

Peer-to-peer (P2P) architectures are an emerging area <strong>of</strong> interest. We are<br />

interested in evaluation techniques for P2P storage architectures and tools and<br />

techniques for rapidly developing dependable and secure P2P systems.<br />

Programming highly sensorised systems: Many modern systems now include sensors to<br />

observe their actions and environments. The challenge is to interpret imprecise,<br />

partial and <strong>of</strong>ten conflicting sensor observations to inform intelligent actions. Our<br />

work in this area focuses on uncertain reasoning (to understand what’s happening),<br />

programming paradigms (to cleanly and efficiently express what we want to happen),<br />

and mathematical analysis (to ensure that systems remain within a safe envelope <strong>of</strong><br />

behaviour).<br />

12

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!