ARM pflegt ein intensives Partner-Netzwerk, ist mit den Angeboten von des Unternehmens Keil aber gleichzeitig im Geschäftsgebiet seiner Partner tätig. Ist das nicht ein Widerspruch?
Nur auf den ersten Blick. Da ARM schneller wächst als der Markt, gibt es Platz für viele Tool-Anbieter. Kunden fordern gerade hier Auswahl und Flexibilität, wobei die Konkurrenz zu leistungsfähigeren Tools führt. Spezial-Software- und Hardware-Tools werden weiterhin von unseren Partnern kommen, und die komplexer werdenden Controller bieten neue Chancen für Tool- und RTOS-Anbieter.
Das Unternehmen Keil und die ARM-Tools-Abteilung konzentrieren sich vor allem auf den Support von neuen ARM-Prozessoren und die Ausnutzung der CoreSight Debug-Technologie. Keil-Tools werden bereits in der Entwicklungs-Phase der ARM Cortex-M-Prozessoren benutzt. Hier ist eine interne Tool-Entwicklung der schnellere Weg, und die Erfahrung daraus wird auch für die Weiterentwicklung der Prozessoren benötigt.
Wenn von Software die Rede ist, dann ist sofort von "steigender Komplexität" die Rede. Diese Komplexität soll nur durch Anforderungsmanagement, Modellierung und automatisches Testen in den Griff zu bekommen sein. Der Quellcode wird automatisch generiert, und mit den "unwesentlichen" Details auf Quellcode-Ebene braucht man sich da nicht mehr zu beschäftigen. Stimmt das?
Alle genannten Bereiche werden aus meiner Sicht zunehmend an Bedeutung gewinnen. Anforderungsmanagement ist ein Muss, um komplexe Produkte mit umfangreicher Software zu erstellen. Das Problem ist in der Literatur ausführlich beschrieben, und es gibt zahlreiche Tools und Hilfsmittel, um Anforderungen strukturiert zu verwalten. Eine Integration in eine Compiler IDE oder Debug-Umgebung scheint hier aber nicht erforderlich zu sein.
Modellierung, vor allem auf Basis von UML, wird schon jahrelang erfolgreich eingesetzt. Allerdings ist vielfach die Code-Generierung noch nicht effizient genug, was zum Teil auch an fehlenden Interface- und Betriebsystem-Standards liegt. Ein weiteres Problem beim modell-basierenden Entwickeln ist das Debugging auf Modell-Ebene. Um diese Probleme zu lösen, kooperieren wir beispielsweise mit Willert Software Tools. Willert hat auf Basis von IBM Rhapsody eine UML-Lösung für ARM-Mikrocontroller erstellt.
Auch der automatische Software-Test wird immer wichtiger, nicht nur, wenn Software-Zertifizierungen anstrebt werden. In diesem Bereich haben wir eine Zusammenarbeit mit Parasoft. Mit Parasoft C/C++-Test und Keil ULINKpro wird die Trace-Funktionalität eines Cortex-Mikrocontrollers zur Test-Automatisierung verwendet. Auch das sind weitere Wachtstums-Märkte für ARM-Tool-Partner.