Gutachten zu:

  • Computerhardware
  • Mobiltelefone
  • Softwareprodukte
  • Elektronik
  • Verkehrsmesstechnik
  • Lkw Fahrtenschreiber
  • Lkw Mautgeräte
  • EDV
  • Sonstige Hardware


Kontakt:

Sachverständigenbüro Vogt
Hauptsitz
Frankfurter Straße 16a
D-84513 Töging am Inn
Tel.: +49 8631/3081-0

Bahnhofstr. 40
58507 Lüdenscheid
Tel.: +49 2351/5524451


Sachverständigenbüro Vogt
Gramartstrasse 11
A-6020 Innsbruck
Tel.: +43 512/312 200-10

Embedded Systeme

Auf der Basis einer über 30-jährigen Erfahrung in der Entwicklung von Hard- und Software erstellt das Sachverständigenbüro Vogt Gutachten in embedded Systemen, die als selbstständig arbeitende Minicomputer in den unterschiedlichsten Bereichen arbeiten

  • Grundsätzliche Eignung des Systems von Projektbeschreibung, Abnahme,  ...
  • Software - Die Überprüfung der Software hinsichtlich Funktion, Leistung, ...
  • Hardware - Gutachten zur Einhaltung der Umweltbedingungen, Ausführung, ...

Fluch und Segen von Embedded Systemen

Embedded Systeme sind ein sehr wichtiger Aspekt unserer heutigen Technologie und unterstützen uns in vielen Bereichen unseres Lebens. Sie sind die kleinen Computer, die dafür verantwortlich sind, dass alles reibungslos läuft. Embedded Systeme sind überall zu finden - von modernen Autos bis hin zu Kaffeemaschinen. Es gibt auch Luftfahrt- und medizinische Geräte, die eingebettete Systeme enthalten.

Embedded Systeme sind Mini-Computer, die speziell für eine bestimmte Aufgabe entwickelt wurden und mehrere Spezifikationen für Hardware und Software haben, was bedeutet, dass sie nur für eine bestimmte Anwendung geeignet sind. Sie brauchen keine lange Antwortzeit oder eine große Grafikleistung wie PCs oder Laptops. Stattdessen benötigen diese eingebetteten Systeme eher kurze Reaktionszeiten und andere Funktionen, um ihren Zweck zu erfüllen.

Ein weiteres Merkmal dieser eingebetteten Systeme ist ihre Größe; daher besitzen sie oft eine geringere CPU-Leistung als herkömmliche PCs oder Laptops. Dies macht es möglich, eingebettete Systeme in relativ kleiner Form in der Hardware zu integrieren und somit leichter in den Endgeräten Platz zu finden, ohne dass dabei deren Funktionseigenschaften massiv beeinträchtigt werden.

Es gibt jedoch auch Probleme mit den eingebetteten Systemen:

Da diese leicht gehackt werden können - insbesondere bei Maschinennetzwerken - steigt das Risiko von Cyberattacken auf verschiedenen Ebenen erheblich an. Zudem ist es schwer, alle Sicherheitslücken oder Unvollkommenheiten innerhalb des Systems zu identifizieren bzw. abzusichern sowie stets neue Patches oder Updates zu installieren, um einen angemessenen Schutz gegenzusteuern.  Des Weiteren verfügen manche Embedded Systems über unzureichenden Speicherplatz für größere Programme; so kann es vorkommen, dass Anwendungssoftware nicht mehr funktioniert, falls neue Anforderungen hinzukommen sollten usw..

Eine weitere Herausforderung liegt darin, die Parameter der Elektronikkomponenten immer im Blick zu behalten sowie deren Betriebsbedingung (Temperatur etc.) jederzeit zu kontrollieren, um Fehlern vorzubeugen bzw. Störungen zu minimieren bzw. zu eliminieren zu können. Nicht zuletzt sehen sich Firmen oft mit dem Problem konfrontiert, Datenschutzrichtlinien unter den aktuellsten Bedingungen umzusetzen bzw. auf dem Mark angebotene Produkte hierzu auch extern auditierbar zu machen, was teilweise letztlich doch recht hohe Investitionen bedingt.

