Siemens PLM Software stellt sein CAD-System NX und das CAM-Modul NX CAM von Versionsnummern und jährlichen Groß-Updates auf eine kontinuierliche Weiterentwicklung (Continuous Release, CR) um, wie man sie von Windows 10 kennt. In einem der ersten Updates wurde nun maschinelles Lernen und künstliche Intelligenz eingebaut. Die neuen Funktionen sind in der Lage, anstehende Schritte vorherzusehen und die Benutzeroberfläche entsprechend anzupassen. So können Anwender die Software effizienter nutzen und produktiver arbeiten.
Windows hat es mit Windows 10 vorgemacht – es gibt keine weiteren Releasenummern. Veröffentlichten die Softwarehersteller früher in einem bestimmten Rhythmus, beispielsweise jährlich, große Releases mit Funktionserweiterungen. Zwischen diesen wurden die gröbsten Bugs mit Service Packs behoben. Die Continuous Release-Strategie bringt alle paar Wochen Updates, die keine Neuinstallation verlangen, sondern quasi im laufenden Betrieb integriert werden. So sollen die großen Sprünge vermieden werden, die bisher langwierige Updates und Schulungen verursachten.
Schaut man etwa genauer, blättert der Lack schnell. Natürlich gibt es weiterhin Versionsnummern, allein schon zur Organisation der Softwareentwicklung. Diese werden eben nur nicht mehr offiziell bekanntgegeben. Zum Thema laufende Entwicklung: Microsoft fährt einen halbjährlichen Zyklus für Featureupdates, seit dem ersten Release mit der Nummer 1511 kamen die Releases 1607, 1703, 1709, 1803 und 1809 heraus (die Zahlen bedeuten Jahr/Monat). Dazwischen werden nach Bedarf Updates veröffentlicht, um Bugs oder Sicherheitslücken zu reparieren.
Und natürlich – hoffentlich! – werden auch in Zukunft größere Änderungen am System, seiner Architektur und seiner Oberfläche notwendig werden, die Updateschulungen notwendig machen. Zusatzprogramme müssen an geänderte APIs angepasst werden, so dass auch in diesem Bereich nach wie vor eine Korrelation zwischen einer bestimmten NX- und Zusatzprogrammversion besteht.
Nicht zuletzt ist es der Alptraum der meisten CAD-Admins, dass einfach automatisch Upgrades installiert werden, die bestehende Bugs verschlimmern, neue Bugs erzeugen oder gar schon behobene Bugs wieder aktivieren. In vielen Unternehmen stehen vor der Einführung einer neuen Version umfangreiche Tests, was dazu führt, dass nach Aussage der Siemens Continuous Release-FAQ die Kunden in der PLM-Industrie im Schnitt drei Jahre benötigen, bis ein Update produktiv zum Einsatz kommt.
Letzteres hat für den Hersteller den großen Nachteil, dass sich die Kundenbasis auf drei oder mehr Releases verteilt und er als guter Partner seiner Kunden all diese Releases mit Updates, Bugfixes und Hot Fixes versorgen muss. Diesen Zopf schneidet Siemens mit CR ab: „[…] the vision is to have a single release stream. This means that any fix or enhancement will be made only in the latest update released.” Der NX-Zyklus bringt halbjährlich neue Funktionen, dazwischen werden monatlich Bugfixes und “high priority projects“ in den Updates enthalten sein.
Die automatische Installation von Updates lässt sich abschalten, zudem stellt Siemens Informationen und Werkzeuge bereit, um die Kompatibilität neuer Entwicklungen mit der eigenen Umgebung zu testen. Allerdings wird man eben, wenn man auf einer Version stehenbleibt, keinerlei Weiterentwicklung erfahren. Für weitere Infos empfehle ich die FAQ.
Eine dieser High Priority Projects scheint die neueste Aktualisierung der Oberfläche zu sein, die sich mit Hilfe von maschinellem Lernen (ML) und künstlicher Intelligenz (KI) an die typischen Abläufe des Benutzers anpasst. Die Software versucht, die nächsten Arbeitsschritt vorherzusehen und die Oberfläche so anzupassen, dass der Anwender die notwendigen Funktionen schnell und effizient findet.
In den unterschiedlichsten Softwareprodukten gibt es ja seit längerem kontextsensitive Menüs, die je nach aktueller Aufgabe die notwendigen Befehle bereitstellen. Nur hat bisher der Softwareentwickler definiert, welche Befehle in diesem Menü auftauchen, nun tut dies die KI. Da Anwender durchaus verschieden arbeiten, weil sie eben unterschiedliche Produkte mit derselben Software entwerfen, sind diese Kontextmenüs immer entweder zu groß oder zu klein. Der Softwareentwickler muss jeden möglichen Workflow vorhersehen und im Kontextmenü abbilden – das führt im schlimmsten Fall zu völlig überladenen Menüs. Oder eben dazu, dass sich die Anwender ihre Befehle doch wieder im normalen Menübaumheraussuchen müssen. Hier kann eine selbstanpassende Oberfläche durchaus Vorteile bringen. Bei Siemens klingt das so:
Die Integration von ML und KI in die NX-Software bietet Vorteile bei Geschwindigkeit, Leistung, Effizienz und Intelligenz durch Lernen, ohne dass diese Eigenschaften explizit programmiert werden müssen. Das bietet Kunden viele Möglichkeiten und führt unter anderem zur Verbesserung des Konstruktionsprozesses, mit dem sie ihr Produktangebot optimieren und die Markteinführungszeit verkürzen können. Das NX Command Prediction Modul ist die erste Markteinführung der adaptiven Benutzeroberflächenarchitektur von NX (kurz UI), die lernfähig ist und die Grundlage für zusätzliche ML-orientierte UI-Lösungen bildet.
„Umfangreiche Forschungen auf dem Gebiet der Mensch-Computer-Interaktion haben zu einer exzellenten statischen Oberfläche geführt. Es fehlt allerdings immer noch eine perfekt zugeschnittene dynamische Oberfläche, die sich für alle Benutzer eignet“, so Bob Haubrock, Senior Vice President, Product Engineering Software bei Siemens PLM Software. „Die neueste Version von NX verwendet maschinelles Lernen und künstliche Intelligenz, um Aktionen des Anwenders und seine Arbeitsergebnisse auszuwerten. So können wir dynamisch bestimmen, wie wir die richtigen NX-Befehle bedienen oder die Benutzeroberfläche modifizieren können, um einzelne Anwender produktiver zu machen. Die Nutzung dieses Wissens über die gelernte Benutzeroberfläche für die Personalisierung von CAx-Umgebungen hilft unseren Kunden, die Gesamtnutzungs- und Akzeptanzrate zu verbessern und führt letztendlich zu effizienteren Produktentwicklungsprozessen.“
Mit KI und ML geht Siemens einen durchaus interessanten Weg, dessen Vorteile sich aber erst noch im Alltag zeigen müssen. Continuous Release ist meiner Meinung nach eine Möglichkeit, den Wildwuchs an Versionen einzudämmen und die Entwicklungsressourcen darauf zu konzentrieren, wo sie sinnvoll sind, nämlich auf die Weiterentwicklung der aktuellen Version. Das wird für viele Anwender eine Umstellung, aber mir war auch bisher nicht wirklich erklärlich, dass manche Firmen fünf Jahre alte oder noch ältere Software produktiv einsetzen, nur um das eine oder andere Update zu sparen. Der Schritt wird dann bei einem Update nur umso größer und schwieriger. Insofern finde ich kontinuierliche Updates besser als das alte Modell. Dass die Entwicklung in die richtige Richtung gehen muss, ist davon unabhängig wichtig.