Modellgetriebene Softwareentwicklung
Modelle als Mittel zur Handhabung von komplexen Sachverhalten sind ein wichtiges und etabliertes Mittel in der Informatik. Modelle sind sowohl aus Wissenschaft wie Alltag bekannt: Sie sollen helfen, unüberschaubare, nicht direkt einsehbare oder komplexe Sachverhalte angemessen zu vereinfachen, das heißt, sie auf ihre relevanten Merkmale zu reduzieren. Modellbeschreibungen stellen also niemals einen kompletten Sachverhalt oder eine Funktionalität dar, sondern nur einen gewünschten und für den jeweiligen Einsatzbereich benötigten Ausschnitt. In der Softwareentwicklung helfen Modelle, die ständig wachsende Komplexität von Software bewältigen zu können. Im Ansatz der sogenannten modellgetriebenen Softwareentwicklung wird nun versucht, die Vorteile die modellhafte Betrachtungen mit sich bringen, direkt in die Softwareentwicklung selbst zu integrieren. Ziel ist es, aus dem Modell eines Computerprogramms direkt ein lauffähiges Programm zu erzeugen. Vereinfacht wird dabei aus einem Diagramm automatisch ein Quellcode erzeugt.
Was ist modellgetriebene Softwareentwicklung?
In der modellgetriebenen Softwareentwicklung wird aus formalen Modellen lauffähige Software (vollständig oder teilweise) automatisch generiert. Unter einem formalen Modell wird eine funktionale Beschreibung verstanden, die erstens aus standardisierten Elementen zusammengesetzt ist und zweitens diese Elemente Komponenten der maschinellen Informationsverarbeitung repräsentieren. Aufgabe von Modellen in der Informatik und Softwareentwicklung ist es, einen Sachverhalt so darzustellen, dass er mit Hilfe elektronischer Informationsverarbeitung verarbeitet werden kann.
Bei der modellgetriebenen Softwareentwicklung handelt es sich um ein Programmierparadigma. Ein Programmierparadigma ist als die fundamentale Organisationsform einer Programmiersprache zu verstehen und gibt an, welche Prinzipien und Konzepte zum Einsatz kommen. Dies bezieht sich sowohl auf die zum Einsatz kommenden Datenstrukturen (wie werden bestimmte Daten aufgenommen, gespeichert und verarbeitet), als auch auf die Art wie in der jeweiligen Programmiersprache Abläufe, die der Computer ausführen soll, eingegeben werden. Ein Programmierparadigma umfasst also die strukturierten Grundgedanken, die hinter einer Programmiersprache stecken und legt somit fest, wie eine an den Computer gestellte Aufgabe umgesetzt werden kann.
Zusammenfassend
Das Paradigma der modellgetriebenen Softwareentwicklung verfolgt also das Ziel der Programmgenerierung direkt aus dem Modell. Dabei soll der Quelltext automatisch, teilweise oder vollständig, durch einen Codegenerator anhand eines von Menschen entworfenen Ablauf- oder Interaktionsmodells erzeugt werden. Dieses Modell besteht aus einem graphischen formalen Diagramm, dass alle Interaktionen und Abläufe des Programms darstellt. Dies soll einerseits die Entwicklungszeit verkürzen aber auch für eine gleichbleibende Qualität des Quellcodes und für hohe Flexibilität der Software für Modifikationen und Plattformen ermöglichen. Zum Einsatz kommt der modellgetriebene Ansatz gegenwärtig vor allem im Bereich der eingebetteten Systeme und wird deshalb bei zunehmender Vernetzung stärker an Bedeutung gewinnen. Aber auch die immer umfangreicher werdenden und von Spezialistenteams betreuten Softwareprojekte machen Modellierungssprachen zu einem zunehmend wichtigen Entwicklungswerkzeug.