Double Whammy: Two Master Theses Successfully Defended

Today, we had a double whammy! Two excellent master students from the University of Amsterdam that conducted their projects as internships with TNO-ESI have defended their work on the same day. Both projects were conducted in the context of an applied research project conducted in partnership between TNO-ESI and Thales and share a common context. As cyber-physical systems are getting increasingly complex and software-intensive, the industry is looking for new design methodologies to increase engineering productivity. One promising direction is to automatically synthesize systems from a set of requirements. This may involve selecting the components to integrate and mapping and deploying software on available hardware nodes. The design space for system synthesis is huge, but can be efficiently navigated using a design-space exploration tool that iteratively optimizes the design.

One challenge for such a design-space exploration tool is to quickly estimate the performance of selected software components for a candidate mapping to hardware nodes. Jan Przystal’s thesis Early Software Performance Prediction in Cyber-Physical System Design tackles exactly this challenge. Building on the Bubble Up method, in particular on the thesis of our previous student Bruno Dzikowski, his thesis investigates how the performance of software components can be predicted early in the design process, before a complete system has been built or deployed. Rather than relying on time-consuming simulations or exhaustive testing of all possible deployment configurations, the Bubble Up method individually characterizes software components by how sensitive they are to contention in shared resources and how much contention they create themselves. These individual characterizations allow performance predictions to be made quickly for any pair of  applications, as shown in the figure below. Jan’s work significantly improved the prediction accuracy and reduced the profiling time compared to the baseline. In addition, he extended the baseline approach to cover realistic deployment scenarios with many co-located applications. He also took the first steps beyond sharing only memory resources by investigating how sharing CPU resources affects application performance and how these effects can be incorporated into the prediction framework. Ultimately, his work brings automated system synthesis one step closer by enabling design-space exploration tools to rapidly assess the performance implications of alternative software-to-hardware mappings.

The work of Toine van Wonderen addresses a quite different aspect of system synthesis. It observes that design-space exploration evaluates many, many, possible candidate system configurations and provides an optimized solution, but it does not teach developers anything about what actually makes a particular configuration good or bad. To this end, his thesis Interpretable DSE – Extracting Design Principles from the Automated Synthesis of Hierarchical dCPS aims to automatically extract design principles from the design-space exploration process. In his work, Toine developed a methodology that first converts synthesized system configurations into a novel interpretable representation and then uses machine-learning techniques to learn the relationships between design decisions and resulting system quality attributes. By applying explainable AI techniques, in particular SHAP (SHapley Additive exPlanations), his approach identifies which design choices contribute most to a solution’s quality, as shown in the SHAP beeswarm plot below. Rather than treating the outcome of design-space exploration as a black box, his work enables engineers to understand why certain solutions emerge and what design principles can be derived from them. Evaluated on a complex case study from the defense domain, the approach demonstrated that valuable architectural insights can be extracted automatically from the large volumes of data generated during design-space exploration. In this way, Toine’s work complements the optimization capabilities of automated system synthesis by turning exploration results into actionable knowledge that can support future design decisions and deepen engineers’ understanding of complex system architectures.

Congratulations Jan and Toine on successfully defending your theses and completing your MSc degrees! We wish you both every success in the next steps of your careers.

Bruno Dzikowski Successfully Defends Master’s Thesis on Performance Prediction

Yesterday, Bruno Dzikowski successfully defended his master’s thesis titled Practical Recommendations for Accurately Predicting Performance Degradation Caused by Memory Contention The thesis addresses the challenge of predicting performance in microservice-based architectures for cyber-physical systems (CPS) running on multi-core platforms, where resource contention significantly impacts accuracy. Existing methods model interference sensitivity and contentiousness but lack practical implementation guidelines.

 

Bruno’s work introduces a compositional performance prediction framework with three key contributions: 1) a validated contentiousness profiling component, 2) an analysis of how system configuration affects prediction accuracy, and 3) the design and implementation of an experimental testbed. Tested across 195 co-location scenarios, the approach achieves high accuracy (median error ≈ 1.4%), demonstrating its effectiveness for forecasting microservice performance.

We are very proud of the excellent research Bruno conducted during his internship with TNO-ESI, which resulted in an outstanding thesis that was confidently presented and defended. We thanks Bruno for the excellent collaboration and wish him all the best for his future career.

Master Thesis Project Leads to Conference Publication on Microservice Architecture Anti-Patterns at SEAA 2024

I am delighted to announce that our paper, “Graph-based Anti-Pattern Detection in Microservice Applications,” has been accepted for publication at the 50th Euromicro Conference Series on Software Engineering and Advanced Applications (SEAA). This paper stems from Amund Lunke Røhne’s master thesis project, which he conducted as an internship with TNO-ESI under the supervision of myself and Ben Pronk. This achievement showcases how exceptional work by master students can lead to publications in established conferences.

