Bits & Chips just published an article about ComMA (Component Modelling and Analysis). ComMA addresses key design and verification challenges for complex systems comprising many components developed by different parties, challenges that are frequently encountered in the high-tech industry across application domains. The challenges are tackled by allowing structure and behavior of component interfaces to be formally specified using a set of domain-specific languages. From this specification, a number of artifacts are automatically generated, including system tests, run-time monitors that detect protocol violations, performance metrics, and documentation. Together, these artifacts reduce the time to design, integrate, and evolve complex high-tech systems, allowing the next generation of these systems to be developed faster and with higher quality.
ComMA was developed by ESI (TNO) in applied research projects with Philips. Successfully proving the approach in an industrial context at Philips has sparked interest from other companies, including Thermo Fisher Scientific, Thales, and Kulicke & Soffa. This eco-system of high-tech companies is expected to increase further as the ComMA tooling becomes open source as part of the Eclipse Foundation.
The article also mentions the applied research project DYNAMICS, for which I am the technical lead. Here, ESI and Thales have been looking at challenges and opportunities related to the evolution of interfaces. The strong point of interfaces is that they abstract from the component providing a particular functionality, allowing it to be changed or even replaced without compromising the overall functionality of the system. However, eventually the interfaces themselves need to be updated to prevent technical debt, and at that point all components relying on that interface are affected simultaneously. In the DYNAMICS project, we study how to automatically detect whether a change to the protocol of an interface is backwards compatible and if this is not the case, semi-automatically generate adapters that bridge the differences with previous versions. The benefit of this approach is that it reduces the time and cost of interface updates, allowing them to evolve faster and avoid creative workarounds that ultimately lead to unreliable systems and lower software quality. If you are interested in reading more about this work and how it leverages ComMA and Petri Net technology to achieve this, read this overview paper from last year.
Two bachelor theses one the use of TurtleBot3 for embedded system education have just been finalized. The first thesis by Mirka Schoute is entitled “Application Programming for Embedded Systems in Education on TurtleBot3 using Statecharts” and investigates whether an existing lab project based on Lego Mindstorm EV3 and Stateflow can be replaced by a similar lab project using TurtleBot3 and Yakindu Statechart Tools. It compares the robot platform and the statechart tools in terms of features, and redesigns the lab project to contain the same educational challenges. The main conclusion is that the redesigned project based on TurtleBot3 and Yakindu Statechart Tools are a suitable replacement for old project and provides better opportunities for further development on the project going forward. Based on the results of this thesis, we have decided to change the robot and tooling for the lab project in the academic year 2020/2021. We are happy to announce that Mirka continues working with us over summer to further extend his work and prepare it for student consumption.
The second thesis is written by Louis van Zutphen and is entitled “Gazebo Simulation Fidelity for the Turtlebot3 Burger“. This work studies how well simulation of TurtleBot3 in the simulation environment Gazebo captures the real behavior of the robot. Tests of sensors and actuators are created both in simulation and reality and results are compared. The conclusion is that code developed and tested with Gazebo is easy to deploy on the TurtleBot, but that there are numerous differences between the real robot and environment and their corresponding models in Gazebo that affect the fidelity. Most of these differences can be managed as long as the programmer is aware of them, allowing the amount of time required with the physical robot to be greatly reduced. This work has convinced us that we do not need to buy a TurtleBot for each group of students, but that we can significantly reduce the cost of the lab by efficiently sharing them.
Mohammed (Mo) Diallo just defended his bachelor thesis entitled “Towards the Scalability of Detecting and Correcting Incompatible Service Interfaces“. This work is carried out in the context of a project between ESI (TNO) and Thales that developed a five-step methodology for automatic detection and correction of behavioral incompatibilities resulting from evolving software interfaces (see paper for more details). Mo’s thesis provides a starting point for evaluating the scalability of the proposed methodology. An essential ingredient towards this is the ability to synthetically generate interfaces of various complexity. The thesis has two main contributions: 1) a notion of interface complexity in terms of inputs, outputs and non-determinism is defined and the relation between these parameters is studied, and 2) the methodology for a ComMA interface generator using user-supplied complexity parameters, and its implementation in a supporting tool, is introduced.
I would like to thank Mo for the excellent work he delivered in this thesis, and I am happy that he will continue working over summer to extend it.
The article addresses the problem of generating a time-triggered schedule for a number of independently developed automotive applications on a number of shared resources, such that their control performance only suffers minimal degradation. The three main contributions are: 1) a constraint programming model that solves the problem optimally, exploiting properties of the problem to reduce the computation time; 2) a fast heuristic called Flexi that only has a minor impact on the optimality of the solution; and 3) an experimental evaluation of the scalability and efficiency of the proposed approaches on a case study, in addition to several synthetic datasets. The results show that the heuristic provides a solution on average 5 times faster, finding a feasible solution in 31% more problem instances than the optimal approach within a time limit, while only sacrificing 0.5% of the control performance quality for the largest dataset.
During the past two years, I have been involved with setting up the Partnership Program Mastering Complexity (MasCot), funded NWO Domain Applied and Engineering Sciences together with ESI (TNO). After a long process of defining the key topics, writing the call, and aligning with applicants, four innovative research projects have finally been granted, allocating three million euros to research on software restructuring, testing, scheduling and design of cyber-physical systems. Congratulations to Andy Pimentel,Twan Basten, Jan Tretmans, Eelco Visser, and their collaborators for the accepted projects. I am looking forward to seeing the results!
The press release announcing my appointment as Professor at the University of Amsterdam is finally ready. Time to make them and ESI (TNO) proud!
The Chair of Design Methodologies for Cyber-Physical Systems focuses on two research areas.The first area considers design methodologies for cyber-physical systems in which abstraction, provided by models used for specification, analysis, simulation, or synthesis, play an essential role. While this area applies to cyber-physical systems in general, the second area focuses on design aspects of real-time systems. Together, these two areas capture much of my existing work in both academic (TU/e, CTU Prague, CISTER) and applied research (ESI) in different application domains and industries in which I have worked, e.g. avionics (Airbus), consumer electronics (Philips & NXP), and defense (Thales). They are also broad enough to sustain a long-term effort towards managing complexity of cyber-physical systems. For more information about the research, click the ‘Research‘ button in the menu at the top of the page.
My first mission will involve developing and teaching a course on Embedded Software and Systems, a course that is extremely relevant to our work at ESI. The course is primarily aimed at students following the Master in Software Engineering and teaches the fundamentals of embedded system development. This includes modelling systems using StateCharts, Petri Nets, Data-flow graphs, and Domain-Specific Languages, embedded hardware, functional and timing verification, and design-space exploration. I will also explain the industrial reality behind some of these aspects by drawing on my experience from projects at ESI.
During the course, the students will get practical experience with model-based engineering as they work in groups to program a LEGO Mindstorm Rover using Stateflow to autonomously follow a path, while avoiding obstacles. From this batch of students, I am hoping to find some promising ones that can help us make the next innovative steps in model-based engineering for complex cyber-physical systems for their thesis project.
After six days in Munich I have now left the MODELS 2019 conference. It has been an intense couple of days with three days of workshops and tutorials, and three days of main conference. Both the technical and social aspects of the conference were exceptionally well-organized, so kudos to the men and women who worked hard to make that happen.
2. A tutorial on StateCharts that improved my understanding of a model-of-computation I will be teaching at the University of Amsterdam in the near future. Thanks to Simon van Mierlo, Hans Vangheluwe, and Axel Terfloth for organizing this tutorial and for sharing their excellent material.
3. Meeting and discussing with representatives from BMW, Daimler, MAN, Continental, TTTech, and other automotive companies and hear more about automotive trends towards centralization of computation, first through domain controllers and then further towards integration of domains in automotive “supercomputers”. It was also interesting to see that the automotive industry is showing interest in service-oriented architectures as a paradigm for their platforms. In fact, a paper entitled “Model-Based Resource Analysis and Synthesis of Service-Oriented Automotive Software Architectures” from BMW got the Best Paper Award on the Practice and Innovation track for work in this direction. This confirms our belief that our current applied research on service-oriented architectures in the defense domain can be generalized to other domains.
4. Meeting and talking to people from both Flanders Make and CETIC, which are the Flemish and Wallonian equivalents of ESI (TNO). It was interesting to talk to them and learn about how what we do is similar and different, both in terms of technical scope and business models.
I hope to return to the MODELS conference again next year to present more of our work and have another opportunity to discuss with and learn from top academics and industrialists in the area of model-based engineering.
The dissertation considers applications with real-time requirements sharing resources, such as memories, cores, and networks, in distributed systems. Scheduling this type of application subject to resource and precedence constraints, among others, while maximizing system performance is a challenging problem. Existing approaches either propose exact solutions that cannot solve industrial-sized instances or propose heuristic algorithms without validating its efficiency with optimal solutions.
The dissertation addresses this problem through a three-stage approach, corresponding to three problems with gradually increasing complexity and accuracy of the model. The four main contributions of are: 1) Comparison of three formalisms to solve the problems optimally, Integer Linear Programming (ILP), Satisfiability Modulo Theory, and Constraint Programming, along with computation time improvements. To increase the scalability of the ILP approach, an optimal approach that wraps the ILP in a branch-and-price framework is presented. 2) For each problem, a scalable and efficient heuristic algorithm is presented that decomposes the problem to decrease its computation time. 3) The efficiency of the optimal and heuristic strategies are quantitatively and qualitatively compared. 4) The practical applicability of the proposed heuristic algorithms and optimal approaches is demonstrated on case studies of real systems in both the automotive and consumer electronics domains.
I wish Anna the best of luck in her future career and hope I will have the opportunity to work with her again.
The paper describes applied research from an industrial ESI project with goal of enabling continuous evolution of software in service-oriented architectures through automatic detection and correction of service incompatibilities. Towards this, the paper has three main contributions: 1) the state-of-the-art in the areas of specification of service interfaces, and detection and correction of incompatible service interactions is surveyed, 2) directions for a methodology to detect and correct incompatible interactions that is currently under development are discussed, and 3) the methodology is discussed in the context of a simplified industrial case study from the defense domain.