Home Componentes Grafische Programmierung fördert intuitives Design

Grafische Programmierung fördert intuitives Design

Die Designvisualisierung ist für Designer unerlässlich, um sich vom Konzept zur Kreation zu entwickeln. Es kann ein tieferes Verständnis eines Projekts vermitteln, anderen bei der Kommunikation eines Entwurfs helfen und Probleme frühzeitig erkennen. Designer-Visualisierungen müssen alle Details abdecken, um Designs erfolgreich abzuschließen, unabhängig davon, ob die Tools der Designer ihnen dabei helfen oder nicht.

Die traditionelle Methode besteht darin, ein Design anhand von Dokumenten und detaillierten Abbildungen zu erfassen. Um beispielsweise ein Objekt zu spezifizieren, das auf einer Mühle hergestellt werden soll, kann ein Konstrukteur mehrere orthogonale Ansichten des Objekts verwenden. Dies ist effektiv für Anmerkungen und Größenanpassungen, aber es kann schwierig sein, diese Gesichtspunkte mental zu integrieren, um eine Visualisierung des Objekts zu erhalten.

Designer können ein Objekt auch mithilfe einer interaktiven Designumgebung visualisieren. Die Bearbeitung eines 3D-Modells direkt beim Entwerfen eines Objekts ist viel produktiver. Die Visualisierung ist nicht auf diskrete Projektionen beschränkt, und Designer können leicht erkennen, wie sich eine Bearbeitung eines 3D-Modells auf mehrere Projektionen auswirkt.

Im Allgemeinen ist die Visualisierung ein entscheidender Teil des Designs, aber die Visualisierung des Designs von Systemen, die die Kybernetik mit der physischen Welt verbinden (auch bekannt als cyber-physische Systeme), stellt eine besondere Herausforderung dar, da Software und Anwendungen eine entscheidende Rolle spielen. Das physische Systemdesign mag einfach sein, aber der kybernetische Teil erfordert spezielle Tools für die Visualisierung des Softwaredesigns. Die Visualisierung von Softwaredesign ist aufgrund ihrer abstrakten Natur, unbegrenzten Flexibilität und großen Komplexität sehr schwierig. Ein wichtiger Teil des Designs cyber-physischer Systeme liegt in der Software. Folglich kann eine Verbesserung der Konstruktionssoftware und der Entwicklungsproduktivität den größten Einfluss auf ein Projekt haben.

Deshalb haben wir LabVIEW erfunden. LabVIEW ist eine Umgebung zum Erstellen und Bearbeiten von Softwaredesign-Visualisierungen. Es verwendet grafische Datenflussdiagramme und interaktive Frontpanels, um eine Hierarchie von modularen softwaredefinierten Instrumenten zu erstellen. LabVIEW ist hochproduktiv, da die Visualisierung des Designs auch die Implementierung ist.

Der LabVIEW-Quellcode besteht aus grafischen Datenflussdiagrammen, die die Abhängigkeitsbeziehungen der Daten deutlich machen. Eine Verbindung zeigt die Quelle des Datenwerts und die Ziele, die ihn verwenden. Es besteht keine Möglichkeit des unsichtbaren Zugriffs oder der Änderung der Werte in einer Leitung, bevor sie die Ziele erreichen. Schleifen und andere Kontrollstrukturen sind Kästchen im Diagramm, die das Innere vom Äußeren klar trennen. Es besteht keine Möglichkeit, dass ein Syntaxfehler versehentlich die Grenze einer Schleife verschiebt.

Dank LabVIEW ist die Visualisierung die Umsetzung. Dies macht es zu einem großartigen Werkzeug für schnelles Prototyping und inkrementelle Entwicklung. Die Leichtigkeit, mit der Designer Visualisierungen ändern können, bedeutet, dass sie Designräume in ihren Apps effektiver erkunden können, was zu optimaleren Lösungen und einer kürzeren Markteinführungszeit führt. Die pro-Wert-Semantik des Datenflusses gewährleistet die Sicherheit und Skalierbarkeit der Designs. Die hierarchische Zusammensetzung ist auf allen Ebenen einheitlich, ebenso das Verhalten der Ausführung. Modulare Frontpanels erleichtern Debugging, Unit-Tests und Benutzerinteraktion auf allen Designebenen. Alle diese Attribute und mehr tragen zur Produktivität bei der Verwendung von LabVIEW bei.

