Centre for Novel Computing - School of Computer Science

Download Report

Transcript Centre for Novel Computing - School of Computer Science

Software Systems Group
CDT Presentation
November 13th 2013
1
Group Structure
• Software Engineering Subgroup
– novel approaches to software development;
software engineering techniques and tools;
novel applications
• Centre for Novel Computing
– application-oriented techniques and tools that
facilitate development of large-scale highperformance computational models for all
manner of disciplines
2
Overview
Concerned with the design, modelling, simulation
and construction of mission-critical software systems
that challenge the states-of-the-art in both software
engineering and performance engineering. Such
systems are fundamentally composed of physically
distributed component sub-systems, and are
characterised by large data spaces and high compute
needs, with associated complex interactions between
the components.
3
Group Staff
• Lecturing Staff
–
–
–
–
John Gurd
John Keane
Kung-Kiu Lau
Liping Zhao
• Turing Fellow
– Jack Dongarra
• Marie Curie Fellow
– Grzegorz Kozikowski
• Research Staff
–
–
–
–
–
–
–
Ann Gledson
Paul Slavin
Petr Stepan
Vendel Szeremi
David Tian
Cuong Tran
Usman Wajid
• Honorary Research Fellow
– Rupert Ford
plus 15 PhD students
4
Software Engineering Projects
• Component Based Software Development
(Kung-Kiu Lau)
• Model Driven Development
• Use Case and Scenario Authoring
(Liping Zhao)
5
Services …
Kung-Kiu Lau
[email protected]
6
Component-based Software
Development
Construct systems from components (pre-built software units)
Benefits:
• Increased software reuse
• Reduced time-to-market
• Reduced development cost
7
X-MAN Component Model
8
Funded Project
CESAR (March 2009 – December 2012)
• Cost Efficient Methods and Processes for Safety Relevant
Embedded Systems
Funded by EU (under ARTEMIS Joint Undertaking)
• 41 industrial partners, 8 research institutes, 8 academic
partners
We apply X-MAN to avionics domain
• In collaboration with our project partner Airbus UK
9
Fuel Management System
Localiser Performance with Vertical Guidance
Fully Automated Digital Electronic Controller
10
Service-oriented Computing
Construct applications from services
11
Cloud Computing
Construct applications from a service cloud
12
European Conference on ServiceOriented and Cloud Computing
(ESOCC)
Program Chairs
Kung-Kiu Lau (Manchester)
Winfried Lamersdorf (Hamburg)
General Chair
Ernesto Pimentel (Malaga)
Program Chairs
Massimo Villari (Messina)
Wolf Zimmermann (Halle)
General Chair
Kung-Kiu Lau (Manchester)
ESOCC 2014
10-12 September
Manchester (UK)
13
PhD Topics
Components
• X-MAN component model (and tool)
• Compositional V&V
• scale and complexity
• Domain-specific component models
• Avionics, automotives …
• Incremental construction of component-based systems
• mapping requirements directly to systems
• use-case-by-use-case development
• Component-based Product Line Engineering
• variability management
• reference architecture
Services
• Service composition
• Service-oriented computing using CBD
Clouds
• CBD using cloud computing
• Cloud computing using CBD
14
Model Driven Development –
Liping Zhao
• Project 1: An Ontological Framework for MDD – The
idea of OMG’s MDA is to separate business logic from
implementation technology (so the two can co-evolve
independently). But, while there has been a lot of work on
automating the latter stages of software development,
creating business models has been left largely as a manual
process, which can be time-consuming and error-prone.
– This project aims to develop an ontological framework that
supports different business ontologies. The framework will
represent business concepts and models in a way similar to
biological classification. Based on such a framework, the project
will develop an automated model generation tool.
16
Model Driven Development –
Liping Zhao
• Project 2: A Natural Language Approach to MDD –
Developing initial software models is challenging because
it requires the modeller to understand both the
requirements specification and the modelling knowledge.
– This project aims to develop a natural language (NL) approach to
modelling. It will use modern NLP techniques to process the NL
requirements and apply its built-in modelling knowledge to
construct models. It should also be able to validate itself through
paraphrasing and interpreting the created model, thereby reversing
it back to the original NL requirements.
17
Use Case and Scenario Authoring –
Liping Zhao
• Project 3: A Natural Language (NL) Editor – No matter
how advanced the technology is, software development
always starts from a NL description of ideas or
requirements. Use cases and scenarios are widely used to
help the user specify their requirements, but writing use
cases and scenarios is a skilled job, requiring experienced
software analysts.
– This project will develop a NL editor to assist use case and
scenario authoring. The editor will not only be able to detect
syntactic errors, but also semantic errors. The editor will
additionally be able to transform each specified use case into an
initial analysis model.
18
Performance Engineering Projects
• Data mining and decision support
(John Keane)
• Projects in High Performance (parallel)
Computing (HPC)
(John Gurd)
19
CDT PROJECTS 2013-14
John Keane, Software Systems Group
[email protected]
1. Data Analytics / Big Data
2. Parallel & Distributed Systems
3. Decision Support Systems
HAPPY TO DISCUSS
20
HPC Background
• The Centre for Novel Computing (CNC) has a
long history of research into parallel computing
with a view to obtaining high performance on a
wide range of end-user applications.
• Pertinent application domains have included
computational chemistry, various branches of
engineering, and Earth System Modelling (ESM).
• Typically, we have worked with the supporting
computational infrastructure rather than in the core
computational science or engineering (CS&E).
21
Areas of projects
• Current work falls into two broad areas:
– High performance (parallel) computing
• Improving the scalability of applications on petascale and future exa-scale architectures.
– Improved HPC abstraction.
22
Exploiting accelerators
• Accelerator technology is an emerging
architectural trend, leading to heterogeneous
many-core processors.
– CUDA, OpenCL, OpenACC etc.
– Hybrid approaches for large-scale computing.
• Aim to explore the impact and use of accelerators
in key routines of major CS&E applications.
• Possible contributions to algorithms, language
support, run-time support systems.
23
Frameworks for large-scale scientific
and engineering software
• Investigate software engineering strategies for the future
development of key CS&E applications.
• Contributions in methods and techniques for ‘evolving
systems’
– Evolving in the sense of needing to adapt software configurations,
possibly at run-time, for new models, for new machines, for
different scientific or engineering scenarios, etc.
24
Efficient, adaptive scheduling
algorithms
• Motivating example from the Met Office’s
parallel, tape-based, archival storage system.
– but problem is more general …
• Investigate trade-offs between providing high
performance archiving and retrieval for further
(scientific) processing, throughput and energy
consumption
– as user behaviour varies over time.
• Possible contributions in algorithm design (selflearning algorithms may be appropriate), system
modelling and run-time strategy selection.
25
Improved Abstraction for High
Performance Computing – John Gurd
• High performance demands parallel execution
• But parallel programming is ‘down and dirty’,
requiring low-level control of all parallel activity
and intense attention to the details of parallel
execution – it is therefore difficult and costly
• One historical theme in computer science is that of
constantly improving the abstractions used in
programming so as to reduce development costs
• Should this not be directed at parallel programs?
26
Improved Abstraction for High
Performance Computing – John Gurd
• Previous SSG PhD students have made some
progress in this area by applying the principles of
aspect oriented programming (AOP) to separate
the ‘crosscutting’ concerns of functionality and
performance for distinct encapsulation
• Future PhD students are invited to take the above
work forward, or find alternative ways of
introducing appropriate high level abstractions
into parallel programs
27
Contact
•
•
•
•
Kung-Kiu Lau – Kilburn 2.68
Liping Zhao – Kilburn 2.64
John Keane – Kilburn 2.52
John Gurd – Kilburn 2.54
28