software systems group

27
1 Software Systems Group CDT Presentation November 13 th 2013

Upload: oma

Post on 31-Jan-2016

50 views

Category:

Documents


0 download

DESCRIPTION

Software Systems Group. CDT Presentation November 13 th 2013. Group Structure. Software Engineering Subgroup novel approaches to software development; software engineering techniques and tools; novel applications Centre for Novel Computing - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Software Systems Group

1

Software Systems Group

CDT Presentation

November 13th 2013

Page 2: Software Systems Group

2

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 high-performance computational models for all manner of disciplines

Page 3: Software Systems Group

3

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.

Page 4: Software Systems Group

4

Group Staff

• Lecturing Staff– John Gurd– John Keane– Kung-Kiu Lau– Liping Zhao

• Turing Fellow– Jack Dongarra

• Marie Curie Fellow– Grzegorz Kozikowski

plus 15 PhD students

• Research Staff– Ann Gledson– Paul Slavin– Petr Stepan– Vendel Szeremi– David Tian– Cuong Tran– Usman Wajid

• Honorary Research Fellow– Rupert Ford

Page 5: Software Systems Group

5

Software Engineering Projects

• Component Based Software Development

(Kung-Kiu Lau)

• Model Driven Development

• Use Case and Scenario Authoring

(Liping Zhao)

Page 6: Software Systems Group

6

Kung-Kiu LauKung-Kiu [email protected]@cs.man.ac.uk

Page 7: Software Systems Group

7

Component-based Software Component-based Software DevelopmentDevelopment

Page 8: Software Systems Group

8

X-MAN X-MAN ComponentComponent ModelModel

Page 9: Software Systems Group

9

Funded ProjectFunded Project

Page 10: Software Systems Group

10

Fuel Management SystemFuel Management System

Localiser Performance with Vertical GuidanceLocaliser Performance with Vertical Guidance

Fully Automated Digital Electronic ControllerFully Automated Digital Electronic Controller

Page 11: Software Systems Group

11

Service-oriented ComputingService-oriented Computing

Page 12: Software Systems Group

12

Cloud ComputingCloud Computing

Page 13: Software Systems Group

13

European Conference on Service-European Conference on Service-Oriented and Cloud Computing Oriented and Cloud Computing

(ESOCC) (ESOCC)

Program ChairsKung-Kiu Lau (Manchester)Winfried Lamersdorf (Hamburg)General ChairErnesto Pimentel (Malaga) Program Chairs

Massimo Villari (Messina)Wolf Zimmermann (Halle)General ChairKung-Kiu Lau (Manchester)

ESOCC 201410-12 September

Manchester (UK)

Page 14: Software Systems Group

14

PhD TopicsPhD Topics

Page 15: Software Systems Group

16

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.

Page 16: Software Systems Group

17

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.

Page 17: Software Systems Group

18

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.

Page 18: Software Systems Group

19

Performance Engineering Projects

• Data mining and decision support

(John Keane)

• Projects in High Performance (parallel) Computing (HPC)

(John Gurd)

Page 19: Software Systems Group

20

CDT PROJECTS 2013-14John Keane, Software Systems Group

[email protected]

1. Data Analytics / Big Data

2. Parallel & Distributed Systems

3. Decision Support Systems

HAPPY TO DISCUSS

Page 20: Software Systems Group

21

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).

Page 21: Software Systems Group

22

Areas of projects

• Current work falls into two broad areas:– High performance (parallel) computing

• Improving the scalability of applications on peta-scale and future exa-scale architectures.

– Improved HPC abstraction.

Page 22: Software Systems Group

23

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.

Page 23: Software Systems Group

24

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.

Page 24: Software Systems Group

25

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 (self-learning algorithms may be appropriate), system modelling and run-time strategy selection.

Page 25: Software Systems Group

26

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?

Page 26: Software Systems Group

27

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

Page 27: Software Systems Group

28

Contact

• Kung-Kiu Lau – Kilburn 2.68

• Liping Zhao – Kilburn 2.64

• John Keane – Kilburn 2.52

• John Gurd – Kilburn 2.54