Der Umgang mit Embedded Systemen birgt jedoch auch bestimmte Herausforderungen, da die Entwickler nicht nur das Betriebssystem des Computers anpassen müssen, sondern auch spezielle Hardware-Anforderungen erfüllt werden müssen, damit das System seine Funktion erfüllt. Zu diesem Zweck muss ein Softwareentwickler ein fundiertes Verständnis von Computerarchitekturen besitzen und in der Lage sein, Software für verschiedene Plattformen zu entwerfen und zu implementieren. Ein weiteres Problem beim Umgang mit solchen Systemen ist die Notwendigkeit, den Energiebedarf minimal zu halten; im Gegensatz zu herkömmlichen Computern haben Embedded-Systeme typischerweise begrenzte Kapazitäten beim Energiemanagement. Darüber hinaus gibt es oft nur begrenzte Ressourcen für Datenspeicherplatz und Arbeitsspeicher sowie Sicherheitsprobleme bei Netzwerken, die über drahtlose Kommunikation realisiert werden sollten.

Fazit

Alles in allem ist festzustellen, dass embedded systeme gerade in unserer heutigen technologisch hochentwickelten Welt unverzichtbar sind. Gerade bei hohen Stückzahlen von Systemen rächen sich jedoch Fehler, bei der Entwicklung gemacht worden sind. Zudem besitzen die meisten embedded Systeme nur begrenzte Möglichkeiten für eine effektive Fehlerdiagnose. Ein gutes Beispiel hierfür sind elektronische Steuergeräte in Fahrzeugen, die in einem vernetzten System gänzlich ohne Schnittstellen für eine effiziente Fehlersuche auskommen müssen.

 

Grundsätzliche Eignung

Embedded Systeme werden in vielen verschiedenen Bereichen eingesetzt, da sie leicht zu installieren und zu konfigurieren sind. Die grundsätzliche Eignung eines Embedded Systems hängt von den Anforderungen ab, die an das System gestellt werden. Bei der Auswahl des Systems müssen somit alle Anforderungen berücksichtigt werden. Zum Beispiel sollte ein System, das für den Außeneinsatz gedacht ist, wasserdicht sein und einen ausreichenden Temperaturbereich aufweisen. Ein solches System muss auch in der Lage sein, empfindliche elektronische Komponenten vor Staub oder anderen Umgebungseinflüssen zu schützen.

Eine weitere wichtige Komponente bei der Auswahl eines Embedded Systems ist die verfügbare Energiequelle sowie die benötigte Leistung, um das System zu betreiben. Da viele Embedded Systeme über keine externe Stromversorgung verfügen, muss ihre Stromversorgung intern erfolgen. Das bedeutet, dass Entwickler auch über alternative Energiequellen nachdenken müssen, wenn das Design des Systems dies erfordert. Darüber hinaus sollten Entwickler auch sicherstellen, dass die Leistung des Systems für alle Aufgaben ausreichend ist. Dazu gehört unter anderem zu prüfen, ob die im System vorhandene Rechenleistung für Prozesse wie Video- und Bildverarbeitung oder drahtlose Synchronisation ausreichend ist.

Auch bei der Speicherkapazität gibt es besondere Anforderungen an eingebettete Systeme. Insbesondere moderne Embedded Systeme bieten oft Flash-ROMs als Speicheroption an; dies stellt jedoch höhere Anforderungen an die Softwareentwicklung als beim Standard RAM-Speichertyp. Daher sollten Entwickler den Bedarf an Flash-Speicher und der Art des gespeicherten Inhalts berücksichtigen - beispielsweise kann komprimierter Code mehr Platz sparen als unkomprimierter Code - damit sie den am besten geeigneten Speichertyp für ihr Projekt finden können 

Darüber hinaus muss natürlich auch beachtet werden welche Schnittstellen und Protokolle benötigt werden um Datenaustausch zwischen dem Embedded System und anderen Geräten zu ermöglichen. Dabei kommt es nicht nur darauf an, ob Ethernet-, USB- oder RS232-Schnittstellen benötigt werden, sondern es muss gleichzeitig geprüft werden, welche spezifischen Protokolle unterstützt werden müssen (zum Beispiel MODBUS), um einen fehlerfreien Datenaustausch mit externen Geräten sicherzustellen.

Fazit

