Werkzeuge und Notationen

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

Seite: 4/4

Firma zum Thema

Stärken und Schwächen von Notationen

Die zweite Gruppe von Zeitdarstellungen drückt die Stärken und Schwächen der jeweiligen Programmiernotation aus, bzw wie sich letztere kompensieren lassen:

  • Synchron, Asynchron: Zwei zeitlich unterschiedliche Betrachtungsweisen. Beim Ersten handelt es sich um eine starre, aber gleichzeitig komfortable Abstraktion von Zeit und alle Signale im System beziehen sich auf dieselbe Zeitachse, dem „Clock“. Das Zweite ist reaktiv, entspricht wohl eher der Praxis, ist aber technisch aufwändiger umzusetzen (Interrupts, Events).
  • Kooperativ, Preemptiv, echt parallel: Definiert das Zeitverhalten paralleler Prozesse. Dafür wird für die beiden erstgenannten Multitasking oder Multithreading genutzt, unterstützt durch den Scheduler eines RTOS. Echte Parallelität verlangt nach spezieller Hardware wie etwa Multicore-Mikrocontroller oder FPGAs.

Bild 2: Das textbasierte Rechenmodell (C-Algorithmus) ist optimiert für diskrete, sequentielle Zeitdarstellung und ist hier verknüpft mit dem parallel funktionierenden Datenflussmodell (LabVIEW).
Bild 2: Das textbasierte Rechenmodell (C-Algorithmus) ist optimiert für diskrete, sequentielle Zeitdarstellung und ist hier verknüpft mit dem parallel funktionierenden Datenflussmodell (LabVIEW).
(Grafik: Schmid Elektronik)

Jedes MoC hat Stärken und Schwächen. Deshalb soll es passend zum Problem gewählt werden, ähnlich wie die Werkzeuge eines Schweizer Armeetaschenmessers. Als Daumenregel wähle man das schlankeste MoC, das natürlich ein spezifisches Problem löst [3] und füge dann MoC um MoC ins Framework ein.

Eine Regeltechnik-Idee lässt sich etwa sehr aussagekräftig in Matlab-Notation umsetzen und ausführen. Sie kann ebenso wie Differentialgleichungen, die eher mit Simulation (Model-Based-Design) entworfen werden (Bild 3), ins Framework eingefügt werden wie Statecharts, die die zustandsorientierte Applikationslogik vereinfachen. Die textbasierte C-Notation hingegen ermöglicht das Einbinden bestehender Algorithmen oder direkten Zugriff auf Betriebssystem oder Hardware (Bild 2).

Bild 3: Eine Kombination von drei unterschiedlichen Rechenmodellen mit Regeltechnik (Matlab-Notation), Simulation (Model-Based-Design) und Datenfluss (LabVIEW) für einen PID-Regler.
Bild 3: Eine Kombination von drei unterschiedlichen Rechenmodellen mit Regeltechnik (Matlab-Notation), Simulation (Model-Based-Design) und Datenfluss (LabVIEW) für einen PID-Regler.
(Grafik: Schmid Elektronik)

Gefragt ist nun ein heterogenes Gefäß, in das sich die verschiedenen MoC's einbetten, verbinden und parallel ausführen lassen. Nach [4] und [5] eignet sich dank inhärenter Parallelität speziell das Aktor-Framework. Dessen Konzept setzt sich aus datenorientierten, funktionalen Komponenten (Aktoren) und deren Interaktion (Scheduling) zusammen. Aktoren warten auf Input, „feuern“ und produzieren Output. Sie skalieren von einfachen Operatoren wie Multiplikation und logischer Verknüpfung über inverse FFT und Matrizenrechnung bis zum Statechart, werden parallel ausgeführt und kommunizieren über Ports.

Modelle ins heterogene Aktor-Framework einbetten

