AGSOTEC

// Expertise

Modellbasierte Entwicklung — für komplexe Funktionen, von der Architektur bis zum Seriencode

Mit steigender Funktions- und Softwarekomplexität wird es immer schwieriger, Algorithmen ausschließlich im Code zu entwickeln und gleichzeitig Architektur, Verhalten und Schnittstellen im Blick zu behalten. Modellbasierte Entwicklung schafft hier Transparenz und ermöglicht es, Funktionen frühzeitig zu entwickeln, zu simulieren und automatisiert in Software zu überführen.

Wir entwickeln modellbasierte Softwarearchitekturen und Funktionen mit MATLAB, Simulink und Stateflow — von der Strukturierung bestehender Modelle bis zur Entwicklung neuer Funktionen und automatisierten Codegenerierung. Dabei verbinden wir funktionales Verständnis mit Software Engineering, damit Modelle nicht nur funktionieren, sondern langfristig wartbar, testbar und serienfähig bleiben.

01WORAUF ES ANKOMMT

Gute Modelle sind mehr als ausführbare Spezifikationen

Modellbasierte Entwicklung entfaltet ihren Nutzen erst durch klare Architekturen, definierte Modellierungsregeln und eine konsequente Integration in den Softwareentwicklungsprozess. Entscheidend ist nicht nur, dass ein Modell das gewünschte Verhalten abbildet, sondern dass es verständlich, testbar, wiederverwendbar und für die Codegenerierung geeignet ist.

01

Klare Modellarchitektur

Funktionen, Zustände und Schnittstellen benötigen eine klare Struktur. Wir definieren sinnvolle Modellgrenzen und Verantwortlichkeiten und schaffen Architekturen, die auch bei steigender Komplexität beherrschbar bleiben.

02

Das richtige Werkzeug für die Aufgabe

Simulink und Stateflow haben unterschiedliche Stärken. Wir setzen Datenfluss, Zustandsautomaten und Funktionsaufrufe gezielt ein und vermeiden unnötige Komplexität im Modell.

03

Serienfähige Codegenerierung

Ein funktionierendes Modell ist noch keine gute Software. Wir berücksichtigen Datentypen, Speicherklassen, Schnittstellen und Coding Guidelines bereits bei der Modellierung und schaffen so eine belastbare Grundlage für automatisiert generierten Seriencode.

04

Testbarkeit von Anfang an

Modelle werden so aufgebaut, dass Funktionen isoliert simuliert und automatisiert getestet werden können. Dadurch lassen sich Änderungen früh absichern und Fehler bereits während der Entwicklung erkennen.

02Herausforderungen, die wir lösen

Wenn aus Modellen wartbare Software werden muss

Modellbasierte Entwicklung beschleunigt die Umsetzung komplexer Funktionen — kann ohne klare Strukturen jedoch selbst zum Komplexitätstreiber werden. Unterschiedliche Modellierungsstile, gewachsene Architekturen und schwer nachvollziehbare Abhängigkeiten erschweren Änderungen und Wiederverwendung. Wir verbinden funktionale Modellierung mit Prinzipien professioneller Softwareentwicklung und schaffen so Modelle, die langfristig beherrschbar bleiben.

Gewachsene Modellstrukturen

Modelle wachsen über Jahre und verlieren dabei häufig ihre klare Architektur. Abhängigkeiten nehmen zu und Änderungen werden immer schwieriger.

Unser Ansatz

Wir analysieren bestehende Modelle, definieren klare Verantwortlichkeiten und strukturieren Funktionen entlang nachvollziehbarer Architekturgrenzen.

Simulink oder Stateflow

Logik wird häufig dort modelliert, wo sie kurzfristig am einfachsten umzusetzen ist. Dadurch entstehen unnötig komplexe Statecharts oder schwer verständliche Datenflüsse.

Unser Ansatz

Wir definieren klare Modellierungsregeln und setzen Simulink, Stateflow und Function-Call-Strukturen gezielt entsprechend ihrer jeweiligen Stärken ein.

Vom Modell zum Seriencode

Modelle können in der Simulation funktionieren, aber dennoch ungeeignet für effiziente Codegenerierung sein.

Unser Ansatz

Wir berücksichtigen Datentypen, Schnittstellen, Speicherklassen und Codegenerierungsanforderungen bereits beim Modellaufbau und entwickeln Modelle gezielt für den Einsatz auf Embedded-Zielsystemen.