Our paper addresses a significant challenge in the evolution of microservice applications: as the microservice architecture evolves, architectural anti-patterns may emerge. These anti-patterns are challenging to detect and manage due to their informal natural language definitions and the lack of automated tools. To tackle this, we propose an automated methodology for detecting architectural anti-patterns related to microservice dependencies. A key component of this methodology is the novel Granular Hardware Utilization-Based Service Dependency Graph (GHUBS) model, which is automatically inferred from telemetry data. We have formalized three commonly known anti-patterns and developed algorithms to detect them within the GHUBS model. This methodology is supported by an open-source tool that automatically identifies and visualizes these anti-patterns. We validated our approach using both synthetic data and a case study of a popular microservice benchmarking suite, demonstrating successful detection of the formalized anti-patterns.

Congratulations to Amund on the acceptance of your paper! Your work has made both TNO-ESI and the Software Engineering program at the University of Amsterdam very proud!

Merrick Oost-Rosengren Successfully Defends Thesis on Early Component Verification using Colored Petri Nets

Just before the summer holidays, another master student has finished his project. This time, it is Merrick Oost-Rosengren who successfully defended his thesis “Formal Verification of Components through Mirroring of Coloured Petri Nets“. Parts of this work was done as an internship with TNO-ESI in collaboration with Thales.

This research addresses a challenge in distributed component-based systems, where different components are developed by different teams, perhaps even different organizations, over time. The problem is that when components are ultimately integrated, their interactions may cause deadlocks, livelock, or unbounded memory behavior. Fixing such problems late in the development process is very costly. An alternative approach is to model components, or component interfaces, early in the design process and use model checking to verify the behavior of the component and its interactions. However, we may not know which components it will interact with yet. Perhaps they have not yet been developed?

The thesis addresses this challenge by proposing a methodology and corresponding tool chain, where components as modelled as Colored Petri Nets from which a verification model, a mirror of the component that captures relevant possible behaviors of interacting components, is automatically generated. As a part of the methodology, the thesis proposes a new class of Colored Petri Nets called Mirrorable Open Colored Petri Nets. This class combines features of existing Colored Petri Nets and Open Petri Nets, and also adds extra semantics to allow the component to be mirrored. It also describes methods for mirroring such a net and fusing the mirror with the original component, such that the components and its interactions can be verified using reachability analysis.

We congratulate Merrick on his successful defense and wish him a lovely summer!

Keynote on Managing Variability and Evolution in High-tech Equipment at FOSD Meeting 2024

I had the distinct honor of opening this year’s Meeting on Feature-Oriented Software Development (FOSD Meeting) with a keynote titled “Managing Variability and Evolution in High-tech Equipment”. FOSD Meeting is a yearly informal meeting to bring together the community of researchers working on feature-oriented software development. This year, the event was hosted by TU/e between April 9 – 12.

The keynote covered complexity trends in the high-tech equipment domain, ESI and its role in the high-tech innovation eco-system, and two examples of how variability and evolution were tackled using model-based methodologies at the level of the software architecture in our projects with Thales. The keynote was appreciated by the organizers of the event and the group of 35 participants, mostly from (German) universities but also from ESI’s international applied research partner DLR.

Reflecting on my experience, I was pleasantly surprised at the broad expertise in this community, which covered modelling, software engineering, and performance and I wished I could have stayed around to enjoy the rest of the event. I am happy to see that the keynote triggered some concrete follow ups that can help us link members of this academic community to research in the high-tech equipment ecosystem.

Master Thesis Tackles Architectural Anti-patterns in Microservice Applications

Today, we are delighted to announce the successful defense of the outstanding master’s thesis titled “Architectural Anti-Pattern Identification and Mitigation in Microservice Applications Based on Telemetry” by our master student, Amund Lunke Rohne from the University of Amsterdam. This master’s project was a collaborative effort involving TNO-ESI and Thales.

The thesis addresses the problem that microservices offer benefits like scalability and separation of concerns, but also introduce many complex service dependencies. The decomposition of microservice applications can impact system performance and maintainability and can lead to architectural anti-patterns over time. While simple anti-patterns can be detected using analysis of service dependencies, there is a lack of formal mathematical definitions which prevents more complex anti-patterns from being automatically detected by tools. The thesis introduces a novel model called Granular Hardware Utilization-Based Service Dependency Graph (GHUBS), a fine-grained model that captures the interactions dependencies between services at the level of individual requests. The GHUBS model can be manually specified in early design phases to validate a microservice decomposition, or automatically created using telemetry data from a running application. Mathematical formalizations are introduced for four common architectural anti-patterns and methods for automatically detecting them using the GHUBS model is presented. A method for recommending how to mitigate the identified anti-patterns based on the service dependencies in the GHUBS model, as well as resource utilization metrics for the services, is also presented. The approach is implemented in a tool called Televisor and validated through case studies on open-source microservice benchmarking applications, revealing instances of these anti-patterns.

