Blog 14.6.2023

Wozu modellbasierte Entwicklung?

Intelligente Industrie

Modellbasierte Entwicklung stellt alte Softwareentwicklungsmethoden in Frage. Je anspruchsvoller der Entwicklungsauftrag ist, desto mehr Vorteile bringt die modellbasierte Entwicklung, da sie die Simulation verschiedener Situationen und das frühzeitige Testen der Software ermöglicht. Bei der modellbasierten Entwicklung wird die Softwareerstellung auf eine höhere Abstraktionsebene gebracht und ist damit näher an Deinen Ideen als die bloße Codeerstellung.

Was ist modellbasierte Entwicklung? 

Mit anderen Worten: Bei der traditionellen Softwareentwicklung ist die Arbeitsteilung in der Regel so: Ein bzw. eine Architekt:in oder Hauptentwickler:in ist für die zu entwickelnde Softwareanwendung zuständig, während einzelne Entwickler:innen an bestimmten Funktionen arbeiten. Manchmal wissen sie jedoch überhaupt nicht, wofür die gesamte Anwendung eigentlich verwendet wird. Bei der modellbasierten Entwicklung hingegen entfällt diese Aufteilung und die Entwickler:innen können zur gleichen Zeit entwerfen

  • Bei der modellbasierten Entwicklung modellieren die Entwickler:innen Funktionen als größere Entitäten statt als Code 
  • Modellbasierte Entwicklungswerkzeuge erzeugen häufig mautomatisch Code auf der Grundlage eines visuellen Modells 
  • Die Entität kann noch vor der Fertigstellung von den Archtitekt:innen oder Softwareentwickler:innen getestet werden 

Entwickler:innen, die mit modellbasierter Entwicklung arbeiten, können eine größere Verantwortung für die Gesamtfunktionalität übernehmen und durch Simulationen schon zu Beginn des Projekts mögliche Stolperfallen finden. 

Entwickler:innen, die mit modellbasierter Entwicklung arbeiten, können eine größere Verantwortung für die Gesamtfunktionalität übernehmen.

Warum ist die modellbasierte Entwicklung von Vorteil?

Die größten Vorteile der modellbasierten Entwicklung sind die Gewährleistung von Qualität und die Möglichkeit für Entwickler:innen, schneller zu arbeiten. Die Markteinführung ist einfacher, wenn das Softwaredesign einen Code erzeugt, der sofort getestet werden kann. 

Modellbasierte Entwicklungswerkzeuge bieten eine automatische Validierung des Systems, die Rückverfolgbarkeit von Anforderungen und vielseitige Tests – so kann die Produktentwicklung zum frühestmöglichen Zeitpunkt verifiziert werden. 

Der wichtigste Vorteil der modellbasierten Entwicklung ist, dass sie den Entwickler:innen ermöglicht, Ideen direkt vom Reißbrett in die Praxis umzusetzen und sie zu testen. 

Die modellbasierte Entwicklung sichert die Qualität und sorgt dafür, dass Entwickler:innen schneller arbeiten können.

Möglichkeit 1: Testen einer Idee mithilfe der modellbasierten Entwicklung 

Bei der modellbasierten Entwicklung kann das System oder die Anwendung oft mit visuellen Elementen simuliert werden, die bei Bedarf automatisch zur Codegenerierung genutzt werden können. Ein großer Vorteil, vor allem zu Beginn der Produktentwicklung, ist, dass kreative Ideen schnell getestet werden können. 

Jetzt wissen wir also, was gemacht werden muss und welche Werkzeuge zum Einsatz kommen, aber wir wissen immer noch nicht, WIE es gemacht wird. 

Mithilfe der modellbasierten Entwicklung können Entwickler:innen Ideen zum Erreichen des gewünschten Ergebnisses testen, bis sie die beste Lösung gefunden haben. Bei einem herkömmlichen Entwicklungsmodell würde sich der Prozess auf die Fähigkeit der Anwendungs- oder Systemdesigner:innen verlassen, eine theoretisch umsetzbare Lösung zu finden, und die Tests würden erst viel später stattfinden. 