Daten, Parameter und Schnittstellen

Inkonsistente Parameterhaltung, globale Variablen und unklare Bus- oder Interface-Strukturen erschweren Wiederverwendung und Wartung.

Unser Ansatz

Wir schaffen klare Daten- und Schnittstellenkonzepte und strukturieren Parameter, Signale und Datentypen passend zur Softwarearchitektur.

Fehlende Testbarkeit

Große, stark gekoppelte Modelle lassen sich nur schwer isoliert testen. Fehler werden dadurch häufig erst bei der Integration sichtbar.

Unser Ansatz

Wir schneiden Funktionen so, dass sie einzeln simulierbar und automatisiert testbar sind, und integrieren Tests direkt in den Entwicklungsprozess.

Wartbarkeit und Skalierung

Unterschiedliche Modellierungsstile und fehlende Guidelines führen mit wachsendem Team zu steigenden Pflegeaufwänden.

Unser Ansatz

Wir etablieren Modellierungsrichtlinien, wiederverwendbare Bibliotheken und automatisierte Qualitätsprüfungen, damit Modelle über Teams und Projekte hinweg konsistent weiterentwickelt werden können.

03Kontakt

Lassen Sie uns über Ihr Projekt sprechen.

Sie möchten Ihre Modelle strukturiert weiterentwickeln und Seriencode zuverlässig generieren? Ich freue mich auf den Austausch.

Martin Rudolph, Geschäftsführer & Gründer von AGSOTEC
Martin RudolphGeschäftsführer & Gründer

04Ausgewählte Projekte

Vom einfachen Simulationsmodell zur Closed-Loop-Systemauslegung

Durch die Verbindung von Umgebungsmodellen mit Software-Funktionen wird das Systemverhalten sichtbar. Fortgeschrittene Modelle können sowohl für Softwaretests als auch für die Systemauslegung genutzt werden.

Herausforderung

Für die Auslegung von Komponenten bestand bereits ein physikalisches Modell. Die Simulationen wurden jedoch manuell durchgeführt und waren nicht mit den relevanten Softwarefunktionen gekoppelt. Änderungen an der Software erforderten daher jeweils neue Simulationsläufe mit angepassten Eingangsdaten. Bei bestehenden Ergebnissen war häufig nur schwer nachvollziehbar, mit welchen Software-, Daten- und Modellständen sie erzeugt worden waren. Dadurch wurden Simulationen vielfach erneut durchgeführt, anstatt auf vorhandene Ergebnisse zurückzugreifen. Zudem war das notwendige Systemwissen auf wenige Experten konzentriert, die den Simulationsaufbau erstellt hatten. Für andere Entwickler war die Nutzung nur eingeschränkt möglich, wodurch zusätzliche Abhängigkeiten und Engpässe entstanden.

Unsere Lösung

Wir haben eine integrierte Simulationsumgebung aufgebaut, die physikalische Modelle mit der realen Applikationssoftware verbindet. Dadurch konnte das Gesamtsystem erstmals im Closed Loop simuliert werden. Der Simulationsprozess wurde so strukturiert, dass Modelle und Simulationsdaten klar voneinander getrennt sind. Zusätzlich haben wir eine GUI zur einfachen Steuerung und Konfiguration der Umgebung entwickelt. Alle relevanten Metadaten zu Software-, Modell- und Datenständen werden gemeinsam mit den Ergebnissen gespeichert und stellen eine durchgängige Rückverfolgbarkeit sicher. Durch eine standardisierte Auswertung konnte zudem das Reporting weitgehend automatisiert werden.

Ergebnis

Innerhalb von sechs Wochen wurde aus dem bestehenden Simulationsmodell eine hochautomatisierte Auslegungs- und Testumgebung. Umfangreiche Simulationskampagnen ermöglichten Bewertungen innerhalb weniger Stunden statt über mehrere Tage. Durch die neue Strukturierung der Konfigurationsdaten wurde das Wissen aus den Köpfen einzelner Experten in die Testumgebung integriert, und der manuelle Pflegeaufwand konnte um rund 60 % reduziert werden. Die verbesserte Bedienoberfläche ermöglicht es Anforderern, Standardsimulationen selbstständig durchzuführen. Dadurch werden Experten von wiederkehrenden Simulationstätigkeiten entlastet und können sich stärker auf komplexe Fragestellungen konzentrieren.