CT: Christian Guß beschäftigt sich mit komplexen Regelstrecken in Matlab/Simulink. Wie umfangreich fallen diese aus?
Christian Guß: Den Begriff Freiheitsgrade empfinde ich sehr mechanistisch geprägt. Erweitert man das Verständnis unter diesem Begriff allerdings auf Parameter,
so lassen sich viele Anwendungsszenarien deutlicher erkennen.
Häufig entwickeln unsere Kunden mit unserer Toolkette Controldesigns und Ablaufsteuerungen zur Regelung und Steuerung von mechanischen, elektrischen, fluidischen und anderen Strecken. Die Freiheitsgrad dort sind üblichen (Translation, Rotation, Strom, Spannung, etc.). Es gilt jedoch auch Parameter während der Entwicklung heraus zu finden und zu optimieren. Also Freiheitsgrade die nur während der Entwicklung wirklich frei sind und später fest eingestellt werden (z.B. Fahrzeugparameter wie Dämpfung, Verzögerungszeiten etc.) Diese Parameter werden von unseren Kunden mit MATLAB ebenso betrachtet und variiert.
CT: Wo wird das eingesetzt und unter welchen Nebenbedingungen?
CG: MathWorks ist ein Hersteller für Entwicklungswerkzeuge und bietet eine Scripting- und Simulations-Toolkette zum Arbeiten auf einer höheren Abstraktionsebene (z.B. Funktionen, Abläufe statt reiner Code).
Die Aufgaben können vom Kunden modelliert und deren Lösung simuliert (das zeitliche Verhalten) werden. Das geht von einfachen Übertrangunsfunktionen bis hin zu komplexen Closed-Loop-Verhalten des Controldesigns inklusive der Strecke.
Die Nebenbedingungen (z.B. Streckenverhalten, Umgebung) können modelliert und während der Simulation berücksichtigt werden. Das ermöglicht eine frühe Validierung und Verifizierung ohne Hardware. Somit können zum Beispiel verschiedene Designs oder Parameter erprobt und analysiert werden bevor es zur Hardwarerealisierung kommt. Die Toolkette übernimmt neben der Simulation auch bei der Realisierung viele Aufgaben, zum Beispiel bei der automatischen Generierung von Embedded Code aus dem Modell bis hin zu Echtzeittest auf der Hardware.
CT: Steigt auch bei Ihnen die Integrationsdichte?
CG: Unsere Kunden benötigen Freiheitsgrade (Parameter) um die Anwendungen optimal, funktional und flexibel zu gestalten. Freiheitsgrade liefern aufgrund der Kombinatorik jedoch einen explodierenden Spielraum an sowohl Möglichkeiten als auch Fehlerquellen. Wir helfen unseren Kunden diese Parameter in den Griff zu bekommen und neben der dynamischen Analyse auch statische und formale Analysen auf einem höheren Abstraktionsniveau anwenden zu können. Potenzielle Fehlerursachen können somit erkannt und behobenen werden, bevor Sie an den Kunden gehen.
Kurzum helfen wir unseren Kunden die Komplexität unter Berücksichtigung der vorhandenen Freiheitsgrade zu meistern. Wir streben allerdings keine besondere Richtung (Implementierung oder Verdichtung) an, sondern richten uns an die Gegebenheiten.
CT: Gibt es optimale Implementierungen?
CG: Ja es gibt optimale Implementierungen auf Grundlage von klar definierten Optimierungskriterien. Das ist natürlich etwas anderes als eine universell perfekte Implementierung. Optimale Implementierungen richten sich nach den Anforderungen.
Je klarer diese formuliert sind, desto besser lassen sich diese implementieren. Idealerweise sind die Anforderungen formal definiert, lassen sich also in einer semantisch klar definierten Sprache abbilden.
MathWorks bietet Möglichkeiten Systeme und Anforderungen semantisch klar zu beschreiben und somit sowohl die Implementierung als auch den Beweis der Erfüllung der beschriebenen Anforderungen sicher zu stellen.
CT: Wie misst man hinreichend gutes Arbeiten?
CG: Ich verstehe hinreichend gutes Arbeiten so, dass die Anforderungen an die Arbeit selbst (Kosten, Schnelligkeit) wie auch das Arbeitsergebenis (z.B. ein Produkt "Gerät" etc.) den bekannten Anforderungen mindestens entspricht. Es kann natürlich besser sein, muss aber nicht.
Wie misst man das? – Naja, manche Dinge kann man leicht messen, Zeit, Geld, etc. Bei anderen fällt das schwerer. Z.B. die Erfüllungsrate, dort ist der notwendige Testaufwand meist zu groß um diese zu gewährleisten.
Man kann jedoch häufig hardwarebasierte Tests auf computerbasierte Tests übertragen, solange von einer Übertragbarkeit ausgegangen werden kann.
Meist handelt es sich ja schließlichlich nicht um Elektronikfehler sondern logische Fehler und Programmierdefekte. Dies kann man mittels Computersimulationen und statischer Analyse sehr viel effizienter finden. Matlab und Simulink bieten diese Möglichkeiten.
CT: Wie hilft Abstraktion bei steigender Komplexität?
CG: Sie ist ein Weg die Explosion der Komplexität in den Griff zu bekommen.
Wir haben heutzutage nicht mehr die Zeit uns mit wiederkehrenden und trivialen Aufgaben zu beschäftigen. Es geht z.B. viel mehr darum wie etwas funktionieren soll und nicht wie es implementiert wird.
Also zum Beispiel wird jemand dafür bezahlt die Funktionen einer Objekterkennung zu entwickeln, allerdings nicht für seine optimale Implementierung einer Statemachine. Das heißt aber nicht, dass wir kleine Ansprüche an eine optimale Implementierung haben. Das erfolgt z.B. durch effiziente Codegenerierung der verwendeten semantisch beschriebenen funktionalen Elemente die für die Entwicklung dienen. Man modelliert also nur noch ein Statemachine ohne sich für deren Umsetzung in Code zu kümmern.
CT: Liegt in der steigenden Integrationsdichte eine Chance für Kreativität?
CG: Ich denke schon. Wenn man auf die heutigen Chips schaut, welche sämtliche Peripherie bereits integrieren, erschließt das ganz neue Anwendungsfelder. Zum einen bei der Integration wie z.B. als Implantat, in Verpackungen, Flugdrohnen etc. aber auch auf der funktionellen Ebenen wenn man mal auf die leistungsfähigen GPU-Systeme schaut, die Bildverarbeitung in mobilen Systemen ermöglichen.
Häufig war die Kreativität im Sinne der futuristischen Funktionalität ja sogar schon da,
leider nur zur falschen Zeit, in der eine Umsetzung nicht möglich oder unwirtschaftlich war.
CT: Werden Systeme mit hoher Integrations- und Vernetzungsdichte wirklich angreifbarer? Dezentrale Informationsverteilung liefert evtl. weniger Angriffsfläche?
CG: Allgemein ist die Angreifbarkeit von Systemen ein extrem unterschätztes Thema. Wo Safetyprobleme meist nur mit einer sehr geringen Wahrscheinlichkeit auftreten,
auch wenn es dann katastrophale Auswirkungen hat, können exploited-security-Vulnerabilitäten innerhalb von Stunden Millionen von Geräten attackieren.
Wir haben ein Tool für die statische Codeanalyse, welches Securityschwachstellen aufdeckt. Das ist ein ziemlich gutes Maß für Angriffspunkte. Die häufigsten Probleme kommen daher, dass Interfaces nicht vernünftig abgesichert sind. So gibt es libraries die es ihnen ermöglichen auch sensible Datenbereichen zuzugreifen durch einfaches übergeben von falschen read/write-Größen.
Herr Giesselmann, Herr Jäger, Herr Guß, vielen Dank für das Gespräch und Ihre Zeit!