We thank Amund for his work and a fruitful collaboration, and wish him the best of luck in his future career.

Seven Brave Software Architects/Engineers from Thales Completes MOANA-CBS Course using Eclipse ComMASuite

ESI (TNO) has given another instance of the course “Modelling and Analysis of Component-based Systems” (MOANA-CBS), developed as part of the applied research project DYNAMICS, at Thales. A batch of 7 brave software engineers participated to learn more about how to identify and resolve a range of interface model quality problems, such as deadlocks, livelocks, and race conditions. This instance of the course was adapted to be based completely on the latest version of Eclipse ComMASuite, the open source version of ComMA, making the course accessible to a large general audience. Previously, the course has been given with an internal version of ComMA or by using Petri nets as the interface modelling language.

 In total, over 110 participants, mostly with backgrounds in system and software engineering, have followed different versions of this course. This time, two former Thales participants assisted in giving the course, both by presenting contents and supervising exercises, to help Thales transfer the knowledge developed in the DYNAMICS project into the organization. We look forward to further improve the material and keep sharing the knowledge we developed with Thales and other interested parties.

Modelling and Analysis of Component-based Systems (MOANA-CBS) Course Update

Last year, ESI (TNO) and Thales developed a two-day course on Modelling and Analysis of Component-based Systems (MOANA-CBS) as a part of the DYNAMICS project. The course addresses the trend to tackle software complexity by decomposing monolithic software into loosely coupled components. While this trend manages complexity through improved scalability, adaptability, and testability, it also increases concurrency and asynchronous communication. This may in turn lead to an explosion in possible behaviors. As a consequence, it is hard to oversee the behavior of such systems, resulting in situations where early design errors are detected much later in the system lifecycle with exponentially rising costs. The course targets software and system architects/engineers involved in design and implementation of components and interfaces, and teaches methods for modelling and analyzing them to guarantee that they are free from deadlocks, livelocks, races, and buffer overflows.

We piloted the course material both in academic and industrial environments. The former was as a part of my course Embedded Software and Systems, a part of the Software Engineering Master  at the University of Amsterdam. The latter was as a part of the Accelerate program run by Thales and Luminis to accelerate their medior software talent to a senior level. Thales recently published an interview with Patrick Schulenberg, one of the participants in the program, about his experience. Patrick explains that the program has been an excellent opportunity for him to grow within the company, and mentions the positive impact of our course: “ESI taught a class about interface modeling, sharing their experiences with using the Comma framework at Philips – this was a trigger for us to put practical modeling proficiency on our roadmap”.

Currently, we are developing an updated version of the MOANA-CBS course that will have closer ties to ComMA, an open-source domain-specific language initially developed by Philips and ESI that is currently used by several companies. This update will strengthen the practical applicability of the course for users of ComMA, and will introduce unfamiliar users to interface modelling and analysis through hands-on experience with the tool. The new version of the course is expected to be ready in Q3.

Thales and University of Amsterdam Strengthen the ESI Ecosystem

ESI has just made a press release to announce that both Thales and the University of Amsterdam (UvA) has joined as partners in its open-innovation ecosystem. ESI’s ecosystem, based on open innovation, plays an important role in maintaining the leading competitive position of the Dutch high-tech industry. Together with universities and partner companies, ESI develops methodologies and tooling that are in line with the vision and needs of the high-tech industry, making use of the latest insights from universities. In an industry-as-a-lab setting, system engineering methodologies are developed, tested and validated on site at and with partners.

With the addition of UvA and Thales, ESI’s ecosystem now has more industrial and academic partners than ever before, which shows great promise in difficult times. Personally, I am very happy to see that the university where I work decided to further invest in its collaboration with ESI and join the partner board. Similarly, Thales is the company I have worked with in applied research projects for the past five years, and it pleases me that they see the benefits of this collaboration.

Read the full press release from ESI here.

Update:
The press release was picked up by a number of different media outlets, e.g.

UvA – UvA Informatics Institute and Thales strengthen ESI open-innovation ecosystem

Bits & Chips – Thales and UvA (re)join ESI

Emerce – Thales en het Informatica Instituut van de Universiteit van Amsterdam versterken ESI (TNO) open-innovatie ecosysteem

Link Magazine -Thales en de Universiteit van Amsterdam versterken het open-innovatie systeem van ESI TNO 

Engineers Online – Thales en UvA versterken Esi open-innovatie ecosysteem voor hightech