Werkzeuge und Notationen

Entwicklungsbeschleuniger - Zeit als neue Währung (Teil 1)

Seite: 3/4

Firma zum Thema

Auch Co-Design wird nie dieselbe Beschleunigung erreichen wie ein System, das von Beginn an das tut, was es soll und dies unabhängig von seiner Implementierung, nämlich korrektes Verhalten bezogen auf Funktion, Kommunikation und Zeit.

Der Schlüssel dazu sind flexible Rechenmodelle, die uns ein Verständnis für physikalische zeitliche Zusammenhänge geben. Sie werden in ein heterogenes Framework eingebettet und auf verschiedenen Zielplattformen in Echtzeit ausgeführt:

  • Diese formalen Modelle beschreiben das Systemverhalten auf hohem Abstraktionsgrad, weitgehend unabhängig von Programmiersprache und unterlegter Hardware. Es handelt sich um Rechenmodelle (Models of Computation), auch MoC's genannt [2,3,4] (Bild 2,3,4). Sie abstrahieren Syntax und Semantik und lenken unseren Fokus auf Parallelität, Zeit, Kommunikation und Synchronisierung. Je abstrakter das Modell, desto größer der Lösungsraum.
  • MoC's können beliebig kombiniert werden (Bild 2,3,4). Voraussetzung dazu ist ein heterogenes Entwicklungs-Framework, worin sich die MoC's einbetten und ausführen lassen [5].
  • Dank plattformbasiertem, hardwarunabhängigem Design erhält der Ingenieur die Freiheit, Entscheidungen zu Hardware und Implementierungsdetails hinauszuzögern. Er weiß, dass sich das Framework mit den MoC's auf mehreren Zielsystemen unterschiedlicher Funktions- und Leistungsklassen ausführen lässt und sich zeitlich und funktionell immer korrekt verhält [4].

Natur und Eigenschaften von Notationen

Ein MoC sorgt dafür, dass sich der Entwickler nicht in künstlicher Komplexität verirrt. Er kann mit ihm präzise ausdrücken, was die Spezifikationen fordern, sei es Funktion, Kommunikation oder Zeitverhalten. Damit sind MoC's mit einer DSL (Domain Specific Language) vergleichbar.

Eine Analogie zur Literatur: ein MoC entspräche einem Rezept oder einem Gedicht. Damit beschreibt der kreative „Entwickler“ das, was der Kunde (lesen) will, was ihm wichtig ist. Die Notation oder Umsetzung wäre dann Deutsch, Französisch oder Englisch. MoC's lassen sich grob in textbasierte, datenflussorientierte, regeltechnische, simulations-, zustands- und taskorientierte Modelle einteilen.

Für jedes MoC eignet sich eine bestimmte Programmiernotation, sei es C, G, M-Script, Model-Based-Design oder UML. Die heterogene Natur smarter Embedded-Systems oder sogar Cyber-Physical-Systems verlangen nach unterschiedlichen Zeitdarstellungen [2,3]. Diese lassen sich in zwei Gruppen einteilen. Die erste Gruppe steht für die Natur und Eigenschaften eines MoC respektive einer Notation:

  • Zeitkontinuierlich, Zeitdiskret: Physikalische Prozesse sind naturgemäß zeitkontinuierlich, werden etwa mit Differentialgleichungen und Rückkopplung beschrieben und mit Integrationssolvern gelöst. Die Modelle beziehen sich dabei auf eine reelle Zeit und entwickeln sich mit ihr. In der digitalen Computerwelt hingegen wandeln sich die Differentialgleichungen zu Differenzengleichungen mit diskreter Integrationszeit.
  • Sequentiell, Parallel: Bei ersterem wird zeitlich nacheinander Schritt für Schritt abgearbeitet. Beispiele dazu sind Kommunikationsprotokolle oder Hardwaretreiber. Die zeitlich parallele Verarbeitung kommt eher bei mehreren Prozessen mit unterschiedlichen Timings wie Regler mit Benutzerschnittstelle vor.

Die Notation C zum Beispiel eignet sich für ein textbasiertes MoC und wurde ursprünglich für zeitdiskrete, sequentielle Prozesse konzipiert.

(ID:43140829)