Eines der wichtigsten Merkmale, das LabVIEW von anderen Software-Tools unterscheidet, ist der von Natur aus parallele Datenfluss. Herkömmliche Programmiersprachen sind sequentiell und so modelliert, wie Computer funktionieren, wie z. B. Von-Neumann-Maschinen. Sequentielle Sprachen eignen sich einfach nicht für parallel arbeitende Maschinen. Dies ist eine große Hürde, da sich der Markt in Richtung Multi-Core-Maschinen und FPGAs bewegt. Bereits 1977 wies John Backus auf die Grenzen der von Neumann-Architektur hin, nicht nur als Datenengpass, sondern auch als intellektueller Engpass.

Fünfunddreißig Jahre später setzen traditionelle textbasierte sequentielle Sprachen diesen intellektuellen Engpass fort.

Die Datenflusssprache von LabVIEW geht darüber hinaus und eignet sich daher ideal für die Bewältigung der Designherausforderungen, die cyber-physische Systeme und in jüngerer Zeit das „Internet der Dinge“ heute stellen. Diese grafische Methode entwickelt sich dank der vielen aktiven Forschungsbereiche, die sich auf die Visualisierung der Software und die zugrunde liegenden Fähigkeiten der Hardware konzentrieren, weiter.

Ein Bereich der laufenden Forschung ist das Wetter. Die meisten Softwareanwendungen sind eher auf Gesamtleistung als auf exaktes Timing optimiert.

Cyber-physische Systeme sind jedoch entscheidend von exaktem Timing abhängig. LabVIEW kann die erforderliche Synchronisation mithilfe einer zeitgesteuerten Schleife visuell darstellen und die Ausführung in Echtzeit erzeugen. Obwohl Designer mit dem Real-Time Trace Viewer die aktuelle Ausführung im Detail visualisieren können, haben sie keine Möglichkeit, im Voraus eine detaillierte Timing-Performance als Teil des Designprozesses zu antizipieren.

Da nur das genaue Timing der Sensoren und Aktuatoren spezifiziert werden muss, sollte der Compiler den Rest der Software programmieren, um die E/A aufzunehmen. Neuerungen in der Darstellung können es einfacher machen, ein präzises E/A-Timing zu spezifizieren, ohne das Timing anderer Software offen einzuschränken. Es ist möglich, die heutigen verteilten cyber-physischen Systeme mit präzisem Timing zu bauen, aber in Zukunft wird es viel einfacher sein, mit einer expliziteren Software-Darstellung der Zeit, zusammen mit Hardware-Verbesserungen für die isochrone Kommunikation.

Ein weiterer Forschungsbereich bezieht sich auf die Konfiguration der eingesetzten Hard- und Softwareressourcen. LabVIEW zeigt diese Informationen derzeit in einer Baumstruktur im Projektfenster an. Da ein Baum die Verbindungen zwischen Komponenten nicht darstellen kann, müssen Designer ihre Vorstellungskraft einsetzen, um sie zu visualisieren. Das LabVIEW-Projektfenster erfordert eine schematische Darstellung, um die Konfiguration von Hardwarekomponenten, Verbindungen, Sensoren und Aktoren anzuzeigen; sowie möglicherweise eine Darstellung der physischen Maschine.

Es wird möglich sein, nahtlos von einer fotorealistischen physischen Anzeige des Systems zu logischen Anzeigen auf mehreren Abstraktionsebenen zu wechseln. Die logische Darstellung kann die in jeder programmierbaren Komponente implementierte Software zeigen.

Timing und Konfiguration sind nur zwei der vielen Forschungsbereiche, an denen wir aktiv arbeiten, um die Fähigkeiten unserer Plattform zu erweitern. Die Verwendung einer löschbaren Tafel ist ein Indikator, der hilft abzuschätzen, wie viel noch zu tun ist.

Wenn ich auf eine löschbare Tafel zeichnen muss, um mein Design zu erklären, dann weiß ich, dass es mehr Möglichkeiten gibt, Daten zu erfassen, als mit besseren Werkzeugen.

Plattformbasiertes Systemdesign erzeugt flexible und skalierbare Systeme mit höherer Produktivität und niedrigeren Gesamtkosten als herkömmliche Methoden. Und die kontinuierliche Entwicklung einer grafischen Methode bedeutet noch mehr, dass Leistungs- und Produktivitätssteigerungen noch bevorstehen.