Aaron will be a keynote speaker at the IEEE VISSOFT 2018 conference later this year. “The sixth IEEE Working Conference on Software Visualization (VISSOFT 2018) builds upon the success of the previous four editions of VISSOFT, which in turn followed after six editions of the IEEE International Workshop on Visualizing Software for Understanding and Analysis (VISSOFT) and five editions of the ACM Symposium on Software Visualization (SOFTVIS). Software visualization is a broad research area encompassing concepts, methods, tools, and techniques that assist in a range of software engineering and software development activities. Covered aspects include the development and evaluation of approaches for visually analyzing software and software systems, including their structure, execution behaviour, and evolution.”
Research Groups
Mensch-und-Computer 2019 Keynote by Professor Aaron Quigley
Professor Aaron Quigley will be a keynote speaker at the Mensch-und-Computer conference 2019 in Hamburg Germany in September of 2019. This series of symposia takes place each year in different German-speaking countries. This is one of the largest HCI conferences in Europe each year with over 700 delegates from industry and academia. Usability Professionals and Scientists come together in a multi-track program with long papers, short contributions, demos, tutorials and workshops. Submissions are possible in German and English.
PhD viva success: Matus Tejiscak
Congratulations to Matus Tejiscak, who successfully defended his thesis yesterday. He is pictured with supervisor Dr Edwin Brady, Internal examiner Dr Chris Jefferson and external examiner Dr Andreas Abel, from the University of Gothenburg.
Compositional Coinduction with Sized Types – Dr. Andreas Abel
Abstract:
Formal languages and automata are taught to every computer science student. However, the student will most likely not see the beautiful coalgebraic foundations, which use coindutive reasoning.
In this talk, I recapitulate how infinite tries can represent formal languages (sets of strings). I explain Agda’s coinduction mechanism based on copatterns and sized types demonstrate that it allows an elegant representation of the usual language constructions like union, concatenation, and Kleene star, with the help of Brzozowski derivatives.
Event details
- When: 16th February 2018 12:00 - 13:00
- Where: Cole 1.33b
- Format: Seminar
Simplifying ARM concurrency – Prof. Susmit Sarkar
ARM has a relaxed memory model, previously specified in informal prose for ARMv7 and ARMv8. Over time, and partly due to work building formal semantics for ARM concurrency, it has become clear that some of the complexity of the model is not justified by the potential benefits. In
particular, the model was originally non-multicopy-atomic: writes could
become visible to some other threads before becoming visible to all —
but this has not been exploited in production implementations, the
corresponding potential hardware optimisations are thought to have
insufficient benefits in the ARM context, and it gives rise to subtle
complications when combined with other ARMv8 features. The ARMv8
architecture has therefore been revised: it now has a multicopy-atomic
model. It has also been simplified in other respects, including more
straightforward notions of dependency, and the architecture now includes
a formal concurrency model.
This is work presented in POPL this year. I will also present some of
the background and context on relaxed memory which is absent from the
necessarily compressed talk format of POPL.
Event details
- When: 22nd February 2018 12:00 - 13:00
- Where: Cole 1.33a
- Format: Talk
DLS: Functional Foundations for Operating Systems
Biography: Dr. Anil Madhavapeddy is a University Lecturer at the Cambridge Computer Laboratory, and a Fellow of Pembroke College where he is Director of Studies for Computer Science. He has worked in industry (NetApp, Citrix, Intel), academia (Cambridge, Imperial, UCLA) and startups (XenSource, Unikernel Systems, Docker) over the past two decades. At Cambridge, he directs the OCaml Labs research group which delves into the intersection of functional programming and systems, and is a maintainer on many open source projects such as OpenBSD, OCaml, Xen and Docker.
Timetable
9:30: Introduction by Professor Saleem Bhatti
9:35: Lecture 1
10:35: Break with tea and coffee
11:15: Lecture 2
12:15: Lunch (not provided)
14:00: Lecture 3
15:00: Close by Professor Simon Dobson
Lecture 1: Rebuilding Operating Systems with Functional Principles
The software stacks that we deploy across computing devices in the world are based on shaky foundations. Millions of lines of C code crammed into monolithic operating system kernels, mixed with layers of scheduling logic, wrapped in a hypervisor, and served with a dose of nominal security checking on the side. In this talk, I will describe an alternative approach to constructing reliable, specialised systems with a familiar developer experience. We will use modular functional programming to build several services such as a secure web server that have no reliance on conventional operating systems, and explain how to express their logic in a high level, functional fashion. By the end of it, everyone in the audience should be able to build their own so-called unikernels!
Lecture 2: The First Billion Real Deployments of Unikernels
Unikernels offer a path to a more sane basis for driving applications on hardware, but will they ever be adopted for real? For the past fifteen years, an intrepid group of adventurers have been developing the MirageOS application stack in the OCaml programming language. Along the way, it has been deployed in many unusual industrial situations that I will describe in this talk, starting with the Docker container stack, then moving onto the Xen hypervisor that drives billions of servers worldwide. I will explain the challenges of using functional programming in industry, but also the rewards of seeing successful deployments quietly working in mission-critical areas of systems software.
Lecture 3: Programming the Next Trillion Embedded Devices
The unikernel approach of compiling highly specialised applications from high-level source code is perfectly suited to programming the trillions of embedded devices that are making their way around the world. However, this raises new challenges from a programming language perspective: how can we run on a spectrum of devices from the very tiny (with just kilobytes of RAM) to specialised hardware? I will describe the new frontier of functional metaprogramming (programs which generate more programs) that we are using to compile a single application to many heterogenous devices, and a Git-like model to coordinate across thousands of nodes. I will conclude with by motivating the need for a next-generation operating system to power new exciting applications such as augmented and virtual reality in our situated environments, and remove the need for constant centralised coordination via the Internet.
Event details
- When: 13th February 2018 09:30 - 15:15
- Where: Byre Theatre
- Series: Distinguished Lectures Series, Systems Seminars Series
- Format: Distinguished lecture
Adriana Wilde (St Andrews): Rising to challenges in assessment, feedback and encouraging gender diversity in computing (School Seminar)
Abstract
This talk is in two parts, in the first of which Adriana will focus on her experiences in assessment and feedback in large classes, and in the second part on her work in encouraging gender diversity in computer science.
The focus of the first part will be on her involvement in redesigning an undergraduate module on HCI, where the methods of assessment used were no suitable for increasingly larger classes (up to 160 students). Redesign decisions needed to preserve the validity and reliability of the assessment whilst respecting the need for timely feedback. Adriana will specifically talk about the exam and coursework, and how learning activities in the module were aligned to the assessment, through the use of PeerWise for student-authored MCQs, and the use of video for assessment to foster creativity and application of knowledge. During the talk, there will be an opportunity for discussion on the challenges then encountered.
A (shorter) second part of the talk will present her experiences in supporting women in computing, starting with a very small-scale intervention with staff and students at her previous institution, and concluding with her engagement at the Early Career Women’s Network in St Andrews.
Event details
- When: 23rd January 2018 14:00 - 15:00
- Where: Cole 1.33a
- Series: School Seminar Series
- Format: Seminar
Dr. Vladimir Janjic – Efficient Dynamic Mapping of Parallel Applications to NUMA Architectures by Reinforcement Learning
Title: Efficient Dynamic Mapping of Parallel Applications to NUMA Architectures by Reinforcement Learning
Abstract: We present a dynamic framework for mapping threads and data of parallel applications to computational cores/memory nodes of parallel non-uniform memory architecture (NUMA) systems. We use a feedback-based mechanism where the performance of each thread is collected and used to drive the reinforcement-learning policy of assigning affinities of threads/data to CPU cores/memory nodes. The proposed framework can address different optimisation criteria, such as maximum processing speed and minimum speed variance. We demonstrate that we can achieve an improvement of 12% in execution time compared to the default Linux operating system scheduling/mapping of threads under varying availability of resources (e.g. when multiple applications are running on the same system).
Event details
- When: 7th December 2017 12:00 - 12:00
- Where: Honey 103 - GFB
- Format: Talk
Model Checking and Cache Coherence Protocols – Dr. Ruth Hoffmann
Event details
- When: 30th November 2017 12:00 - 13:00
- Where: Cole 1.33b
- Format: Talk
“Sensing and topology: some ideas by other people, and an early experiment” by Simon Dobson
Abstract
The core problem in many sensing applications is that we’re trying to
infer high-resolution information from low-resolution observations —
and keep our trust in this information as the sensors degrade. How can
we do this in a principled way? There’s an emerging body of work on
using topology to manage both sensing and analytics, and in this talk I
try to get a handle on how this might work for some of the problems
we’re interested in. I will present an experiment we did to explore
these ideas, which highlights some fascinating problems.
Event details
- When: 30th November 2017 13:00 - 14:00
- Where: Cole 1.33a
- Series: Systems Seminars Series
- Format: Seminar