Centre for Novel Computing - School of Computer Science

advertisement

Software Systems Group

CDT Presentation

November 13 th 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

• Lecturing Staff

– John Gurd

– John Keane

– Kung-Kiu Lau

– Liping Zhao

• Turing Fellow

– Jack Dongarra

• Marie Curie Fellow

– Grzegorz Kozikowski plus 15 PhD students

Group Staff

• Research Staff

– Ann Gledson

– Paul Slavin

– Petr Stepan

– Vendel Szeremi

– David Tian

– Cuong Tran

– Usman Wajid

• Honorary Research Fellow

– Rupert Ford

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 kung-kiu@cs.man.ac.uk

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 Service-

Oriented 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 jak@cs.man.ac.uk

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

Download