{"id":2494,"date":"2019-11-28T08:00:35","date_gmt":"2019-11-28T07:00:35","guid":{"rendered":"https:\/\/se-trends.de\/?p=2494"},"modified":"2026-02-11T18:55:10","modified_gmt":"2026-02-11T17:55:10","slug":"interview-willert-part-2","status":"publish","type":"post","link":"https:\/\/www.se-trends.de\/en\/interview-willert-teil-2\/","title":{"rendered":"The future of modeling: Interview with Andreas Willert (Part 2)"},"content":{"rendered":"<p class=\"wp-block-paragraph\">In the <a href=\"https:\/\/www.se-trends.de\/en\/interview-willert-part-1\/\" target=\"_blank\" rel=\"noreferrer noopener\" aria-label=\" (opens in a new tab)\">first part<\/a> of the interview with Andreas Willert focused on the current state of systems engineering and modeling, with complexity identified as the driver for research in this area.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is the second and final part, in which Andreas ventures a few predictions and presents an exciting customer project.<\/p>\n\n\n\n<!--more-->\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-systems-engineering-trends wp-block-embed-systems-engineering-trends\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"qcXH1K85Qw\"><a href=\"https:\/\/www.se-trends.de\/en\/interview-willert-part-1\/\">The future of modeling: Interview with Andreas Willert (Part 1)<\/a><\/blockquote><iframe data-src=\"https:\/\/www.se-trends.de\/interview-willert-teil-1\/embed\/#?secret=24yfeIJAE8#?secret=qcXH1K85Qw\" class=\"wp-embedded-content lazyload\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"&quot;The future of modeling: Interview with Andreas Willert (Part 1)&quot; - Systems Engineering Trends\"  data-secret=\"qcXH1K85Qw\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-product-velocity wp-block-embed-product-velocity\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"JQGsXztJHE\"><a href=\"https:\/\/productvelocity.org\/case-studies\/wagner\/certification-ready\/\">Certification as a Platform Capability<\/a><\/blockquote><iframe data-src=\"https:\/\/productvelocity.org\/case-studies\/wagner\/certification-ready\/embed\/#?secret=l0SnuA5ca8#?secret=JQGsXztJHE\" class=\"wp-embedded-content lazyload\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; visibility: hidden;\" title=\"\u201cCertification as a Platform Capability\u201d - Product Velocity\"  data-secret=\"JQGsXztJHE\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n<\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">What do these developments mean for the future? What needs to happen?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you had asked me ten years ago, I would have been able to name a few points. Today, almost nothing is missing from an engineering perspective. But there are other aspects that may be partly responsible for the fact that model-driven engineering has not become so established in software engineering with UML.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\" style=\"padding-top:0;padding-bottom:0\">In fact, UML in itself is not of much use if the architecture is not taken into account at the same time. The transition from C to UML is not really a paradigm shift if it is not accompanied by a transition from procedural to object-oriented programming, or to a service-oriented or asynchronous architecture.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote has-theme-palette-8-background-color has-background has-medium-font-size is-layout-flow wp-block-quote-is-layout-flow\" style=\"padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)\">\n<p class=\"wp-block-paragraph\">Without a change of architecture, UML cannot ultimately develop its full potential. And a renovation of the architecture is also the problem. It is not that simple. <\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Break in development<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If I want to use a microcontroller with C today, I buy, for example, the development environment <a rel=\"noreferrer noopener\" aria-label=\"ARM \u00b5Vision from Keil (opens in a new tab)\" href=\"http:\/\/www2.keil.com\/mdk5\/uvision\/\" target=\"_blank\">ARM \u00b5Vision from Keil<\/a>where I already get a lot included, such as TCP\/IP stack, graphical display drivers, USB drivers, etc. Within a very short time, I have an environment up and running that feels like half my application. With this bottom-up approach, the problems resulting from the complexity that still lie ahead are not visible at this stage. It feels like I'm already very far along in the project.  <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">However, none of these drivers are object-oriented or service-oriented. If I want to get them running with Rhapsody under UML, I am busy with architecture work for days and it feels like that slows me down. This is probably another reason why modeling is not used to its full extent. Incidentally, this problem is not so great with Matlab, as the code generation is still based on outdated architectural principles.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">We need adaptation to the hardware, with object-oriented drivers and concepts. Incidentally, drivers could be implemented much more efficiently with C++ templates, both in terms of size and runtime. The changeover is just a lot of work, and many embedded programmers have never progressed beyond C and no longer understand the code. But it would take SW engineering to a whole new level and would be extremely beneficial.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Because then we would have encapsulation, which would allow us to decouple ourselves from the driver. Right?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Exactly. If I want to integrate components into systems, I don't need to understand exactly how a component works internally, just what it does. Just as important, but often neglected, I have to consider the context in which it has to be embedded in order for it to work. We need to understand that what's inside can only work properly if I embed it in a defined context. That's where we need to get to.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">To ensure that nothing unexpected happens during reuse, the approach today is often to understand the inside, i.e. to look at the code to see \"what exactly is happening inside the module\/component\". The new engineering paradigm must be a: If I want to be sure that what I'm using runs stably, then context is important. I trust that the developer who created the component has worked professionally and carefully and focus on the \"contracts\", i.e. that I am using the component correctly. Of course, the contracts have to be specified. But I'm sure we won't reach the next level of complexity without that.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote has-theme-palette-8-background-color has-background has-medium-font-size is-layout-flow wp-block-quote-is-layout-flow\" style=\"padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)\">\n<p class=\"wp-block-paragraph\">We don't have to look inside the code, but rather consider the external context. <\/p>\n<\/blockquote>\n\n\n\n<h2 class=\"wp-block-heading\">Mastering complexity<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If you are familiar with <a href=\"http:\/\/www.se-trends.de\/en\/set-the-complexity\/\">Complexity science<\/a> We can no longer go into depth and understand everything, but we need to be sure that the overall system works when we connect all these components together. And that's where we need to go to the contextual level. And modeling is much better suited to this than coding. This not only includes access to the speed, which is in some variable, but also that the speed is delivered in a certain unit and accuracy, also with regard to sampling, for example. Today, the cause of functional errors often lies in the runtime architecture. Companies like <a aria-label=\"Symtavision (opens in a new tab)\" href=\"https:\/\/www.luxoft.com\/pr\/luxoft-acquires-symtavision-a-leading-provider-of-software-tools-and-services-for-realtime-system-design-and-development-for-the-automotive-industry\/\" target=\"_blank\" rel=\"noreferrer noopener\">Symtavision<\/a> earn a lot of money with the subsequent analysis. And a tool like this from Symtavision is in the \u20ac30,000-\u20ac50,000 range, which always shows me that there are real problems behind it. Nobody would spend that much money on a tool if they couldn't solve a serious problem with it. For example, if an embedded controller is no longer accurate enough in its sensor technology because it operates at a cycle frequency of one kilohertz, but receives a variable that is only sampled at 500 hertz. Then, of course, the controller cannot be more accurate than the environment that supplies it. Today, the specification of component interfaces hardly ever includes these quality attributes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">You have already mentioned contract-based design several times. Is that a solution? <\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Well, I believe that contract-based design can provide a heavyweight part of a solution. But as is so often the case, there is no one measure that solves a problem. I believe it will be a combination of measures.  In addition to contract-based design, increasing abstraction, traceability, modeling with earlier simulation, introduction of systems engineering, to name the most important ones in my view.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote has-theme-palette-8-background-color has-background has-medium-font-size is-layout-flow wp-block-quote-is-layout-flow\" style=\"padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)\">\n<p class=\"wp-block-paragraph\">There is no single technology that solves our problems. But systems engineering seems to be increasingly crystallizing as the foundation.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Methodical systems engineering as an independent discipline is not yet practiced in 99% of all embedded projects, but all engineering disciplines have to be brought together somewhere. And without systems engineering, contract-based design can only be used to a limited extent. And in the end, everything interlocks and enriches each other. All measures taken together are more than the sum of their parts and then efficiency increases by a factor of 2-3 are possible with simultaneous quality improvements, even if a single measure applied in isolation may only have 10% potential.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">So we don't have a magic bullet, but a lot of hard work ahead of us<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Yes - but the positive thing is that we have customers who have achieved this and prove that it is possible. We have a customer that I can also name, the <a rel=\"noreferrer noopener\" aria-label=\"Company Wagner (opens in a new tab)\" href=\"https:\/\/www.wagnergroup.com\/\" target=\"_blank\">Company Wagner<\/a>. One of the ways they provide fire protection is with a system that reduces the oxygen content of the air. There is a \"corridor\" of oxygen content in which a fire cannot start but people can still breathe. This is used in warehouses, for example. This is of course highly critical to safety. If the oxygen content falls below this level, people suffocate; if it exceeds it, the protective effect is no longer provided. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">They now model everything, which in retrospect has also turned out to be the basis for agility. You are probably familiar with the discussions that a sprint must result in a \"deliverable\". It is often assumed that a deliverable is a feature that the customer can use. Of course, you are miles away from this in embedded. In order to still apply Scrum, for example, there is the option of correcting the definition of \"deliverable\". A deliverable could be the specification of all requirements for a feature. The next could then be the adapted architecture to be able to implement the feature. The next is the implementation, and the subsequent one is the test, for example. But if the procedure is to develop into continuous engineering, that's not necessarily what you want either. Then you actually want to implement such a feature within one sprint. And then you're into highly automated engineering through to nightly tests and procedures such as TDD (Test Driven Development). Wagner goes one step further. The goal is T\u00dcV approvals per feature.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Cooperation with T\u00dcV accelerates acceptance<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote has-theme-palette-8-background-color has-background has-medium-font-size is-layout-flow wp-block-quote-is-layout-flow\" style=\"padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)\">\n<p class=\"wp-block-paragraph\">Wagner is about to implement a change in a few weeks, including T\u00dcV certification.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">The prerequisite for this is that they carry out regression tests in a room that can only ever be accessed jointly with T\u00dcV. Neither Wagner nor T\u00dcV can change anything in the HIL tests on their own. The tests go in digitally and the results come out digitally. Nothing can be changed in the room without T\u00dcV being present. The T\u00dcV can also certify at short notice, within a few days - at least as long as no new tests are required. Wagner can thus delivern changes in just a few weeks, including T\u00dcV certification. This is inconceivable without modeling, regression tests, simulation and a high degree of automation. Actually, it is <a href=\"https:\/\/www.se-trends.de\/en\/extreme-manufacturing\/\">like a software factory<\/a>.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Model-driven\nengineering also has a positive effect on testing. The higher my\nabstraction and the better my metastructure, the better I can build\nI can build automatic tests. At the UML level, where I can use events\nI can cut my systems free via events, the implementation of\nregression tests is just 50% as complex as at C level with global variables\nglobal variables and the like.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Plan in years, act in months<\/h2>\n\n\n\n<blockquote class=\"wp-block-quote has-theme-palette-8-background-color has-background has-medium-font-size is-layout-flow wp-block-quote-is-layout-flow\" style=\"padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)\">\n<p class=\"wp-block-paragraph\">The development manager at Wagner claims that they are now three times faster than before, while at the same time improving quality.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">However, it took them over six years to get that far. So not that long without gaining efficiency, but for a few weeks or months you even lose efficiency, only to gain it back and increase it continuously. You have a real chance of being about 20%-30% more efficient after a year. But the potential is far greater, and if you do this consistently, you can end up with a factor of two to three after six or seven years.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Modeling takes effect\nat many points. Modeling with a higher abstraction\nlike UML enables test automation, UUIDs for my elements,\nwhich makes it easier for me to build traceability, constructs such as ports\nand interfaces that make contract-based design much easier to use.\ncan be used much more easily.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote has-theme-palette-8-background-color has-background has-medium-font-size is-layout-flow wp-block-quote-is-layout-flow\" style=\"padding-top:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20)\">\n<p class=\"wp-block-paragraph\">Modeling takes effect at many points to support the measures that make complexity manageable.<\/p>\n<\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">Similar to systems engineering, the use of modeling is a kind of basic technology that enables other measures to be developed and applied efficiently.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Do you have any final words?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">My wish would be for software developers to venture out of their comfort zones more often, where they give up their security. They will regain it, even if they don't necessarily have an idea of what this might look like without experience in the application of new methods, procedures and tools. I wish developers would have the courage to go through this trough. Because all of our customers who have done this can no longer imagine how they used to get their software engineered using conventional programming languages.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I would also like decision-makers to invest more in a deeper understanding. I believe that profit center thinking combined with the fact that no management decisions are made (especially in SW engineering) has led to major investment backlogs in recent years. One example: When I go to top management in companies today, there are business economists, sometimes mechanical engineers, but rarely someone who understands software engineering. If someone comes from SAP and talks about business processes and improvements, the management understands. When I talk about abstraction, information hiding, OOP and all these topics, management understands little or nothing. Where does the decision-maker invest now?<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Well, he does understand a \"factor of three\", but...<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">When I talk about \"factor three\" in terms of efficiency gains, management understands the statement itself. But how credible is it if the technical measures are not understood?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Management naturally has\nmanagement naturally has much more confidence in the areas that it also\nunderstands. And SAP also says \"Factor Three\", so that's where\ninvested there. Or the decision-maker goes to his software developer\nand asks him. But the software developer naturally doesn't want to take the\nrisk for such a decision. That doesn't work.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The costs for a paradigm shift are high outside his area of responsibility. With training, tools, etc., we can quickly reach tens of thousands of euros. These cannot usually be represented at project level. The decision to make such an investment has to be taken by senior management, which is often reluctant to do so.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Andreas, thank you very much for the interview<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>","protected":false},"excerpt":{"rendered":"<p>In this interview, Andreas Willert reports on how modeling drastically shortened the certification of a fire protection system.<\/p>","protected":false},"author":1,"featured_media":2408,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","footnotes":""},"categories":[53,45],"tags":[225,19,63],"class_list":["post-2494","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-interview","category-standards-methoden","tag-embedded","tag-emergent-behavior","tag-modellierung"],"_links":{"self":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts\/2494","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/comments?post=2494"}],"version-history":[{"count":0,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/posts\/2494\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/media\/2408"}],"wp:attachment":[{"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/media?parent=2494"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/categories?post=2494"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.se-trends.de\/en\/wp-json\/wp\/v2\/tags?post=2494"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}