Mit Rapid Prototyping zum fertigen Produkt

Mit Rapid Prototyping zum fertigen Produkt

Ein neues Produkt wurde entwickelt, das erste Gerät steht auf dem Tisch. Doch nun stellt sich heraus, dass die Anforderungen unzureichend beschrieben sind und das Produkt am Anwender vorbei entwickelt wurde. Rapid Prototyping könnte solche Szenarien verhindern: Vor der eigentlichen Entwicklung wird im Handumdrehen Hard- und Software entworfen, die dem Endprodukt in Form und Funktion sehr nahe kommt.
Steigende Funktionalität und hohe Qualitätsanforderungen führen zu immer komplexerer Embedded Hard- und Software. Das treibt den Entwicklungsaufwand in die Höhe und doch stehen immer weniger Zeit, Geld und Personal zur Verfügung. Bietet sich jedoch nur eine einzige Chance, das Produkt am Markt zu lancieren, müssen alle Anforderungen stimmen und jegliche Designentscheide abgesichert sein. Einen Weg aus diesem Dilemma bietet Rapid Embedded Prototyping. Die Methode zielt darauf ab, Ideen im Bruchteil der üblichen Zeit umzusetzen und sofort zu testen. Das geschieht auf Formfaktoren, die der Endlösung nahe kommen oder sich im Endprodukt weitgehend wiederverwenden lassen. Anhand der Prototypen lässt sich erstes Feedback einholen und stärkt zudem das Vertrauen der Kunden.

V-Model plus ‚Wegwerfprototyp‘

Ein aktuelles Smart-Metering-Projekt dient als Beispiel für die verschiedenen Aspekte von Rapid Prototyping. Dabei handelt es sich um den Bezug von elektrischer Energie gegen e-cash. Es kommt in Waschsalons, Camping-Duschen oder beim Aufladen von Elektroautos zur Anwendung. Das System besteht aus zwei räumlich getrennten Modulen. Eine Bedieneinheit mit Touch-Display und einem RFID-Interface dient als Benutzerschnittstelle. Hier melden sich Anwender an, wählen eine freie Maschine aus, zahlen kontaktlos mit einer RFID-Karte und starten den Prozess. Das Schalten der 230V-Speisung und die dreiphasige Messung der Ströme erfolgt in einer so genannten Powerbox, die mehrere Meter entfernt direkt bei den Maschinen installiert ist und mit der Bedieneinheit im Intervall von Millisekunden drahtlos kommuniziert. Bei solchen Projekten greifen Entwickler üblicherweise auf das bewährte V-Modell: Zuerst definieren Designer Anforderungen und schreiben Spezifikation. Nun folgt die eigentliche Implementierung. Danach verifizieren die Entwicker, ob die zuvor fest gesetzten Spezifikationen eingehalten werden. Und ganz zum Schluss gilt es zu validieren, ob das Produkt die Anforderungen erfüllt. Die größte Schwäche dieser Methode ist ihre Starrheit: Unterlaufen Designern während der Spezifikationsphase Fehler, verlängert sich zwangsläufig die Implementierungsphase. Im Fallbeispiel fehlte bei der gewählten Wireless- und RFID-Technologie die Felderfahrung. Ein Risiko, das mit großer Wahrscheinlichkeit zu Verzögerungen geführt hätte. Schlimmer sind unzureichende oder falsch definierte Anforderungen, die im vorliegenden Projekt ein Re-Design ausgelöst hätten. Bei diesen zwei Problembereichen setzt Rapid Prototyping an: Es erweitert das statische V-Modell um eine iterative, dynamische Komponente. Vor der zeitaufwändigen Design- und Implementierungsphase werden mit ‚Wegwerfprototypen‘ die Anforderungen validiert. Während diesen zwei Phasen kommt anschließend das so genannte evolutionäre Prototyping zum Einsatz: Es erweist sich als praktisches Vehikel, um laufende Entscheide entwicklungsbegleitend abzusichern.

Ein Prototyp für jede Funktion

Ein Prototyp vermittelt einen ersten Eindruck des fertigen Systems und unterscheidet sich in Form und Funktion nur unwesentlich vom Endprodukt. Im Projekt konzentrieren sich jedoch verschiedene Prototypen oft auf unterschiedliche Aspekte, zum Beispiel auf die Bedienerschnittstelle. Ausgehend von einem Zweizeilen-Charakterdisplay der ersten Gerätegeneration wagte der Hersteller des Smart Meters den Schritt zum grafischen Multitouch-Userinterface. Nach einer iterativen Entwicklung des Bedienkonzepts mittels Powerpoint wurde das User-Interface Schritt für Schritt und unter Miteinbezug der Endanwender auf einem Prototypen umgesetzt. Mit dem funktionsfähigen Prototyp wurden die Anforderungen aus Anwendersicht geklärt und die kritischsten Designentscheide abgesichert. Damit war der Kern der Aufgabe dieses Prototyps erfüllt: Die eigentliche Entwicklung kann beginnen. Der Ausdruck ‚Rapid‘ beim Prototyping nimmt eine besondere Rolle ein, weil es schnell verschiedene Varianten zu realisieren und Unklares sofort auszuregeln gilt.

Programmiersprache intuitiv und funktional

