Automation of model-driven design processes for high-tech systems
Marc Geilen is an associate professor in the Electronic Systems department of Eindhoven University of Technology’s Faculty of Electrical Engineering and head of the Model-Based Design Lab in that group. He obtained his PhD there at the beginning of this century on formal methods for the verification of complex real-time systems. At that time, he was already working on the support and automation of design and verification.
“Now, in addition to embedded systems, I also focus on cyber-physical systems. This brings together physical aspects such as mechanics and electromechanics and digital aspects such as software and communication and these aspects influence each other. You can’t design one without taking the other into account.”
One model of everything?
Design automation uses models of the various system aspects and the associated algorithms and tools. “We use this to analyze designs and optimize them for certain properties.” Examples are software with its formal methods, control technology with automatic code generation from models, mechanics with finite-element models, the various (multi-)physical models and electronics with its automation of digital implementations. Furthermore, there are system modeling languages, such as UML and SysML, for designing and analyzing the overarching system architecture. Geilen also mentions mathematical models such as automata theory for describing abstract machines and their properties.
Some researchers aim to integrate all these models into one ‘model of everything,’ Geilen knows. “But I don’t think that’s feasible, because the resulting model is too complex, unmanageable and not suitable for automation. You want to work with models that are focused on a specific aspect to study it properly. The other side of the coin is indeed that you have to maintain more models and there’s a risk that they’re not consistent. You then lose coherence and that can be a motivation to integrate. With these conflicting interests, you have to look for suitable models.”
Making it compositional
It starts with decoupling the models for the different aspects and giving each model the space to find a (partial) solution. “Then you have to bring them together and confront them with each other. The trick to arrive at a total solution is to bring these partial solutions together without letting them get in each other’s way with incompatible results. Making it compositional, that’s what we call it,” Geilen explains.
“When you design a system, you look at aspects such as performance, power requirements, throughput speed and lead time. You make a trade-off between the objectives for those different aspects by first modeling them separately and then combining the results. We’ve developed a model for this based on the concept of Pareto optimality.” This means that a solution is optimal if it can no longer be improved for one aspect without deteriorating the outcome for another aspect.
Artificial intelligence
In concrete terms, automation simply means eliminating trivial actions that designers currently still perform manually. Think of finding an optimal solution within the design space or carrying out analysis steps. This can be done by writing scripts, for example for carrying out a design of experiments, for exploring a solution space by systematically varying certain design variables. “In the design phase, you often also define a step-by-step plan for things you want to investigate. This way, you can automate that.”
Artificial intelligence can play a role here. “AI is one of the tools you can use to automate processes. It’s strong in domains where you can find solutions based on large amounts of, often unstructured, data. Neural networks, for example, are often used as an optimization technique due to their non-linear nature. We’re all used to making mechanical, control or signal processing systems linear because we’re very familiar with linear system theory. Neural networks move beyond the linear range and can find better solutions there.”
Digital twin
Design automation fits within the systems engineering approach aimed at mastering system complexity. The motivation lies – in addition to finding solutions for the tight labor market – in shortening the time-to-market by increasing the productivity of designers and the quality of their work. In addition to preventing errors, it’s also about finding better solutions than is often possible by hand. “The designer often has a view of the solution space that’s limited by his experience with existing solutions and knowledge from the past. Automation makes it easier to maximize the degrees of freedom of a design.”
In addition, there are processes such as documentation and certification, which are very important in some sectors. “These processes are well defined and structured and therefore lend themselves well to automation. You can also include the lifecycle of a system. Once you have the models in place, you can also use them to diagnose complications or use information about usage for optimization. You then have a digital twin, which you can automatically generate during your model-based design process.”
Desired behavior
Of the peers in this field, Geilen sees Professor Edward Lee from Berkeley (US) in particular as a kindred spirit. “Lee also studies cyber-physical systems and advocates an approach that doesn’t try to use models to imitate physical reality as closely as possible. You have to make models of the desired behavior and use them as a starting point to which you can adapt reality. It’s one of the cores of the model-based approach: ensuring that you get implementations that comply with the behavior of the models. That also makes it easier to combine models from different disciplines.”
Multidisciplinary centers
Geilen’s research is housed at the Faculty of Electrical Engineering. That’s a coincidence, he acknowledges. “It could also have been done in Mechanical Engineering, Computer Science or even Mathematics. That’s why it’s important that there are multidisciplinary centers such as TUE’s High Tech Systems Center, HTSC. This is where domains and aspects of the design process come together, more so than in the past, when research into design automation was often limited to a single domain.”
Geilen’s research is also aimed at bringing these domains together. “Our challenge is to make the different models and techniques available and usable. To this end, we offer designers tools and a platform on which they can use them without having to be an expert who has first completed a PhD in this area, so to speak. In this way, we want to bring design automation to the practice of high-tech systems.”
This article was written in close collaboration with Eindhoven University of Technology’s High Tech Institute.