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.

3rd Annual MasCot Program Day 2023 Focuses on Technology Transfer and Industry-Academia Collaboration

In a bid to spearhead advancements in engineering methodologies and manage the increasing complexity of industrial systems, the third annual Mastering Complexity (MasCot) Program Day was successfully held on Tuesday, October 10, 2023. The MasCot program, a six-year strategic academic initiative jointly funded by TNO-ESI and NWO, has brought together leading universities and research organizations to pioneer the next generation of engineering methods, promoting cost-effective and high-quality development of industrial systems. The program consists of four key projects: 1) Scheduling Adaptive Modular Flexible Manufacturing Systems (TU/e, TU Delft, Radboud University), 2) Programming and Validating Software Restructurings (TU Delft, TU/e), 3) Testing in Times of Continuous Change (Radboud University, Twente University), and 4) Design Space Exploration 2.0: Towards Optimal Design of Complex, Distributed Cyber Physical Systems (UvA, Leiden University).

This year, Radboud University hosted the event at Hotel Van der Valk Nijmegen-Lent, drawing a crowd of 38 attendees from academia, industry, NWO, and TNO-ESI. With the first MasCot projects set to conclude in 2024, the theme of this year's gathering revolved around technology transfer. The event commenced with project updates from each of the four projects. During breaks, attendees had the opportunity to engage in technical dialogues with PhD students, who presented their work on posters. A highlight of the day was the keynote address delivered by Sjoerd Verduyn Lunel, head of ASML research (a.i.). Verduyn. A key message of his presentation was the required improvement of productivity of design engineers by a factor of 2.5 in the next ten years to keep up the pace of innovation. ASML is therefore engaging in defining road maps and establishing long-term collaborations with academic partners and research organization, such as TNO. He also described how ASML are differentiating projects at different levels of maturity, from fundamental research to proofs-of-concept, and how they scale up and transfer knowledge between these phases. This keynote was well-appreciated and many participants were inspired by this structured approach to programming and managing research and innovation.

The afternoon was dedicated to breakout sessions where participants shared their perspectives on technology transfer and discussed the roles that various MasCot stakeholders—universities, industry, NWO, and ESI—can concretely play in facilitating this critical process. The day concluded with a networking session and dinner, marking another successful edition of the MasCot Program Day.

Bridging the Gap: Rethinking Real-Time Systems for Industry Success and Model-Driven Performance Engineering

The real-time systems community is shrinking and needs to bridge the gap between academic research an industry practice. In my pitch at ECRTS, I shared our view on model-driven system performance engineering for cyber-physical systems and encouraged the community increase its scope and take a broader responsibility for timing-related issues in systems to achieve those goals. This means working in more of the focus areas that we have identified in our vision and validated with our industry partners, but also reconsidering some directions in areas where work is already taking place. This means less focus on hard real-time requirements and formal methods and more focus on:

• system-level KPIs instead of meeting deadlines in subsystems
• soft real-time requirements
• timing requirements beyond software
• system performance modelling, model calibration, and model learning
• data-driven performance analysis, optimization, verification, and diagnostics, e.g. using traces

I encouraged the community to have a look at our vision for model-based system performance engineering for industrial cyber-physical systems and asked to think about how they could contribute through their current and future work.

Please have a look at our vision here.

Thanks to Bram van der Sanden, Kuan-Hsun Chen, Mitra Nasri, Geoffrey Nelissen, and Twan Basten for their help preparing the pitch.

Keynote Address Explores Performance Engineering in Cloud-Connected Cyber-Physical Systems

I had the honor of being invited as keynote speaker at RT-Cloud 2023. The keynote discussed the increasing complexity of cyber-physical systems (CPS) in the Dutch high-tech systems industry and a gradual transition towards microservice architectures and cloud-connected systems. This transition challenges our experience with performance engineering in the CPS domain, as we adapt our methods to embrace new tools and technologies. To make the presentation concrete, I discussed two projects that I am currently working on, a project on performance verification of microservice architectures together with Thales, and a project about performance engineering and service continuity in the compute continuum, together with Philips and TU/e and other TRANSACT partners. I would like to thank Johan Eker and Luca Abeni for the invitation and all participants for their attention and questions.

TNO-ESI Cloud Continuum Workshop Connects Researchers and Promotes Collaboration in the Netherlands

