MOANA-CBS Course

MOANA-CBS Course

Modelling and Analysis of Component-based Systems

Introduction

The complexity of cyber-physical systems across application domains is steadily increasing, which has caused the high-tech industry to rely on component-based architectures. In these architectures, functionality is decomposed into cohesive components with clear responsibilities, allowing complexity to be managed through a divide-and-conquer approach, both in terms of function and ownership within an organization.

Components communicate through message passing, which is often asynchronous, to achieve low coupling between components. This may lead to an explosion in possible behaviors, which is very hard to oversee, resulting in situations where early design errors are detected much later in the system lifecycle when they are significantly more costly to address.

About the course

The course “Modelling and Analysis of Component-based Systems” (MOANA-CBS) targets software and system architects/engineers involved in design and implementation of software components and interfaces. It explains why interfaces in complex component-based systems (CBS) may suffer from quality issues, such as unreachable states, deadlocks, livelocks, races, confusion, or buffer overflows, and why this problem is important to address. Through a combination of presentations and hands-on exercises, participants learn how to specify the structure and behavior of software interfaces in a CBS using Eclipse ComMASuite and to detect the aforementioned quality issues using its model checker. The course also teaches how to resolve the identified issues by applying a set of design guidelines. Organized discussions between participants are used to link the course contents to daily industrial practice.

The two-day course “Modelling and Analysis of Component-based Systems” (MOANA-CBS) targets software and system architects/engineers involved in design and implementation of software components and interfaces.

"The most important thing I learned was the pitfalls of interface design and how to solve the issues. The awareness of such methods are very useful and will help me to have background for interface discussions. Modelling of interfaces in combination with model checking is beneficial compared to what is currently used" (Course participant 2021)

Learning goals

The five learning objectives of the course are:

  • explain why complex component-based systems (CBS) may suffer from deadlock, livelock, races, or buffer overflows, and why this problem is important to address

  • specify the structure and (partial) behavior of interfaces in a CBS using Eclipse ComMASuite

  • identify design issues in interfaces, such as unreachable states, deadlock, livelock, and unbounded behavior using Eclipse ComMASuite and resolve them using design guidelines

  • identify design issues in interactions between servers and clients, such as races and confusion using Eclipse ComMASuite and resolve them using design guidelines

  • explain how course contents connect to own daily work

"I learned to talk about interfaces in a general sense and am better equipped to reason about potential issues with both synchronous and asynchronous communication" (Course participant 2022)

Contact