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.

Position paper accepted at DSD 2022

I am pleased to announce that our position paper “Design Space Exploration for Distributed Cyber-Physical Systems: State-of-the-art, Challenges, and Directions” has been accepted for publication at the Euromicro Conference on Digital System Design (DSD). This is the first accepted paper from the DSE2.0 project, a collaboration between University of Amsterdam, Leiden University, and ASML. The project is a part of the Mastering Complexity (MasCot) partnership program funded by ESI.

The paper addresses the challenge of designing industrial cyber-physical systems (CPS), which are often complex, heterogeneous, and distributed computing systems that typically
integrate and interconnect a large number of hardware and software components. Producers of these distributed Cyber-Physical Systems (dCPS) require support for making (early) design decisions to avoid expensive and time consuming oversights. This calls for efficient and scalable system-level Design Space Exploration (DSE) methods for dCPS. In this position paper, we review the current state of the art in DSE, and argue that efficient and scalable DSE technology for dCPS is more or less non-existing and constitutes a largely unchartered research area. Moreover, we identify several research challenges that need to be addressed and discuss possible directions for targeting such DSE technology for dCPS.

Proposal Building Dutch Real-time Systems Community Granted

Recently, I submitted a small proposal worth 5K euro to the 4TU.NIRICT Call Community Funding together with Mitra Nasri and Geoffrey Nelissen, both from Eindhoven University of Technology, and Kuan-Hsun Chen from University of Twente. The purpose of the proposal was for creating a Dutch Real-time Systems community and stimulate collaboration both nationally and at the European level. Earlier this week, we were notified that the proposal was granted!

We plan to use the funding for building a Dutch real-time systems community by organizing a workshop in the Netherlands with several invited speakers (around 6) from other European countries, followed by a consolidation event after 3 months. The duration of the workshop will two days, and the target audience is the domain researchers affiliated with the 4TU and UvA. On each workshop day, there will be keynotes, rapid pitch talks, interactive panels, reviews of funding opportunities, and social meetings. The one-day consolidation event, (e.g., three months later) will focus on strengthening the Dutch real-time system community vision and on consolidating the initiatives planned at the workshop.

I look forward to working with Mitra, Geoffrey, and Kuan to organize a strong real-time systems community in the Netherlands through this grant, and through other means.

 

Survey of Industry Practice on Top Lists of Real-time Systems Journal 2021

I am pleased to see that our work “A comprehensive survey of industry practice in real-time systems” made both the lists for most downloaded and most cited articles in the Real-time Systems journal of 2021. I hope this is an indicator that people appreciate the paper, but also that it inspires other to pursue empirical survey-based or interview-based research in the area of real-time systems.

Next week, Mitra Nasri will pitch the case for empirical research into industry practice and perspective in real-time systems at ECRTS. Don’t miss the opportunity to hear her speak and share your thoughts on this topic and how it may help the field forward. For those of you that are not able to attend ECRTS, you can read my blog making the case for empirical survey-based research here.

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.

Serving the Real-time Systems Community

I have been a part of the academic real-time systems community for many years by serving on the technical program committee of many key conferences, as well as reviewing articles for the real-time systems journal. This year, I am serving the real-time systems community in the following four ways.

I look forward to working with and serving the community in these roles.

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.

Master Thesis on Formal Verification of Software Interfaces Defended

Today, Bart-Jan Hilbrands, a master student from UvA supervised by myself and my ESI colleague Debjyoti Bera, successfully defended his master thesis “Verification of Inter-Dependent Interfaces in Component-Based Architectures”. The thesis considers formal verification of ComMA components with multiple interfaces with inter-dependent behavior, caused by three different types of functional constraints. The four main contributions of the thesis are: 1) A formalization of each type of interface constraint, defining how they should restrict behavior, 2)  a set of assumptions, describing properties that help ComMA users avoid creating specifications with termination issues, 3) methods for encoding the behavior of these constraints into existing Petri net representations of interfaces, and 4) methods for validating whether a set of given constraints is encoded correctly into a given Petri net. The theory is supported by a prototype implementation ComMA.

Bart presented his thesis well and expertly answered questions from the committee. We thank Bart for his excellent work and wish him good luck is his future career. First off, he will continue working with me and Deb to publish his work as a paper.

Vacancy for a PhD in Energy Labels for Digital Services

Back in July, I announced that our project proposal “Zero-Waste Computing: Energy Labels for Digital Services” was granted for the Science and Design PhD program at the University of Amsterdam. Now, the Parallel Computing Systems (PCS) group  is looking for a suitable PhD candidate for this project. Among other things, this involves modelling and monitoring to determine how energy is consumed in digital services whose computations are distributed over device, edge, and cloud.

Find a more detailed description of the vacancy, as well as instructions for how to apply here. The application period ends on October 18.

Article about Survey-based Study into Industry Practice in Real-time Systems in Real-time Systems Journal

It has been almost a year since we published the first survey-based study in the area of real-time systems at the Real-time Systems Symposium (RTSS) back in December 2020. The paper was entitled “An Empirical Survey-based Study into Industry Practice in Real-time Systems” and had the ambitious goal of addressing the gap between academic research and industry practice through an empirical survey-based study into industry practice. The survey had five objectives: 1) Establish whether timing predictability is of concern to the real-time embedded systems industry, 2) Identify relevant industrial problem contexts, including hardware platforms, middleware, and software, 3) Determine which methods and tools are used to achieve timing predictability, 4) Establish which techniques and tools are used to satisfy real-time requirements, and 5) Determine trends for future real-time systems. The survey was completed by 120 industry practitioners in the field of real-time embedded systems, which allowed interesting observations and insights to be made about the characteristics of the systems being developed today and important trends for the future.

Now, almost one year later, I am happy to announce that an extended version of our RTSS paper has been accepted for publication in the Real-time Systems journal. The title of the article is “A Comprehensive Survey of Industry Practice in Real-Time Systems“. The main extensions in the article include: 1) a discussion of potential threats to validity of the survey and its results, as well as the steps taken to mitigate them, 2) a statistical analysis and discussion of the results of the survey, in the context of its five objectives, 3) a discussion of the results of a quiz aimed at determining if the aggregate findings of the survey are common knowledge in the real-time systems community. In addition, more aggregated data from the survey has been released, allowing interested readers to further delve into the similarities and differences between the avionics, automotive, and consumer electronic domains.

We hope that you enjoy the article!