Insgesamt lässt sich festhalten, dass entscheidend für die grundsätzliche Eignung eines Embedded Systems Haltbarkeit/Umgebunasbedingungen sowie die Einhaltung der technischen Anforderungen (Prozessorleistung, Speicherkapaziät, Schnittstellen, Protokolle, usw.), die jeweils gestellt werden, erfüllt. Die Überprüfung der Einhaltung dieser Spezifikationen führt oftmals zu gerichtlichen Verfahren. Dabei geht es bisweilen auch um hohe Summen aufgrund der großen Stückzahlen der Systeme.

Wir konnten in einer Vielzahl von Fällen unsere Auftraggeber erfolgreich unterstützen, beraten und Gutachten erstellen. Wichtig hierbei ist unsere rechtzeitige Einbindung, damit bereits die zu klärenden Fragestellungen auch den Kern der Sache treffen. Leider führen rein "juristische" Versuche technische Zusammenhänge aus den Erzählungen Ihrer Mandanten formulieren zu wollen, nicht zu gewünschten Ziel. Das Sachverständigenbüro Vogt steht Ihnen mit Rat und Tat zur Seite.

Software

Software spielt eine entscheidende Rolle bei den bekannten Problemen in embedded Systemen. Es ist wichtig, dass die Software für jede spezifische Anwendung und Einsatzumgebung entwickelt wird, um zuverlässige Ergebnisse zu erzielen. Unabhängig davon, ob es sich bei dem System um eine Kaffeemaschine, ein Navigationssystem oder einen Fahrtenschreiber handelt, müssen die Softwarekomponenten für die jeweiligen Aufgaben ausgelegt sein. Wenn dies nicht der Fall ist, kann es zu Fehlern und unerwartetem Verhalten kommen.

Die Software hat einen direkten Einfluss auf die Funktionsfähigkeit des Embedded Systems und muss daher sorgfältig entwickelt und getestet werden. Beim Entwicklungsprozess sollte berücksichtigt werden, dass in eingebetteten Systemen der Speicherplatz immer begrenzt ist. Daher muss man die Funktionen so strukturieren, dass sie mit minimalem Code effizient ausgeführt werden können. C-Programme sind hierbei besonders gut geeignet, da sie den bestmöglichen Speichereffekt bieten und gleichzeitig hochgradig leistungsfähig bleiben.

Außerdem müssen Entwickler überprüfen, ob das System mit den äußeren Bedingungen konsistent arbeitet - insbesondere solchen wie Stromversorgung und Temperaturbedingungen in verschiedenen Umgebungstypen - sowie mit anderen Komponenten im System interagieren kann. Dazu gehören auch Ressourcenerkennungs-, Konfigurations- und Initialisierungsprozesse sowie Fehlerbehandlungsverfahren zur Verarbeitung von Ausnahmesituationen und Warnmeldungserzeugung mit angemessenen Schaltvorgängen.

Softwarefehler stehen an der Spitze der Liste der schwerwiegendsten Probleme in Embedded Systemen. Es gibt viele Faktoren (Hardware/Software-Kombination), die dazu beitragen können: Programmierfehler wie Logikfehler oder fehlende Integrationsmöglichkeiten; inkorrekte oder falsche Konfiguration; Unterschreitung von Leistungsanforderungen; mangelnde Abstraktionsschichten; schlechtes Design oder falsches Timing; unsachgemäße Speichernutzung; Schwankungen der Betriebstemperatur usw.

Aus diesem Grund ist es unabdingbar, Softwaretechniken anzuwenden, um solche Fehler zu minimieren bzw. zu eliminieren. Zum Beispiel sollte Software getestet, validiert und verifiziert werden sowie stets upgedatet werden, um neue Funktionalitäten hinzuzufügen oder fehlerhaften Code zu beheben.  Um dies zu gewährleisten, sollten regelmäßige Wartungsarbeiten vorgesehen sein. Zeitkritische Tests decken zudem Probleme bei entsprechender Überlastung auf. Auch modulare Programmiermethoden könnten helfen, Softwareprobleme effizienter zu lösen. Mithilfe dieses Ansatzes können Programme einfacher und modularer gestaltet werden, was mehr Testbarkeit bedeutet und somit Fehler (Bugs) verhindert werden und auch weitere Testmöglichkeiten beinhaltet.

Fazit