Möglichkeit 2: Simulation von Praxissituationen und modellbasiertes Testen 

Da die modellbasierte Entwicklung auf der Erstellung einer funktionierenden virtuellen Umgebung basiert, ermöglicht sie die Simulation und das Testen verschiedener Szenarien in einem viel früheren Stadium als das traditionelle Modell. 

Bei der Steuerung einer mobilen Maschine zum Beispiel sind die Möglichkeiten, Tests an der realen Maschine durchzuführen, sehr begrenzt. Oft sind solche Tests sehr langwierig und können den Zeitplan erheblich nach hinten verschieben, wenn Fehler im Steuerungssystem erst in diesem Stadium entdeckt werden. 

Da Entwickler:innen bei der modellbasierten Entwicklung das virtuelle Gerät immer zur Verfügung steht, können die Funktionen als Teil des Entwicklungsprozesses getestet werden. Wenn Fehler gefunden werden, ist es früh genug im Prozess, um den Entwurf zu ändern, ohne den Zeitplan durcheinander zu bringen. 

Möglichkeit 3: Wenn Praxistests keine Option sind 

Die Vorteile der modellbasierten Entwicklung werden vor allem dann deutlich, wenn das Testen der Funktionen eines Systems oder einer Software in der Praxis nicht möglich oder nicht sicher ist. 

  • Produktionsanlagen in Fabriken können zum Beispiel nicht für jede mögliche Situation getestet werden, die bei bestehenden Anlagen auftreten könnte
  • Systeme, die für die Sicherheit von Menschenleben verantwortlich sind, können aus offensichtlichen Gründen auch nicht in der Praxis auf alle Funktionen getestet werden

Mit modellbasierten Tests ist es möglich, diese Situationen genau und sicher zu simulieren. 

Wo Licht ist, ist auch Schatten 

Die Werkzeuge, die bei der modellbasierten Entwicklung eingesetzt werden, sind nicht billig. Deshalb werden ihre Vorteile von denjenigen, die mit Softwareentwicklung zu tun haben, oft mit einer gewissen Skepsis betrachtet. Es stimmt auch, dass die modellbasierte Entwicklung vielleicht nicht für jede Person und in jeder Situation der beste Weg ist.

Wenn das System sehr spezifische Anforderungen hat und es keine besonderen Herausforderungen gibt, die am besten durch Simulation zu bewältigen wären, dann bringt die Investition in modellbasierte Entwicklungswerkzeuge keine nennenswerten Vorteile mit sich. 

Die modellbasierte Entwicklung wird die manuelle Programmierarbeit nie vollständig ersetzen und ist auch nicht dafür gedacht – die Integration der fertigen Software in die endgültige Umgebung muss manuell erfolgen. 

Die Vorteile zeigen sich vor allem dann, wenn Ideen schnell umgesetzt werden müssen, weshalb Simulationen und Tests wichtig sind. 

Modellbasierte Entwicklung bedeutet mehr Qualität in der Produktentwicklung 

Bei der modellbasierten Entwicklung finden Programmierung und Design gleichzeitig statt, so dass die Funktionen des Systems von Anfang an getestet werden. Kreative Entwürfe können daher in einer Vielzahl von simulierten Situationen getestet werden, bevor über die Funktionen des eigentlichen Systems entschieden werden kann. 

Und weil keine separate Testphase nötig ist, müssen die Annahmen, die in der Entwurfsphase getroffen wurden, nicht für alle Fälle gelten. Wenn Software von Anfang an getestet wird, können auch designbezogene Probleme schnell erkannt werden.

In späteren Phasen der Produktentwicklung können modellbasierte Simulationen auch eingesetzt werden, um Funktionen in genaueren virtuellen Szenarien zu testen. Das hilft oft, das Endergebnis früher zu erreichen, als wenn die Tests nur auf dem endgültigen Gerät durchgeführt werden.

 

Ville Ahola

Ville hat an der Universität Tampere Hydraulik und Konstruktionstechnik studiert. Ville hat umfangreiche Erfahrung in der Simulation und Softwareentwicklung für anspruchsvolle Geräte und Geländemaschinen.

Zum Seitenanfang