Die embedded Software Entwicklung basiert neben den allgemeinen auch auf
speziellen Prinzipien, Methoden und Werkzeugen. Hier ist es notwendig
die Anforderungen an das zu entwickelnde System und die Software im speziellen
zu berücksichtigen. Hieraus ergeben sich eine Architektur und ein
Entwurf der Software, welche zugeschnitten auf die Aufgabenstellungen
des Systems sind.
Die seneos setzt bei der Analyse, je nach Anwendungsfall, auf einen strukturierten
bzw. objektorientierten Ansatz. Dabei werden die nicht-funktionalen Eigenschaften
wie Modifizierbarkeit, Wartbarkeit, Sicherheit und Performance berücksichtigt.
Da die Änderung der Architektur nur mit erheblichem Aufwand im späteren
Verlauf des Projektes verbunden ist, arbeitet an diesem kritischen Prozess
ein erfahrenes Team von Architekten.
Um den Entwurf der Software zu beschreiben hat sich die Modellierungssprache
UML bewährt. Somit können die verschiedenen Anwendungsfälle,
das Verhalten sowie die Informationsflüsse und Interaktionen der
Software einheitlich dargestellt werden.
Neben den seneos intern verfügbaren Werkzeugen zur Beschreibung und
letztendlich der Realisierung der Software, sind eine Vielzahl von Methoden
ein wesentlicher Baustein zur Entwicklung der Software. Mit dem breiten
und tiefen Erfahrungsschatz – gestärkt durch das interne Wissensmanagement
– ist seneos in der Lage die spezifischen Anforderungen ihrer Kunden
optimal umzusetzen.
Jede Branche besitzt ihre eigene Problemstellung basierend auf den unterschiedlichsten
Anwendungsfällen. Ihre Systeme setzen sich meist aus einem Netzwerkwerk
einzelner Systemkomponenten zusammen. Dabei werden diese über verschiedene
Verbindungen verknüpft. Dies reicht von der RS232 und I2C Anbindung
über Feldbusse, wie bspw. CAN, Profibus oder auch Modbus bis hin
zu speziellen Anbindungen aus dem Automobilbereich wie LIN, MOST oder
K-Line oder auch der MVB aus der Bahntechnik. Mit den zugehörigen
Protokollen zur Verteilung von Informationen ist seneos ebenfalls vertraut.
Das Angebot der seneos für die Software
Entwicklung:
Eine Software-Komponente, die eine Maschine während der Initialisierungsphase steuert, wurde in eine Software-Bibliothek integriert, sodass sie für verschiedene Maschinen wiederverwendet werden kann. Gemeinsam mit dem Kunden wurden die Anforderungen besprochen und festgelegt. Es wurde eine Testspezifikation und eine Library Dokumentation erstellt und die Software wurde implementiert, getestet und integriert. Es wurde ein durchgängiger objektorientierter Ansatz gewählt (OOA, OOD, OOP). Die Entwicklungsumgebung bestand aus Windows NT 4.0, Linux, Rational Rose '98, Microsoft Visual C++ 5.0, GNU-Tools, Lauterbach Emulator Trace32 sowie CVS.