Bild 4: Welches Rechenmodell sich zur Lösungen einer quadratischen Gleichung besser eignet, bleibt dem Leser überlassen. Oben die Lösung mit dem Datenflussmodell (LabVIEW), unten mit dem Regeltechnikmodell (Matlab-Notation). Beide Modelle liefern dasselbe Ergebnis.
Bild 4: Welches Rechenmodell sich zur Lösungen einer quadratischen Gleichung besser eignet, bleibt dem Leser überlassen. Oben die Lösung mit dem Datenflussmodell (LabVIEW), unten mit dem Regeltechnikmodell (Matlab-Notation). Beide Modelle liefern dasselbe Ergebnis.
(Grafik: Schmid Elektronik)

Die grafische Systemdesign-Umgebung LabVIEW [6] von National Instruments eignet sich als das derzeit passendste kommerziell verfügbare Aktor-Framework für heterogene MoC's. LabVIEW geht weit über das Verbinden unterschiedlicher Tools oder eine „eierlegende MoC-Wollmilchsau“ [2] hinaus.

Auch wird nicht zwischen theoretischer Spezifikationsphase und architekturbetonter Implementierungsphase unterschieden. Das LabVIEW- Aktor-Framework kann direkt diskrete Dynamik digitaler Rechner mit kontinuierlicher Dynamik physikalischer Prozesse verbinden. Ein unterlegter Scheduler steuert Ausführung und Kommunikation vom Aktornetzwerk nach strukturiertem Datenfluss [5].

LabVIEW ermöglicht außerdem die „richtige“ Abstraktion zur „richtigen“ Zeit und eignet sich bestens als Wirt für die verschiedenen MoC's:

  • Plattformbasierter Ansatz ermöglicht gleichzeitig formale Verifikation und Validation auf Modellebene.
  • Support von heterogenen MoC's
  • Hybrid aus diskretem und kontinuierlichem Zeitmodell
  • Parallelität und Kommunikation sind natürlicher Bestandteil der Sprache
  • Dank Hierarchie und Modularität lassen sich verschiedene MoC's auf beliebigem Level als Submodelle integrieren.
  • Abstrakt und trotzdem hardwarenah und damit ausführbar auf verschiedenen Hardwarearchitekturen.
  • Kommerziell verfügbar, weltweite Akzeptanz und ein weit verbreitetes Ökosystem

Diese Aktor-Orientierung mit den eingebetteten MoC's ist ein mächtiges Instrument, mit dem sich der Entwickler in der Embedded-Software auf diversen Abstraktionsniveaus bewegen kann und trotzdem immer die globale Systemsicht vor Augen hat. Der zweite Teil des Berichts zeigt auf, wie diese Software mit Embedded-Hardware zusammengeführt wird. //FG

Referenzen:

[1] Cyber-Physical-Systems ganz konkret, Marco Schmid, Schmid Elektronik, ELEKTRONIKPRAXIS Nr. 7, April 2014.

[2] Models of Computation for Embedded System Design, Luciano Lavagno, Politecnico di Torino, Alberto Sangiovanni Vincentelli, EECS Departement of UK Berkeley, September 1998.

[3] Models of computation and languages for embedded system design, A.Jantsch und I.Sander, Departement for Microelectronics & Information Technology, Royal Institute of Technology, Kista, Sweden, IEEE Proc.-Comput. Digit. Tech., Vol. 152, Nr. 2, März 2005

[4] Addressing Modeling Challenges in Cyber-Physical-System, Patricia Derler, Edward A.Lee, Alberto Sangiovanni Vincentelli, EECS Departement of UK Berkeley, March 2011

[5] Actor-Oriented Control System Design: A Responsible Framework Perspective, Jie Liu et. al. IEEE-Mitglied, IEEE Transactions on Control Systems Technology, Vol.12, Nr. 2, März 2004

[6] Kreativität entfesseln, Marco Schmid, Schmid Elektronik, iX Developer 2/2014 – Embedded Software, Heise Zeitschriften Verlag, Februar 2014

[7] Kompakt verbunden, Marco Schmid, Schmid Elektronik, Embedded-Design, Ausgabe November 2014

* Marco Schmid ist Diplom-Ingenieur (FH) für Systemtechnik. Er ist Inhaber des Lösungsanbieters Schmid Elektronik in Münchwilen/Schweiz.

(ID:43140829)