Echtzeitanwendungen entlang des Produktlebenszyklus effizient managen
Open-Source-Lösungen im Fokus
PTC macht die Entwicklung von Echtzeit-Software zu einem integralen Bestandteil des Produktlebenszyklus von der ersten Idee über den Fertigungsanlauf bis zur Unterstützung im Betrieb. Dabei knüpft der amerikanische PLM-Anbieter (Product Lifecycle Management) an die etablierten Open-Source-Lösungen eclipse, Subversion und Bugzilla an und stellt die erste integrale ALM/PLM-Lösung (Application/Product Lifecycle Management) auf Basis der Windchill-Plattform bereit. Anwender erhalten so eine integrale Entwicklungsumgebung, die den mechanischen, den elektrischen und den Software-Entwicklungsstand verwaltet. Dazu einige Ausführungen von Dr.-Ing. Alexander Lewald, Leiter Pre-Sales und Business Development für PTC in Europa.
PTC macht die Entwicklung von Echtzeit-Software zu einem integralen Bestandteil des Produktlebenszyklus von der ersten Idee über den Fertigungsanlauf bis zur Unterstützung im Betrieb. Dabei knüpft der amerikanische PLM-Anbieter (Product Lifecycle Management) an die etablierten Open-Source-Lösungen eclipse, Subversion und Bugzilla an und stellt die erste integrale ALM/PLM-Lösung (Application/Product Lifecycle Management) auf Basis der Windchill-Plattform bereit. Anwender erhalten so eine integrale Entwicklungsumgebung, die den mechanischen, den elektrischen und den Software-Entwicklungsstand verwaltet. Dazu einige Ausführungen von Dr.-Ing. Alexander Lewald, Leiter Pre-Sales und Business Development für PTC in Europa. Echtzeit-Systeme haben heute in einer Vielzahl von Anwendungsbereichen eine vergleichbar zentrale Bedeutung wie das Nervensystem für den Menschen. Egal ob in Flugzeugen oder Kraftfahrzeugen, in industriellen Anwendungen im Maschinen- und Anlagenbau, oder aber auch im täglichen Leben (z.B. Smartphones) sind Echtzeitanwendungen nicht mehr wegzudenken. Dabei ist das Gesamt-Systemverhalten zumeist geprägt durch das Zusammenspiel einer Vielzahl von dezentralen Teilsystemen (z.B. Flugzeug-Lageregelung, Antriebsschlupfregelung im Automobilbau). Wir stehen aber erst am Anfang dieser Entwicklung. Das Beherrschen von Gesamt-Systemverhalten wird zunehmend zum wettbewerbsdifferenzierenden Faktor für diskrete Fertigungsunternehmen. Daneben werden auch immer neue Anwendungsfelder im täglichen Leben erschlossen. So gibt es bereits erste Laufschuhe, deren Dämpfung sich elektronisch regulieren lässt.
Signifikante Zunahme von Echtzeitanwendungen
Allein im Automobilbau hat der Einsatz von Echtzeitanwendungen in den letzten 20 Jahren signifikant zugenommen. In Mittelklasse-Fahrzeugen arbeiten heute bereits 60-70 Echtzeit-Anwendungen parallel, Tendenz weiter zunehmend. Dass die Beherrschung von Gesamt-Systemverhalten entlang der Industrie-Wertschöpfungskette heute eine Herausforderung ist, zeigt die Tatsache, dass bis zu 50% der Garantiekosten im Fahrzeug auf Elektronik und Software Themen zurückzuführen ist.
Gesamt-Systemverhalten frühzeitig transparent machen
Dr. Alexander Lewald: „Für die erfolgreiche Entwicklung von Echtzeitanwendungen ist in zunehmendem Maße die Beherrschung des Gesamt-Systemverhaltens in der frühen Entwicklungsphase erforderlich. Die hohe Zahl und die wachsende Komplexität der Komponenten und der Vernetzungsgrad der Teilsysteme und nicht zuletzt die steigenden Kundenanforderungen machen es notwendig, das Gesamt-Systemverhalten frühzeitig im Entwicklungsprozess transparent zu machen.“
Heutige Herausforderungen bei Echtzeit-Software-Entwicklungen
Die Kombination aus Verteilung, Zuverlässigkeit und dynamischer Anpassung gilt als besondere Herausforderung bei der Entwicklung von Echtzeit-Softwarelösungen. Denn zum einen müssen die verteilten Applikationen unabhängig voneinander arbeiten, zum anderen muss das Gesamt-Systemverhalten robust, zuverlässig und im Rahmen von vorgegebenen Antwortzeiten sein. Dr. Alexander Lewald: „Wenn wir über Echtzeit-Software sprechen, sprechen wir eigentlich über Echtzeit-Anwendungen. Durch die enorme Leistungssteigerung der Prozessoren ist es heute möglich, viele Anwendungen, die früher mit Hardware realisiert wurden, in Software abzubilden. Dies ermöglicht eine erhöhte Flexibilität insbesondere bei späten Änderungen bis hin zu Parametrierungen, die noch im Betrieb des Systems angepasst werden können. Auf der anderen Seite entstehen hierdurch eine Vielzahl an Konfigurationen zwischen der Mechanik, den Elektronik-Komponenten und der Echtzeit-Software, die es zu beherrschen gilt. So hängt beispielsweise die Aussagekraft eines Dauerlauf-Tests von einem Aggregat im Prototypen-Status maßgeblich an der Kenntnis der zugrundeliegenden Konfiguration ab.“
Zusammenspiel verschiedener Disziplinen
Komplexe Echtzeitanwendungen werden im Allgemeinen nicht von einer einzelnen Arbeitsgruppe entwickelt, sondern in einem Prozess, an dem verschiedene Abteilungen mit unterschiedlichen Aufgaben beteiligt sind. Jede Arbeitsgruppe verfügt über eigene Entwicklungsumgebungen und Tools, um ihre Aufgaben umzusetzen. Es ist noch oftmals so, dass die Arbeitsstände der verschiedenen Teams nicht in Echtzeit zusammenfließen. Beim Zusammenspiel der verschiedenen Disziplinen und beim Beherrschen des Systemverhaltens hilft heute häufig der Mensch aus. Es herrscht ein großer Nachholbedarf für systematische, nachvollziehbare Prozessunterstützung auf Systemebene, jedoch möglichst ohne den administrativen Aufwand für den einzelnen Entwickler zu steigern. „Eventuell auftretende Probleme werden häufig erst sehr spät bei der Systemintegration festgestellt und erfordern häufig große Rücksprünge. Deshalb ist es äußerst wichtig, den Abgleich möglichst früh und im Idealfall in Echtzeit zu unterstützen“, so Dr. Lewald.
Effektive, reproduzierbare Entwicklungsergebnisse für Echtzeitanwendungen
Um die Produktivität und Qualität bei Echtzeit-Projekten zu erhöhen, müssen Medienbrüche und Kommunikationslücken entlang des Lebenszyklus einer Anwendung geschlossen werden. Das reicht von der Aufnahme der Anforderung über die Entwicklung und den Test bis hin zur Fertigung und dem industriellen Einsatz. Durch integrales Application/Produkt-Lebenszyklus-Management (einschließlich der Software-Applikation) gewinnt man frühere Transparenz über den Entwicklungsstand und erhöht damit die Erfolgsaussichten auf nachvollziehbare Entwicklungsleistungen. Integrales Application/Produkt-Lebenszyklus-Management hebt das Nebeneinander von Software- und System-Entwicklung auf, indem es die Software-Entwicklung in das Produkt-Lebenszyklus-Management integriert, ohne jedoch die tägliche Arbeit der Software-Entwickler zu behindern.
Ein integraler Produkt-Lebenszyklus
Um einen Überblick über den Stand der Entwicklung auf System-Ebene zu bekommen, ist es nötig, die an der Entwicklung beteiligten Gruppen miteinander zu vernetzen. Auf diese Art und Weise wird der Entwicklungsstand der Echtzeitanwendung transparent gemacht, etwaiger Änderungsbedarf – wird frühzeitig erkannt und es wird rechtzeitig gegengesteuert. Durch PLM ist es möglich, den Entwicklungsfortschritt schneller nachzuvollziehen. So kann heute ein Automobil-
Zulieferer für Einspritzsysteme schneller und genauer die Auswirkungen von Kundenforderungen abschätzen. Fordert der Kunde beispielsweise eine geänderte Aufteilung auf Prozessoren, so können die Auswirkungen auf Antwortzeitverhalten und Produktkosten schnell ermittelt werden. Der in Boston ansässige PLM-Anbieter PTC kommt auf Basis langjähriger Erfahrungen mit einer integralen ALM/PLM-Lösung auf den Markt. Die Software-Entwicklungsumgebung basiert auf marktführenden Open-Source-Lösungen (u.a. eclipse, Subversion und Bugzilla). Das Besondere dieser Lösung besteht darin, dass die Open-Source Lösungen die Bedürfnisse der Echtzeit-Software-Entwickler adressieren und gleichzeitig die Arbeitsergebnisse der Teildisziplinen konsistent in ihren Konfigurationen verwaltet werden können. Das führt zur der gewünschten Änderungstransparenz auf Systemebene und zu mehr Robustheit gegenüber späten Änderungen.
Eine integrale Architektur
Dazu Dr. Lewald: „Wir befassen uns intensiv mit Echtzeitanwendungen und unser Fokus im Embedded-Bereich liegt zunehmend auf Open-Source-Lösungen. Wir wollen das Systemverhalten frühzeitig transparent machen. Open-Source-Lösungen wie eclipse, Subversion und Bugzilla wurden ja von Anwendern für Anwender geschrieben. Sie sind inzwischen sehr robust und auf die Bedürfnisse der Entwickler im Echtzeitbereich abgestimmt. Mehr und mehr Firmen entscheiden sich inzwischen für Open Source-Lösungen. Über 45% der Software-Entwickler im Echtzeitbereich arbeiten heute bereits mit Open Source-Anwendungen und ihr Anteil nimmt weiter zu.“ Dr. Lewald weiter: „Wir haben die Anbindung von Software-Entwicklungsumgebungen an die PLM-Umgebung bereits vor einigen Jahren aufgegriffen, da unsere Kunden dieses Thema an uns herangetragen haben. Für Anwender ist es oftmals noch eine deutliche Herausforderung, Software- und Systemebene zusammen zu bekommen und hier liegen weitere Effizienzpotenziale verborgen. Grundsätzlich gilt, dass wir uns bemühen, die Prozessabläufe unserer Kunden zu verstehen und darauf aufbauend Software-Lösungen zu entwickeln, mit denen unsere Kunden ihre Prozesse verbessern können. Dieses Vorgehensmodell basiert auf partnerschaftlichen und vertrauensvollen Beziehungen mit unseren Kunden. Im Bereich der Echtzeitanwendungen folgen wir unseren Kunden, die Open-Source-Anwendungen für sich gewinnbringend einsetzen wollen.“ (ahc)