Die wichtigsten sechs Anforderungen an die ideale Rapid Prototyping-Entwicklungsumgebung für Embedded Systeme werden nachfolgend anhand der National Instruments Labview-Plattform diskutiert, sind aber lösungsneutral. Die erste Anforderung ist der schnelle Zugang zu neuer Technologie. So lässt sich der aktuelle Stand der Technik nutzen, ohne viel Zeit in die Lernkurve zu investieren. Zweitens muss ein intuitives Prozess-I/O das einfache Messen und Regeln ermöglichen, um die reinen Algorithmen frühzeitig mit echten Signalen zu verifizieren – ohne aufwändiges Entwickeln von Low-Level-Treibern. Als dritten Punkt gilt es, die Komplexität abstrahieren zu können: Mathematische Operatoren sollen sich automatisch den vom Programmierer gewählten Datentypen wie Skalar, Vektor, Matrix, zeitbasiertes Signal oder Bild anpassen. Die vierte Anforderung stellen Multitouch-Bedieneroberflächen dar, die heutigen Anwendern aus ihrem privaten Umfeld von den Smartphones bekannt sind. Bediener erwarten diese intuitiven Oberflächen künftig auch an Industrieanwendungen. Als nächster Punkt muss die Programmiersprache intuitiv und funktional sein. Traditionelle Elemente wie Datentypen, Strukturen, Arrays, Strings gilt es ebenso zu unterstützen wie domänenspezifische Konstrukte aus der Regelungstechnik oder digitale Filter, zustandsorientierte Programmlogik, Objektorientierung, modellbasiertes Design und textbasierte Algorithmen. In vielen Fällen ist die Sprache eine fachbezogene Domain Specific Language (DSL) und gehört der nächsten Generation, der 4th Generation Language (4GL) an. Als letzte Anforderung muss eine Entwicklungsumgebung für Rapid Prototyping die volle Transparenz zum Mikroprozessor mit einem ‚C‘-Interface, C-Code-Generator und schlankem Realtime-Kernel bieten. Damit steht die Türe für fast jeden 16/32Bit-Microcontroller, Mikroprozessor und FPGA offen. Zusätzlich zu den beschriebenen sechs Anforderungen halfen dem Hersteller der Smart Meters sechs Richtlinien beim effizienten Rapid Prototyping: – Ideen kosten nichts: Das kreative Potential soll ausgeschöpft werden, denn die Frage, ob eine Idee wirtschaftlichen Nutzen hat, wird mit Prototyping schnell beantwortet: RFID anstelle Chipkarten, Farb-TFT plus Multitouch anstelle der Zweizeilen-Segmentanzeige, drahtlose Datenübertragung anstelle RS232, GSM/GPRS für die Fernwartung und Webserver als Konfigurationsschnittstelle. – Das Rad nicht neu erfinden: Die Entwickler verfügten über wenig Erfahrung im Bereich Wireless und RFID. Also evaluierten sie fertige Funktionsmodule, die sich über UART und seriellem Kommunikationsprotokoll sofort in den Prototyp einbinden ließen. Ein Mix aus Single Board Computer, Plug-in-Coremodul und kundenspezifischer Hardware reduzierte die Entwicklungszeit auf ein Minimum. – Mehrere Wege offen halten: Alle Systemkomponenten wurden in der Software als Objekte implementiert. Das hat den Vorteil, dass sie für Varianten neu kombiniert werden können. Eine Zustandsmaschine sorgte für die Möglichkeit, neue Funktionalität einzufügen ohne bestehenden Code zu ändern. -Ziel im Auge behalten: Für den Prototyp entwickelte Hardware, Software und Tools sollen sich im Serienprodukt größtenteils wiederverwenden lassen. – Schritt für Schritt zur Lösung: Zuerst wurden die Hauptfunktionen realisiert: Geld auf Karte transferieren, Mess- und Steuerdaten drahtlos kommunizieren und Bediener grafisch durch den Prozess führen. Anschließend wurde im zweiwöchigen Review-Intervall unter Miteinbezug des Auftraggebers die Lösung fertig entwickelt. – Erzeugen von ‚Wow‘-Effekten: Ein Prototyp soll nicht nur Brücken zwischen dem Stand der Technik und den Endanwendern schlagen, sondern etwas über das Ziel hinausschießen und für Verblüffung sorgen.

Moderation beim Kundenkontakt

Ein Prototyp kommt dem Endprodukt sehr nahe, deshalb gilt der Qualität von Anfang an die volle Aufmerksamkeit. Im Beispiel mit dem Smart Meter war ein wichtiges Qualitätsmerkmal die drahtlose Kommunikation zwischen den zwei Boxen. Die Herausforderung bestand darin, einen robusten seriellen Datenaustausch aufrechtzuerhalten, damit sich die Bedieneinheit und die Leistungsbox nach temporären Stromausfällen, beispielsweise bei Sperrzeiten während der Mittagszeit durch das Elektrizitätswerk oder Übertragungsfehlern z.B. Kollision mit anderen WLAN’s, innerhalb weniger Sekunden selbständig wieder synchronisieren. Dies vermittelte Installateuren ein komfortables Plug & Play-Gefühl. Richtig angewendetes Rapid Prototyping beschleunigt den Entwicklungsprozess von Embedded Systemen und verbessert das Produkt spürbar. Der Entwicklungsaufwand reduziert sich messbar, der Miteinbezug und damit das Vertrauen der Endanwender steigt und die Kostenschätzungen sind präziser. Dennoch birgt Prototyping auch Risiken: Der Kontakt mit Kunden muss moderiert werden, sonst steigert sich die Erwartungshaltung ins Unermessliche. Ein Prototyp ist schließlich kein Endprodukt. Deshalb ist es wichtig, Rapid Prototyping erfahrenen Entwicklern zu überlassen, die neben Querdenken und Hartnäckigkeit auch über Selbstvertrauen verfügen.

National Instruments Germany GmbH
www.ni.com/germany; www.schmid-elektronik.ch

Das könnte Sie auch Interessieren