The TNO-ESI Cloud Continuum workshop, an informal hybrid event that attracted just over twenty participants, took place at ESI on February 21. The goals of this workshop were to: 1) connect applied and academic researchers in the area of cloud continuum in the Netherlands, 2) disseminate research results from ongoing research projects, and 3) identify possibilities for collaboration. Benny Akesson, the organizer of the event, opened the workshop by presenting some drivers for cloud adoption/integration in the high-tech industry, as well as the work done by ESI in the ArchViews and TRANSACT projects related to performance observability. This was followed by four invited speakers from Eindhoven University of Technology and Vrije Universiteit Amsterdam. The topics of the presentations ranged from reference architectures for the cloud continuum, root-cause analysis in the continuum, modelling and calibration of cyber-physical systems deployed in the continuum, to performance variability of cloud/edge systems. All in all, it was a nice and successful event that showcased parts of the body of work currently going on in this exciting area. Thank you Matthijs Jansen, Jeroen Voeten, Mahtab Modaber, and Panagiotis Giannakopoulos for your presentations.

Ensuring Safety, Performance, and Security in Cloud-Enabled CPS: Accepted Paper Presents Thirteen Concepts at IEEE SysCon 2023

Our paper entitled “Thirteen Concepts to Play it Safe with the Cloud” has been accepted at IEEE International Systems Conference (SysCon), that will take place in Vancouver, Canada on April 17-20, 2023. The paper discusses how edge and cloud technologies has the potential to enhance safety-critical CPS, also in regulated environments. This is only possible when safety, performance, cyber security, and privacy of data are kept at the same level as in on-device only safety-critical CPS. To this end, this paper presents thirteen selected safety and performance concepts for distributed device-edge-cloud CPS solutions. This early result of the TRANSACT project aims to ensure needed end-to-end performance and safety levels from an end-user perspective, to extend edge and cloud benefits of more rapid innovation and inclusion of value-added services, also to safety-critical CPS.

Mastering Complexity – Academia, Industry and TNO working intimately together

The 3rd Annual Program Day for the Mastering Complexity (MasCot) Partnership program took place on Wednesday October 19. This time, the event was hosted by the University of Amsterdam and was held in the Startup Village at Science Park. Approximately 40 participants from academia, industry, NWO, and TNO attended the event. After a brief introduction, project updates were given from the four academic projects in the program:

  1. Scheduling Adaptive Modular Flexible Manufacturing Systems (SAM-FMS)
  2. Programming and Validating Software Restructurings
  3. TiCToC – Testing in Times of Continuous Change
  4. Design Space Exploration 2.0: Towards Optimal Design of Complex, Distributed Cyber Physical Systems

This was followed by Q&A and a short interaction where participants tried to identify the general complexity management techniques used in the projects. In the afternoon, there were breakout sessions focusing on the way-of-working in MasCot projects, how to best involve and engage all stakeholders in the project: industry and academic partners, users, and ESI liaisons. This allowed the different projects to listen to how the others organized their work, e.g. in terms of regular meetings and working on industry location, during the first years and reflect on the best way-of-working to reach their goals for the next stage.

The event was followed by a social program with informal networking set to the tune of a boat ride with drinks on the beautiful canals of a sunny autumn-colored Amsterdam and a dinner at the restaurant In de Waag.

Specification, Verification, and Adaptation of Software Interfaces using Eclipse ComMASuite

Software interfaces are key to realizing the benefits of component-based software architectures, yet specifying interfaces is difficult and may result in problems in the protocol specification itself, or in its interactions with clients. This problem is addressed through a six-step methodology for specification, verification, and adaptation of software interfaces. The methodology builds on the open-source tool Eclipse ComMASuite, developed by TNO-ESI partners in an open innovation eco-system. The specification and verification steps have been contributed back to the community and are supported by a two-day course named “Modelling and Analysis of Component-based Systems”, available from TNO-ESI in both an academic and industry version.

Please read my blog post that describes the methodology and demonstrates it step-by-step from a user perspective through a simple case study in a video.

Paper Accepted at PNSE 2022

I am happy to announce that the paper “Partial Specifications of Component-based Systems using Petri Nets” has been accepted for publication at the International Workshop on Petri Nets and Software Engineering (PNSE) 2022. This paper was first-authored by Bart-Jan Hilbrands, a (former) student in the Master of Software Engineering program at the University of Amsterdam, who did his master thesis project under the supervision of myself and my ESI colleague Debjyoti Bera. The master thesis project was conducted in the context of the DYNAMICS project, a bi-lateral research project between ESI and Thales, which looked into specification, verification, and adaptation of software interfaces.  This publication is a good example of how a good master thesis can be turned into a publication.

The paper addresses the problem of verifying correctness properties, such as absence of deadlocks, livelocks, and buffer overflows, in software components with multiple inter-dependent interfaces. An approach based on partial specification of dependencies between interfaces, expressed as a set of functional constraints, is proposed in the paper. The papers presents and formalizes three commonly occurring functional constraints and provides algorithms for encoding them into a Petri net representation of the interfaces, enabling interface verification through reachability analysis. The approach has been implemented and demonstrated using ComMA.

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.