CDT Presentation
November 13 th 2013
1
• 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
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
• Research Staff
– Ann Gledson
– Paul Slavin
– Petr Stepan
– Vendel Szeremi
– David Tian
– Cuong Tran
– Usman Wajid
• Honorary Research Fellow
– Rupert Ford
4
• Component Based Software Development
(Kung-Kiu Lau)
• Model Driven Development
• Use Case and Scenario Authoring
(Liping Zhao)
5
Kung-Kiu Lau kung-kiu@cs.man.ac.uk
6
Construct systems from components (pre-built software units)
Benefits:
• Increased software reuse
• Reduced time-to-market
• Reduced development cost
7
8
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
Construct applications from services
11
Construct applications from a service cloud
12
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
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
• 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
• 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
• 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
• Data mining and decision support
(John Keane)
• Projects in High Performance (parallel)
Computing (HPC)
(John Gurd)
19
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
• 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
• 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
• 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
• 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
• 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
• 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
• 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
• Kung-Kiu Lau – Kilburn 2.68
• Liping Zhao – Kilburn 2.64
• John Keane – Kilburn 2.52
• John Gurd – Kilburn 2.54
28