Letztendlich ist eine strukturierte Programmierung notwendig, damit embedded Systeme zukunftsweisend ausgelegt werden. Zukünftige Anwendungen sollen dabei nicht dazu führen, dass der Kunde gleich ein neues System anschaffen muss, nur weil sich das Schnittstellenprotokoll geändert hat. Ein wichtiger und zunehmend größer werdender Schwerpunkt liegt in der Datensicherheit der Systeme. Im Bereich der Hausautomatisierung lassen sich zum Beispiel für Einbrecher teilweise wichtige Informationen aus den Programmierungen für die Tür- und Fenstersteuerungen gewinnen. Wird dann die Automation auch zusätzlich durch frei zugängliche Server im Ausland erledigt, werden Einbrechern im wahrsten Sinne des Wortes Tür und Tor geöffnet.

Das Sachverständigenbüro Vogt erstellt Gutachten zu embedded Systemen und kann so die Eignung der Systeme für den gedachten Einsatzzweck überwachen.

 

Hardware

Embedded Systeme erfordern eine hochgradig spezialisierte Hardware, um die Anforderungen verschiedener Anwendungen zu erfüllen. Diese Systeme werden immer komplexer und müssen den technologischen Fortschritten Rechnung tragen. Daher ist es wichtig, dass die Hardware für diese Systeme sorgfältig ausgewählt und entwickelt wird.

Es ist bekannt, dass Hardwareprobleme in den meisten eingebetteten Systemen vorhanden sind. Dies liegt daran, dass einige Komponenten nicht für die Bedingungen geeignet sind, unter denen das Gerät betrieben wird. Ein Beispiel hierfür sind Komponenten auf Leiterplatinen oder elektronische Bauteile, die nicht wasserdicht sind und daher beim Einsatz im Freien fehlgeschlagen sein können.

Eines der größten Probleme besteht darin, dass es schwieriger ist, Fehler in der Hardware zu identifizieren als Fehler in der Software. Wenn beispielsweise eine Komponente defekt ist oder nicht richtig funktioniert, muss der Techniker physisch zu ihr gelangen und herausfinden, wo genau das Problem liegt. Der Techniker muss herausfinden, ob ein Gerät defekt ist oder ob ein grundsätzliches mit der Hardware/Software verbundenes Problem vorliegt 

Darüber hinaus hat die Auswahl von Komponenten direkten Einfluss auf die Performance des Systems und somit auf seine Funktionsweise insgesamt. Je höher die Qualitätsstufe des verwendeten Materials und je leistungsfähiger die integrierten Chipsets sind, desto besser wirkt sich dies auf die Gesamtleistung des Systems aus. Deshalb sollte man sich vor dem Kauf Gedanken machen, welche Komponenten benötigt werden, um die gewünschten Ergebnisse zu erzielen.

Ebenso kann eine falsche Auswahl an Komponenten zu Problemen mit dem Betriebssystem und der Anwendungssoftware führen. Hierbei sollten konfigurierbare Parameter berücksichtigt werden, damit keine unvorhersehbaren Probleme auftreten können. Sollte man aber doch feststellen, dass eine neue Hardware-Komponente benötigt wird, muss man prüfen, ob es Änderungen am Design gibt. Sind die Voraussetzungen bei der Entwicklung schlecht gewählt, kann dies bedeuten, dass keine Reparatur und/oder Update/Upgrade mehr möglich ist, und nur der Ersatz des gesamten Systems als "Lösung" bleibt. Dann treten mit neuen Systemen weitere Probleme dadurch auf, dass womöglich Leistungsmerkmale mit den aktuellen Systemen nicht mehr realisiert werden können. Ändern sich zum Beispiel Schnittstellengeschwindigkeiten können hieraus schnell Probleme erwachsen, die einen Totalausfall des Systems zur Folge haben.

Fazit

Um festzustellen, welche Bedeutung die Hardware für embedded Systeme hat, muss man alle Risiken berücksichtigen und herauszufinden, welche Art von Hardware benötigt wird, damit alles optimal läuft. Zudem sollte man stets prüfen, ob bestimmte Prozesse ihre Leistung optimal erbringen und Fehlverhalten sowie Abstürze vermindert werden. Die Verantwortung hierfür liegt letztlich beim Entwickler. Es geht also nicht nur um die Auswahl der Hardware, sondern auch damit, wie genau diese implementiert wird. Das Sachverständigenbüro Vogt begleitet Sie während des gesamten Entwicklungsprozesses, oder aber erstellt Gutachten, um Fehler in Systemen zu detektieren und geeignete Lösungswege aufzuzeigen.