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.
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.
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.
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.
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