Modellgetriebene Softewareentwicklung
Durch Software wird mittlerweile ein großer Teil der Wertschöpfung im Maschinen- und Fahrzeugbau erzeugt. Der Anteil der eingebetteten Systeme in diesem Bereich nimmt jährlich um etwa 8% zu. Kurze Innovationszyklen setzen etablierte Entwicklungsprozesse voraus, die kostengünstig und schnell zu Ergebnissen führen. Mit Hilfe der Systemtheorie lassen sich Regel-, Steuer- und Überwachungsfunktionen von eingebetteten Systemen als Modell gut abstrahieren.
Bei der Validierung, also dem Vergleich der Simulation mit der "realen Welt", wird Detailwissen über das betreffende System
erworben und Innovationen werden begünstigt.
Ein Modell beschreibt eine Problemstellung klar und nachvollziehbar.
Physikalische Abläufe können durch Simulation grafisch veranschaulicht
und Änderungen leicht begutachtet werden.
Die modellgetriebene Softwareentwicklung (MDSD) fügt sich sehr gut in standardisierte Softwareenwicklungsprozesse, wie z.B. das V-Modell, ein.
Eine Integration von vorhandenem Quellcode (legacy code) ist vorgesehen, somit können bereits existierende Funktionen genutzt und im Modell getestet werden.
Die höhere Abstraktionsebene, auf der Funktionen innerhalb der Simulationsumgebung modelliert werden, führt nicht zwangsläufig zu "Overhead" und größerem Ressourcenverbrauch.
Der Codegenerator kann, je nach
Problemstellung, deutlich effizienteren Code erzeugen, als ein Softwareentwickler. Der produzierte
Quellcode ist lesbar und einem Codereview zugänglich. Dies ist vorteilhaft für lange
Produktlebenszyklen da eventuelle zukünftige Versionskonflikte zwischen Modell und Simulationsumgebung
einen Rückfall auf den Quellcode erzwingen könnten.
Die MDSD kann als Paradigmenwechsel in der Softwareentwicklung
angesehen werden, ähnlich wie der Übergang von der Assemblerprogrammierung zu den Hochsprachen.