2016
Komplette Codegenerierung aus UML Modellen, fokussierte Testautomatisierung sowie kontinuierliche Integration kennzeichnen das Engineering der Mettler Toledo. Bei der Entwicklung der Präzisionsinstrumente verlässt sich das Unternehmen auf das Model Driven Development Tool IBM Rational® Rhapsody®. Wolfgang Boos, Leiter Embedded Software Entwicklung bei der Mettler Toledo AG, berichtet Mettler Toledo ist ein weltweit führender Hersteller von Präzisionsinstrumenten für Labors, industrielle Anwendungen sowie für das Frischwarenmanagement im Lebensmitteleinzelhandel. Dies umfasst unter anderem Waagen, Pipetten und PH-Messgeräte, Lösungen für das Rohmaterial-Handling, für die Prozess- und Verpackungskontrolle in der Industrie sowie Produkte zur Datenverwaltung und -auswertung im Einzelhandel.
Wolfgang Boos leitet die SW Entwicklung der Abteilung Laboratory & Weighing Technologies (LabTec), in welcher unter anderem der HX204 ExcellentMoistureAnalyser (siehe Abbildung) entwickelt wurde. Er initiierte 2007 die Einführung von IBM Rational Rhapsody. „Ich persönlich arbeite schon seit 2000 mit Rhapsody. IBM Rational Rose, welches beim LabTec vor Rhapsody im Einsatz war, entsprach nicht mehr unseren Anforderungen. Trotzdem wollten wir weiter modellgetrieben arbeiten. So war der Wechsel zu Rhapsody ein logischer Schritt im Ausbau unserer Infrastruktur“, erklärt Boos. „Eine moderne Entwicklungsumgebung und eine Plattform, welche alle Möglichkeiten offen lässt, waren uns extrem wichtig.“
Ausschlaggebend für IBM Rational Rhapsody waren die automatische Codegenerierung für die komplette Software sowie die Möglichkeit, verschiedene Plattformen anzusprechen. „Das User Interface und die Modellierungsmöglichkeiten mit IBM Rational Rhapsody sind extrem gut, die Visualisierung ist deutlich besser als bei vergleichbaren Produkten. Gleichzeitig war die automatische Codegenerierung bei Rhapsody schon immer überzeugend. Wir checken nur noch Modelle ein“, führt Wolfgang Boos weiter aus. „Dass wir die komplette Business Logik inklusive den dynamischen Aspekten automatisch generieren können ist einzigartig!“
Für eine effiziente Einführung der neuen Entwicklungsumgebung nahmen die Teammitglieder an IBM Rational Schulungen von EVOCEAN teil. Mit der Unterstützung externer Spezialisten wurden an Vorprodukten die Funktionalitäten des Tools evaluiert, bis anschliessend die Entwicklung des HX204 in Angriff genommen wurde. Gemäss Wolfgang Boos waren neben dem Tool Know-how zwei Punkte zent-ral. „Wir mussten das Ganze so aufsetzen, dass die Strukturen, Prozesse und eingesetzten Methoden nachhaltig sind. Gleichzeitig wollten wir weg von der Fokussierung auf den SourceCode, hin zu einem Denken in Modellen… was für die involvierten Mitarbeiter teilweise eine markante Veränderung bedeutete.“
Neben automatisierter Codegenerierung und Agilität dank Modellierung ist für Wolfgang Boos die kontinuierliche Integration erfolgs-entscheidend: „Bei Continuous Integration ist es wichtig, dass alle Prozessschritte der Software Entwicklung automatisiert sind, damit Fehler möglichst früh gefunden werden. Dies stellt auch ein schnelles Feedback an die Entwickler bei Änderungen sicher.“ In der Software Entwicklung des LabTec sind rund 80% der Tests automatisiert und weit möglichst integriert. Dabei kommt ein vierstufiges Testsystem zum Einsatz – von statischen Modell- und Codeanalysen über Unit Tests und Component- bzw. Integration-/System-Tests bis hin zu den automatischen GUI Tests wird die Qualität bei jeder Änderung sichergestellt. IBM Rational Rhapsody als Entwicklungstool sowie das von Rhapsody zur Verfügung gestellte Framework bleiben dabei zentral.
„Ja, wir haben heute eine moderne, stabile Infrastruktur, mit der wir uns weiterentwickeln können“. Zwar wurden gemäss Boos beim ersten Entwicklungsprojekt mit Rhapsody weder Kosten noch Zeit eingespart. Zurzeit stehe jedoch die Entwicklung weiterer Produktlinien an, welche auf der gleichen SW basieren. „Die Vorteile unserer guten Basis kommen nun zum Tragen. Ein Modell ist einfacher anpass- und wartbar und neue Funktionen können schnell integriert werden. In Kombination mit dem automatischen Testen werden wir nun markant schneller sein… bei einer konstant hohen Qualität. Jetzt sparen wir Geld – nicht zuletzt dank IBM Rational Rhapsody!“
Die nächste Herausforderung liegt gemäss Wolfgang Boos in der Zusammenarbeit von geografisch verteilten Teams. Und wenn er einen Wunsch frei hätte? „Toll wäre, wenn Rhapsody die Entwicklung von Produktlinien, das Variantenhandling, noch besser unterstützen würde!“ Die Weiterentwicklung Richtung graphischer DSL’s mit Rhapsody brächte eine neue Dimension der SW Entwicklung.
UML
IBM Rational Rose
IDE
CodeWright und ARM Compiler
Echtzeitbetriebssystem
OSE
Zielplattform
kundentspezifisch
Programmiersprache
C++
UML
IBM Rational Rhapsody
IDE
Visual Studio
Echtzeitbetriebssystem
Windows CE, Linux
Zielplattform
Trade Board Colibri
Programmiersprache
C++
Vor dem Projekt | Nach dem Projekt | |
---|---|---|
UML | IBM Rational Rose | IBM Rational Rhapsody |
IDE | CodeWright und ARM Compiler | Visual Studio |
Echtzeitbetriebssystem | OSE | Windows CE, Linux |
Zielplattform | kundentspezifisch | Trade Board Colibri |
Programmiersprache | C++ | C++ |