News & Events

Spotlight: Program Series with Philippe Kruchten – System Dependability

March 22, 2019
UBC MEL in DSS Program Spotlight Series

System Dependability

By Philippe Kruchten, Director of UBC’s Master of Engineering Leadership in Dependable Software Systems.

Before 2015, the most significant developments in dependable software systems were concentrated in industries such as transportation, health care or nuclear power, where a system failure could be deadly or very costly. Most of these systems kept humans in the loop, and were kept reasonably small and isolated from other systems.

We are now entering the era of the Internet of Things, with large numbers of devices connected to each other and with no humans within the loop to mitigate, correct, override or stop the processes they control.

The devices in these systems produce massive amounts of data that can be used to recognize patterns and make decisions that potentially change their own behaviour, using AI and in particular machine learning.

As a result, there’s now a growing need for high system dependability across a range of industries. And that requires software engineers who can design and maintain dependable software systems at all stages of the development process, from design to testing to certification.

When we talk about dependability, we are talking about specific system qualities. The system needs to be accurate, giving you the right results. It must be available, which can be very challenging to achieve. It needs to be reliable, with built-in redundancy to ensure continuity of service and be safe, so that when things go wrong – and they will – it shuts itself off gracefully. And, of course, it needs to be secure, immune to unwanted malevolent interference.

The Master of Engineering Leadership (MEL) in Dependable Software Systems helps professionals develop the integrated perspectives and skills to be technical leaders in this rapidly evolving field. Students come to us with extensive software development experience, and they deepen their skills through classes in software verification and testing, error-resilient computing systems, software project management and computer security.

During the 12-month MEL program, our students collaborate on a six- or seven-month industry-driven project. In 2018, one project team worked with Critical Systems Labs to identify processes for safety certification of automotive software that used machine-learning algorithms. A second team worked on a project that involved live migration of JavaScript virtual machines, with suggestions from Mimik Systems. A third team assessed the use of blockchain technologies for decentralized car-sharing systems, with advisory support from experts at RightMesh.

In addition to applying and integrating their technical skills, students in this capstone course are developing their strengths in communication, team work and leadership.

The classes students take through UBC Sauder’s Robert H. Lee Graduate School provide a foundation in business concepts, including strategy and risk management. An understanding of these perspectives is essential, as there are many issues to consider from an economic, social and legal point of view when designing today’s safety-critical systems such as self-driving cars or health-monitoring devices.

Our students graduate with the advanced technical skills and business leadership knowledge to confidently take on challenging projects and make a difference in their industry.

Learn more about how the MEL in Dependable Software Systems can help you lead change in your industry, giving you the technical knowledge, foundational business skills and leadership confidence to excel in your career. UBC also offers the MEL in other sector-specific programs, including advanced materials manufacturing, clean energy engineering, high performance buildings, integrated water management, naval architecture and marine engineering and urban systems.

Dependable Software Systems

Dependable Software Systems

Gain the technical, business and project management skills to design and maintain reliable software systems.

Read More