Embedded Software Engineering Report · 2013. 5. 21. ·...

16
Inhalt: www.ese-report.de Detaillierte Forschungsergebnisse CEO-Interview: Wie sicher sind Embedded-Systeme vor Hackern? 249822 Software-Sicherheit Forscher hacken Schrittmacher Die Möglichkeit von Hackerangriffen auf Herz- schrittmacher haben Experten für Computersi- cherheit der University of Massachusetts Am- herst und der University of Washington aufge- zeigt: In einem Laborexperiment griffen sie über eine drahtlose Verbindung auf einen im- plantierbaren Kardioverter-Defibrillator zu. Neben potenziell tödlichen Manipulationen des Geräts war auch der Diebstahl von Patienten- daten möglich. Für die Untersuchungen zu Si- cherheits- und Datenschutzaspekten verwendeten die Forscher ein Gerät vom Typ „Maximo“ von Medtronic. Dieses sei ein typisches Beispiel für derzeit gängige Geräte. Sie werden alleine in den USA von hunderttau- senden Patienten bis hin zu Vizeprä- sident Dick Cheney genutzt. Stromstöße ausgelöst und Patientendaten ausgelesen Der Ausstoß von für Patienten fatalen Stromstößen war die spektakulärste Manipulation, die den For- schern in ihren Versuchen gelang. Ferner konnten sie auch vom Implantat drahtlos übermittelte Pati- entendaten abfangen. Diese seien unverschlüsselt übertragen worden. Das Problem fehlender Krypto- grafie werde durch fehlende einheitliche Standards für Datenübermittlung im medizinischen Bereich und die Frage der Entfernung aber relativiert, heißt es von Medtronic Deutschland. Implantierbare medizinische Geräte haben in der Regel keine starken Sender, die für die Datenüber- mittlung auf große Entfernungen geeignet wären. „Die Sendeleistung ist für den unmittelbaren Nah- bereich ausreichend“, meint Andreas Bohne, Leiter Presse- und Öffentlichkeitsarbeit Metronic Deutschland. In vielen Fällen müsse der Empfänger praktisch direkt an die Haut gehalten werden. „Es ist schwerlich vorstellbar, dass es zu einer Manipu- lation kommt“, so Bohne. Auch die US-Forscher geben an, dass sich ihre Ver- suchsausrüstung in unmittelbarer Nähe des Maxi- mo befand. „Die Risiken für Patienten sind derzeit gering, aber ich mache mir Sorgen, dass sie anstei- gen könnten“, meinte Tadayoshi Kohno, Forscher der University of Washington. Die Fragen der Sicherheit und des Datenschutzes fänden bei solchen Geräten zu wenig Beachtung, so die Forscher. Sie haben drei Ansätze vorgeschlagen, wie die Sicherheit verbessert werden könnte. Einer da- von ist eine Warnung vor Kommuni- kationsversuchen, die beiden anderen umfassen Kryptografieaspekte. Die offizielle Publikation der Forschungsergebnisse ist anlässlich des 2008 IEEE Symposium on Security and Privacy im Mai ge- plant. Das Forschungspapier wurde aber bereits veröffentlicht. Eine Verwendung für Attacken sei auszuschließen. „Wir haben spezifisch und absicht- lich methodische Details aus unserem Paper weg- gelassen“, heißt es auf der Webseite. Embedded Software Engineering Report Studie Outsourcing S. 2 | Kurz notiert S. 2 | So funktioniert IBMs Teamsoftware Jazz S. 4 | Mask, Swift-R, Trump — drei Methoden zum Schutz vor Soft Errors S. 6 | Das bringt das Windows XP Embedded Feature Pack 2007 S. 9 | Softwaretest: Fehler vermeiden mit Reviews und Inspektionen S. 11 | Impressum S. 12 | Gewinnspiel S.13 | Produktinformationen S.13 und 14 | Projektcoaching: Projektkrisen und der Untergang der Titanic S. 15 Liebe Leser, in knapp neun Monaten ist es soweit: In Sindelfingen findet mit dem ESE Kongress 2008 die erste deutschspra- chige Veranstaltung statt, die sich ge- zielt mit den Herausforderungen des Embedded Software Engineering be- schäftigt. Zahlreiche Gespräche mit Fachleuten aus der Branche haben uns bestätigt: Diese Veranstaltung ist längst überfällig. Embedded-Software bringt zahlreiche Innovationen hervor, leider aber auch viele Probleme. Mit dem ESE Kongress ergänzen wir unser Angebot an Print- und Online- medien um eine weitere Kommunikati- onsplattform für die Elektronikbranche. Denn was ist wertvoller, als sich gele- gentlich zum persönlichen Austausch zu treffen? Mit der Firma MicroConsult als Veramstaltungspartner und der FH Nordhausen als akademische Kompe- tenz haben wir zwei hervorragende Partner im Boot. Über das Kongresspro- gramm informieren wir Sie ab Sommer 2008. Wenn Sie über die Veranstaltung auf dem laufenden bleiben wollen, können Sie sich aber bereits jetzt unter der Adresse www.ese-kongress.de für unseren Aktuellservice registrieren. Martina Hafner, Redakteurin Im Experiment gehackt: implantierbarer Kardioverter- Defibrillator von Medtronic (Foto: Medtronic) Der Infodienst für Embedded-Software-Entwickler Sponsor dieser Ausgabe: www.ese-report.de Ausgabe April 2008 – 3. Jahrgang

Transcript of Embedded Software Engineering Report · 2013. 5. 21. ·...

Page 1: Embedded Software Engineering Report · 2013. 5. 21. · DerInfodienstfürEmbedded-Software-Entwickler SponsordieserAusgabe: AusgabeApril2008–3.Jahrgang. 2 StudieSoftware-Outsourcing

Inhalt:

www.ese-report.de

■ Detaillierte Forschungsergebnisse

■ CEO-Interview: Wie sicher sindEmbedded-Systeme vor Hackern?

249822

Software-Sicherheit

Forscher hacken SchrittmacherDie Möglichkeit von Hackerangriffen auf Herz-schrittmacher haben Experten für Computersi-cherheit der University of Massachusetts Am-herst und der University of Washington aufge-zeigt: In einem Laborexperiment griffen sieüber eine drahtlose Verbindung auf einen im-plantierbaren Kardioverter-Defibrillator zu.

Neben potenziell tödlichen Manipulationen desGeräts war auch der Diebstahl von Patienten-daten möglich. Für die Untersuchungen zu Si-cherheits- und Datenschutzaspektenverwendeten die Forscher ein Gerätvom Typ „Maximo“ von Medtronic.Dieses sei ein typisches Beispiel fürderzeit gängige Geräte. Sie werdenalleine in den USA von hunderttau-senden Patienten bis hin zu Vizeprä-sident Dick Cheney genutzt.

Stromstöße ausgelöst undPatientendaten ausgelesenDer Ausstoß von für Patienten fatalen Stromstößenwar die spektakulärste Manipulation, die den For-schern in ihren Versuchen gelang. Ferner konntensie auch vom Implantat drahtlos übermittelte Pati-entendaten abfangen. Diese seien unverschlüsseltübertragen worden. Das Problem fehlender Krypto-grafie werde durch fehlende einheitliche Standardsfür Datenübermittlung im medizinischen Bereichund die Frage der Entfernung aber relativiert, heißtes von Medtronic Deutschland.Implantierbare medizinische Geräte haben in derRegel keine starken Sender, die für die Datenüber-mittlung auf große Entfernungen geeignet wären.„Die Sendeleistung ist für den unmittelbaren Nah-bereich ausreichend“, meint Andreas Bohne, LeiterPresse- und Öffentlichkeitsarbeit Metronic

Deutschland. In vielen Fällen müsse der Empfängerpraktisch direkt an die Haut gehalten werden. „Esist schwerlich vorstellbar, dass es zu einer Manipu-lation kommt“, so Bohne.Auch die US-Forscher geben an, dass sich ihre Ver-suchsausrüstung in unmittelbarer Nähe des Maxi-mo befand. „Die Risiken für Patienten sind derzeitgering, aber ich mache mir Sorgen, dass sie anstei-

gen könnten“, meinte Tadayoshi Kohno,Forscher der University of Washington.Die Fragen der Sicherheit und desDatenschutzes fänden bei solchenGeräten zu wenig Beachtung, so dieForscher. Sie haben drei Ansätzevorgeschlagen, wie die Sicherheitverbessert werden könnte. Einer da-von ist eine Warnung vor Kommuni-

kationsversuchen, die beiden anderen umfassenKryptografieaspekte. Die offizielle Publikation derForschungsergebnisse ist anlässlich des 2008 IEEESymposium on Security and Privacy im Mai ge-plant. Das Forschungspapier wurde aber bereitsveröffentlicht. Eine Verwendung für Attacken seiauszuschließen. „Wir haben spezifisch und absicht-lich methodische Details aus unserem Paper weg-gelassen“, heißt es auf der Webseite.

Embedded SoftwareEngineering Report

Studie Outsourcing S. 2 | Kurz notiert S. 2 | So funktioniert IBMs Teamsoftware Jazz S. 4 | Mask, Swift-R, Trump — drei Methoden zum Schutz vorSoft Errors S. 6 | Das bringt das Windows XP Embedded Feature Pack 2007 S. 9 | Softwaretest: Fehler vermeiden mit Reviews und Inspektionen S. 11 |Impressum S. 12 | Gewinnspiel S.13 | Produktinformationen S.13 und 14 | Projektcoaching: Projektkrisen und der Untergang der Titanic S. 15

Liebe Leser,

in knapp neun Monaten ist es soweit:In Sindelfingen findet mit dem ESEKongress 2008 die erste deutschspra-chige Veranstaltung statt, die sich ge-zielt mit den Herausforderungen desEmbedded Software Engineering be-schäftigt. Zahlreiche Gespräche mitFachleuten aus der Branche haben unsbestätigt: Diese Veranstaltung ist längstüberfällig. Embedded-Software bringtzahlreiche Innovationen hervor, leideraber auch viele Probleme.Mit dem ESE Kongress ergänzen wirunser Angebot an Print- und Online-

medien um eine weitere Kommunikati-onsplattform für die Elektronikbranche.Denn was ist wertvoller, als sich gele-gentlich zum persönlichen Austauschzu treffen? Mit der Firma MicroConsultals Veramstaltungspartner und der FHNordhausen als akademische Kompe-tenz haben wir zwei hervorragendePartner im Boot. Über das Kongresspro-gramm informieren wir Sie ab Sommer2008. Wenn Sie über die Veranstaltungauf dem laufenden bleiben wollen,können Sie sich aber bereits jetzt unterder Adresse www.ese-kongress.de fürunseren Aktuellservice registrieren.

Martina Hafner, Redakteurin

Im Experiment gehackt:implantierbarer Kardioverter-

Defibrillator von Medtronic(Foto: Medtronic)

Der Infodienst für Embedded-Software-Entwickler Sponsor dieser Ausgabe:www.ese-report.de Ausgabe April 2008 – 3. Jahrgang

Page 2: Embedded Software Engineering Report · 2013. 5. 21. · DerInfodienstfürEmbedded-Software-Entwickler SponsordieserAusgabe: AusgabeApril2008–3.Jahrgang. 2 StudieSoftware-Outsourcing

2

Studie Software-Outsourcing

Gute Noten für Deutschland Kurz notiertDie Eclipse Foundation hat auf derim März in USA statt gefundenenEclipseCon 2008Wind Rivers Ent-wicklungsumgebung als „Besteskommerzielles Entwicklungstool aufEclipse-Basis“ ausgezeichnet. Grundfür die Auszeichnung seien die An-wendungsfreundlichkeit der Lö-sung, ihr Tool-Spektrum und ihreBezugnahme auf die Problemfelderbei der Entwicklung von Geräte-Software. Insgesamt wählte die Ju-ry, die aus Mitgliedern der EclipseCommunity bestand, die Wind RiverWorkbench aus 55 teilnehmendenLösungen aus.

Der Toolspezialist Hitex Develop-ment Tools wurde von Linux-Spe-zialistMontaVista Software zumDistributor für Deutschland, Öster-reich und Schweiz ernannt.

Der EDA-Software- und Servicean-bieter Synopsys übernimmt seinenRivalen, den Halbleiter-IP- undSoftwareanbieter Synplicity, für ca.227 Mio. US-$ und erweitert somitsein Angebot für die Märkte Kom-munikation, Luft-/Raumfahrt undConsumer-Elektronik. Neben Syn-plicitys Angebot für das FPGA-De-sign erhält Synopsys durch die Ak-tienübernahme nun auch ein diffe-renziertes Portfolio von Rapid-Pro-totyping-Lösungen, mit dem sichdas Virtual-Prototyping-Geschäftvervollständigen lassen soll.

Das von der finnischen Trolltechentwickelte plattformübergreifendeFramework Qt unterstützt ab sofortauchMicrosofts BetriebssystemWindows CE.

Telelogic (seit April 2008 offiziellIBM zugehörig) und InterLab ha-ben im Februar auf einer Elektronik-messe in Nürnberg einen durchgän-gigen Prozess für die Verifikationund Validierung von Anforderungenvorgestellt. Die integriertenWerkzeuge der beiden Hersteller In-terLab Software-System, TelelogicDOORS und Telelogic Tester sollenden durchgängigen Nachweisder Konformität von der Anforde-rung bis zur Auswertung der Tester-gebnisse ermöglichen. Abgedecktwerden die Bereiche Anforderungs-management, Verifikation undValidierung sowie Entwicklung derTestsequenzen und Testdurchfüh-rung.

www.ese-report.de

■ Zur Homepage des Instituts IMWF

245552

Embedded Software Engineering Report Aktuelles

Bei der Umsetzung von Softwareprojektengenießen deutsche IT-Dienstleister starkes Ver-trauen in der heimischen Wirtschaft. Rund 34%der deutschen Auftraggeber schreiben der Soft-ware Made in Germany über alle Projektphasenhinweg die größte Kompetenz zu. Im internatio-nalen Vergleich rangieren die deutschen Anbie-ter damit vor den US-Herstellern und indischenSoftwareschmieden auf Platz eins.

US-Anbieter werden von 22% der deutschen Auf-traggeber bevorzugt. Indische Softwarehäuser fa-vorisieren nur 5%. Mit Blick auf die einzelnen Ent-wicklungsschritte bewiesen deutsche Entwicklervor allem in der Realisierungsphase von Projektengroße Expertise, heißt es in der Studie. Dazu zähltbeispielsweise die Auswahl bedarfsgerechter Tech-nologien und die darauf aufbauende Programmie-rung von Basiskomponenten.Stark im internationalen Wettbewerb sind diedeutschen Teams laut den Befragten aber auch inden späteren Testläufen und der abschließendenIntegration der Systeme. Dies sind die Ergebnisseder „Studie Software – Made in Germany 2007“ derPPI AG in Zusammenarbeit mit dem IMWF Institutfür Management- und Wirtschaftsforschung.

Hohe Dienstleistungsqualität inden UmsetzungsphasenIn den Umsetzungsphasen Realisierung, Test undIntegration sehen durchschnittlich 36% der Auf-traggeber die größten Kompetenzen bei deutschenDienstleistern. Nur durchschnittlich 18% halten dieUS-Branche in diesen Projektabschnitten für kom-petenter.Enger als in den Umsetzungsphasen schließen dieUS-Dienstleister in den strategisch vorgeschaltetenProjektphasen auf: In Bezug auf Vorstudien, Fach-

konzeptionen und IT-Architekturen halten nur 7%der heimischen Abnehmer die deutschen Software-anbieter für kompetenter als die Zulieferer aus denUSA.Die projekteinleitenden Vorstudien der amerika-nischen Softwarehäuser bewerten die befragten IT-Verantwortlichen hingegen als qualitativ fast sogut wie die Studien der deutschen Spezialisten. Indieser Phase werden vor allem die grundlegendenZiele und die Machbarkeit des IT-Projekts geprüftund festgelegt.

Deutschland und USA liefernvergleichbar gute BasissystemeIn der zweiten Projektphase, der Fachkonzeption,beträgt der Unterschied trotz sprachlicher Hürdenund der geographischen Distanz zum Kunden nur15%. Das Fachkonzept beschreibt beispielsweisedie aus Anwendersicht erforderlichen Funktionali-täten der Programme, es legt deren Grundregelnfest und definiert das technische wie betriebswirt-schaftliche Systemprofil.Ein wirkliches Kopf-an-Kopf-Rennen liefern sichdie Anbieter aus den Vereinigten Staaten mit derdeutschen Konkurrenz beim Entwurf der zugrun-deliegenden IT-Architektur. Beide Softwarenati-onen bauen nach Einschätzung der deutschen Ab-nehmer vergleichbar gute Basissysteme.Eine merklich bessere Dienstleistungsqualität lie-fern die deutschen IT-Anbieter allerdings wieder inden drei Umsetzungsphasen, die auf diesen Archi-tekturen aufbauen.

Page 3: Embedded Software Engineering Report · 2013. 5. 21. · DerInfodienstfürEmbedded-Software-Entwickler SponsordieserAusgabe: AusgabeApril2008–3.Jahrgang. 2 StudieSoftware-Outsourcing
Page 4: Embedded Software Engineering Report · 2013. 5. 21. · DerInfodienstfürEmbedded-Software-Entwickler SponsordieserAusgabe: AusgabeApril2008–3.Jahrgang. 2 StudieSoftware-Outsourcing

4

Softwareprojekt-Management

IBMs Team-Plattform Jazz im PraxistestFür ihre tägliche Arbeit in Softwareprojekten benötigen Entwicklerzahlreiche Werkzeuge. Der häufige Wechsel zwischen diesen Werk-zeugen senkt dabei die Produktivität und erschwert die Traceability,mit der zusammengehörige Artefakte in den unterschiedlichen Toolsverknüpft werden können. Die Jazz Technology Platform von IBM in-tegriert Werkzeuge unter dem Dach der Eclipse-Entwicklungsumge-bung und ermöglicht es, alltägliche Aufgaben effizienter und konsis-tenter durchzuführen.

Die Kollaborationsplattform eignet sich durch ihre Flexibilität bei derProzessbeschreibung sehr gut für agile Prozesse. Somit können auch BestPractices, welche sich in einem Team schon mehrfach bewährt haben, mitin den Prozess einfließen. Ein Beispiel hierfür wäre, dass ein Entwicklerseinen Code nicht in den Hauptentwicklungsstrang einchecken darf, be-vor dieser anhand eines definierten Programmierstils überprüft ist, Code-dokumentation an Klassen und Methoden vorhanden ist und eine sta-tische Fehleranalyse durchgeführt wurde.Wurde ein Prozess definiert, kann dieser für ein oder mehrere Projekteverwendet werden. Dem Anwender bleibt es überlassen, ob er den Pro-zess für das komplette Projekt oder lediglich für einzelne Projektphasenverwendet. Die Prozessdefinition ist innerhalb eines Projektes frei konfi-gurierbar. Dadurch können selbst einzelne Teams in einer Entwicklungs-phase mit unterschiedlichen Prozessregeln agieren.In Jazz wird ein Projekt durch die Project Area repräsentiert. Diese gra-fische Darstellung des Projekts spielt eine zentrale Rolle. Die Anwender

Bild 1:Jazz Eclipse Client – Hier ist ein Work Item mit der Kategorie„Defect“ zu erkennen sowie diverse weitere Jazz-Views.

Bild 2:Work Items Ansicht im WebUI. Über das WebUI können die WorkItems bearbeitet oder neue Work Items erstellt werden.

Embedded Software Engineering Report Fachwissen

Markus Kopf und Johannes Tysiak*

Wird in einer Software ein Fehler entdeckt, wird dieser in der Regel in einBug Tracking System (BTS) eingetragen. Der zuständige Entwickler wirdper E-Mail benachrichtigt, woraufhin er das BTS öffnen muss, um anweitere Informationen zu gelangen. Anschließend muss er seine Entwick-lungsumgebung starten, um den fehlerhaften Code zu finden. Nach derKorrektur sollte er idealerweise diesen Code aus dem BTS referenzieren. Ineinem wiederum weiteren Werkzeug sollte anschließend ein Integrations-test durchgeführt werden, um den neuen Code im Zusammenspiel mitanderen Komponenten überprüfen zu können.Das häufige Springen zwischen diesen verschiedenen Tools nimmt vielZeit in Anspruch. Bei vielen Werkzeugen ist es zudem schwierig, Traceabi-lity-Links zu Artefakten in anderen Tools zu erzeugen, weswegen in die-sem Umfeld häufig selbst entwickelte, an die verwendete Toolkette ange-passte Konzepte verwendet werden. Auf der Suche nach einer Lösung zudiesen und weiteren Problemen begann IBM vor ungefähr 3 Jahren mitder Entwicklung einer neuen Kollaborationsplattform namens Jazz Tech-nology Platform. Diese Plattform ermöglicht es Beteiligten in Software-projekten, alltägliche Aufgaben effizienter und konsistenter durchzufüh-ren.Die Jazz Technology Platform besteht derzeit aus dem Jazz Team Serverund dem dazugehörigen Jazz Eclipse Client (Bild 1). Diese Komponentenwerden mit dem Rational Team Concert von IBM auf Basis der Technolo-gy Platform ausgeliefert. Der Team Server stellt das Grundgerüst für ver-schiedene Clients zur Verfügung und bildet somit das zentrale Element.Der Jazz Eclipse Client ermöglicht den Zugriff auf die Technologieplatt-form und besteht aus einer erweiterten Eclipse IDE. Zusammen mit demRational Team Concert Client bündelt der Jazz Team Server Funktionenfür das Bug Tracking, Konfigurationsmanagement, Projektmanagementund Continuous Integration in einer Plattform und bietet somit einekomfortable Arbeitsumgebung.

Jazz Technology Platform erlaubt Freiheitbei der Wahl des ProzessmodellsEin Projekt in der Softwareentwicklung unterliegt zumeist einem Prozess,der die Abläufe der einzelnen Entwicklungsschritte definiert und lenkt.Die Jazz Technology Platform unterstützt den Anwender dabei, einen sol-chen Prozess zu definieren und einzuhalten, schreibt aber dennoch kei-nen Prozess explizit vor.Der Anwender hat über eine spezielle Process-Specification-Sicht dieMöglichkeit, Prozesse selbst zu definieren. Allerdings können auch vorge-fertigte Prozesse, wie z.B. der Eclipse Development Process, mit demEclipse selbst entwickelt wird, verwendet werden.

*Johannes Tysiak ist Soft-wareentwickler bei itemis.Er ist spezialisiert auf Re-quirements Engineering,modellgetriebene Soft-wareentwicklung sowieInfrastruktur-Manage-ment.

*Markus Kopf ist Soft-wareentwickler beiitemis. Er ist speziali-siert auf modellgetrie-bene Softwareentwick-lung, J2EE sowieEclipse-Technologien.

Page 5: Embedded Software Engineering Report · 2013. 5. 21. · DerInfodienstfürEmbedded-Software-Entwickler SponsordieserAusgabe: AusgabeApril2008–3.Jahrgang. 2 StudieSoftware-Outsourcing

5

können sich über diese Ansicht einen Überblick über das Projekt, die Pro-jektmitglieder und die Projektplanung verschaffen. Hier besteht zudemdie Möglichkeit, den Prozess projektweit anzupassen.Weil Jazz selbst auf Basis eines agilen Prozesses entwickelt wurde undwird, findet sich das Team in der Jazz Technology Platform als zentralesElement wieder. Für jedes Aufgabengebiet kann ein eigenes Team ange-legt werden. Hierzu existiert eine Team Area, in der die Gruppierung derTeams definiert werden kann. Daneben können zu jedem Team weiterewichtige Informationen hinterlegt werden. Diese Informationen beinhal-ten eine kurze Übersicht und Beschreibung über das Team, Prozessrollender einzelnen Teammitglieder, sowie die von dem Team erstellten Arte-fakte. In der Übersicht der Teamartefakte ist auch die teamspezifischeProjektplanung enthalten.

Work Item fasst alle wichtigen Daten für eineAufgabe zusammenDas kleinste Element in der Projektplanung ist ein Work Item. Es beinhal-tet eine konkrete Aufgabe, Erweiterung oder einen Fehler. Das Work Itemist auch die Grundlage für sämtliche gröbere Planungsebenen: ein Planbesteht aus seinen Work Items. Dies hat den Vorteil, dass eine Änderungeines Work Items die Änderung des Plans nach sich zieht. Somit ist diePräsentation der Planung immer aktuell und konsistent.Ein Work Item fasst alle wichtige Daten für die jeweilige Aufgabe zusam-men, damit sich ein Anwender auf intuitive Weise einen Überblick ver-schaffen kann. Unter diesen wichtigen Daten befindet sich sowohl dieArt des Work Items, welche über den Prozess definiert werden kann (Task,Erweiterung, Bug…), seine Priorität, der geschätzte Aufwand für die Be-arbeitung und die Zugehörigkeit zur gröberen Planungsphase (Bild 2).Daneben ist eine fortlaufende Diskussion zum Work Item enthalten.Mit einem Work Item können Code-Basen oder auch Dokumente verlinktwerden. Wird zum Beispiel ein Stück Code in den Hauptentwicklungs-strang eingecheckt und dies mit einem Work Item verbunden, so entstehtzwischen dem Stück Code und dem Work Item ein Link. Wenn ein Ent-wickler sich das Work Item anschaut, kann er direkt zu dem Code gelan-gen, der mit diesem Work Item eingecheckt wurde. Mit diesen Mechanis-men wird eine durchgängige Traceability erreicht.Bei den von Jazz mitgelieferten Prozessen untergliedert sich die Planungin Entwicklungsstränge und darin enthaltene Iterationen. Zurzeit stehendie folgenden zwei Prozesse zur Verfügung:Eclipse Way Process: ein agiler, iterationsbasierter Prozess, der den Fo-

kus auf Konsistenz und regelmäßige Auslieferung von qualitativ hoch-wertiger Software legt; wird vom Eclipse-Entwicklungsteam verwendet.

OpenUp Process: Der OpenUp Process ist einer der Prozesse, die mittelsdes Eclipse Process Framework Projekts (EPF) erstellt wurden. Er dient alsBeispiel für die Integration bestehender Prozesse in die Jazz TechnologyPlatform. Mehr Details hierzu unter [1].Dem Anwender ist es jedoch möglich, eigene Prozessregeln zu spezifizie-ren und somit den gewählten Prozess anzupassen oder zu erweitern.

Wertvolle Einblicke für Projektverantwortlichebei Work Items und Project HealthNeben dem Jazz Eclipse Client existiert auch die Möglichkeit, über eineWeboberfläche auf Projekte zuzugreifen. Das WebUI bietet eine komfor-table Umgebung, um einen Überblick über ein Projekt zu erhalten. DieseOption bietet sich vor allem für Projektmanager an, die über Work Items,Project Health, Projektreports und diverse andere Punkte informiert seinmüssen. Das WebUI bietet zugriff auf die Bereiche Iteration Plan, BrowseRepository, Browse und Edit Work Items und Reports. Zudem kann ein in-dividuelles Dashboard (siehe Bild 3) konfiguriert werden, damit dem je-weiligen Benutzer nur die Informationen angezeigt werden, die für ihnrelevant sind und er somit nicht von der alltäglichen Flut an Informationin Projekten überschüttet wird. Einblicke in die wichtigsten Informati-onen lassen sich textuell und grafisch darstellen. Durch die Grafiken wirdes zum Beispiel leicht ersichtlich ob ein Projekt im Verzug ist oder einzel-ne Teammitglieder überlastet sind, während andere Teammitglieder viel-

leicht noch Ressourcen frei haben. Mit diesen Mechanismen bekommt einProjekt eine Transparenz, die es den Projektverantwortlichen erleichtert,den Überblick zu bewahren.Jazz Team Server und Rational Team Concert Client sind zurzeit noch freizugänglich, sofern man sich auf der Jazz Webseite registriert. Laut Aussa-gen von IBM wird die erste Auslieferung des Rational Team Concert Cli-ents Mitte 2008 erfolgen. Voraussichtlich wird für den akademischen Be-reich und im Rahmen der Entwicklung von Open-Source-Produkten dieNutzung der Plattform sowie des Clients kostenfrei sein. IBM plant zu-dem die Anbindung weiterer Produkte aus ihrem Portfolio an die JazzTechnology Platform. Mit der Entwicklung der Jazz Technology Platformhat IBM den ersten Schritt zur vollständigen Integration sämtlicher Tä-tigkeiten während der Softwareentwicklung gemacht. Mit der Anbindungweiterer IBM-Produkte an Jazz werden weitere Aspekte der Softwareent-wicklung wie das Requirements Engineering aufgenommen. Es wärewünschenswert wenn IBM es auch anderen Hersteller ermöglichen wür-de, ihre Software über Schnittstellen an die Plattform anzubinden. (mh)

Bild 3:Das Dashboard kann über das WebUI geöffnet werden und istkonfigurierbar, somit werden nur die gewünschten Informationenangezeigt.

Bild 4:Evolution der IBM Rational Software Delivery Plattform. Das Bildzeigt, welche bestehenden Produkte an die Plattform angebundenwerden und welche neue Produkte auf Basis der Plattform erstelltwurden und noch werden.

Embedded Software Engineering Report Fachwissen

www.ese-report.de

■ Eclipse: Mehr zum OpenUP Process (1)

■ IBM: zur offiziellen Jazz-Comunity-Webseite

■ IBM: Ein Überblick zur Jazz-Technologie

249821

Page 6: Embedded Software Engineering Report · 2013. 5. 21. · DerInfodienstfürEmbedded-Software-Entwickler SponsordieserAusgabe: AusgabeApril2008–3.Jahrgang. 2 StudieSoftware-Outsourcing

6

Die Literatur über Softwaremethoden zur Fehlerkorrektur im Datenbe-reich ist noch außerordentlich dünn. Unter anderem stellen George A.Reis, Jonathan Chang, David I. August von der Princeton University in ih-rer Veröffentlichung „Automatic Instruction-Level Software-only Reco-very” [3] verschiedene Möglichkeiten vor. Die im folgenden beschrie-benen Konzepte sind dazu gedacht, nach einer Übersetzung in Assemblereingefügt oder während der Übersetzung hinzugefügt zu werden.Mask ist eine Methode, die erfahrene Softwareentwickler sicherlich vonsich aus anwenden: Nicht benötigte Bits von Variablen, insbesondere vonBooleschen Variablen, werden ausmaskiert. Bild 1a zeigt einen solchenCodeausschnitt. Hier wird eine Funktion, other_function(), in Abhängig-keit von der Variablen alternate aufgerufen oder nicht. Diese Variable al-terniert ihren Wert bei jedem Schleifendurchlauf, so dass ein alternie-render Verlauf, den Funktionsaufruf betreffend, geplant ist.Die Assemblerübersetzung in Bild 1b speichert diese Variable in RegisterR4. Wird dieses Register nun durch einen Soft Error verändert, dass einBit außer Bit 0 gesetzt wird, dann verläuft das Programm so, dass bei je-dem Durchlauf die Funktion other_function() aufgerufen wird, ein nichtvorgesehener Verlauf. Dies lässt sich durch die Einfügung einer weiterenOperation, in Bild 1c/1d fett gedruckt, ändern: Alle Bits außer Bit 0 wer-den bei jeder Schleifenoperation auf 0 gesetzt, somit kann man, beieinem angenommenen 32-bit-Register, 31/32 aller Bitfehler ausblenden.Diese Methode lässt sich auch auf vorzeichenbehaftete Zahlen ausdeh-nen, bei negativen Zahlen sind dann führende ’1’-Werte vorhanden, dieper ODER-Operation auf den korrekten Wert gesetzt werden. Insgesamt

verringert diese Methodeschlicht die Anzahl der variablenDatenbits im System, und damitfallen rein statistisch mehr Feh-ler auf invariante Bits, die dannnicht zu Fehlern führen.Die Mask-Methode hat natürlichnur einen begrenzten Effekt. In[3] wird von einem Test mit

künstlicher Bitvariation berichtet. Das Zielsystem besteht aus einem Pow-erPC970, die Benchmarks stammen aus SPEC2000 und MediaBench. Indiesem Benchmark-Mix waren 74,18% aller emulierten Fehler wirkungs-los, 18% resultierten in einer Segmentverletzung (SEGV), 7,82 % wirkenals so genannte stille Datenkorruption (Silent Data Corruption, SDC).Mask mindert im Durchschnitt nur die SDC-Fehler um 0,2 %, mit einigenpositiven Ausnahmen, wo die Autoren signifikante Verbesserungen umeinige Prozent feststellen.

Swift-R-Ansatz bietet vergleichsweisehohen Schutz, aber auf Kosten der LaufzeitDies bedeutet, dass mithilfe dieser Maskierungstechnik, die praktisch kei-ne Kosten hat, etwas Verbesserung an Robustheit gegen Soft Errors imDatenbereich erreicht werden kann. Für die Entwicklung folgt hieraus nurein wenig Anpassung des Codierungsstils, mehr nicht.Der in [3] beschriebene Swift-R-Ansatz versucht nun, die entstehendenSoft Errors möglichst komplett zu eliminieren. Hierzu wird der Code

Höhenstrahlung, Teil 2

Drei Methoden zum Schutz vor Soft ErrorsSoft Errors sind Fehler in Rechnern, die durch radioaktive und Hö-henstrahlung entstehen. Sie zerstören nicht die Hardware selbst,sondern verfälschen gespeicherte Informationen. Mit abnehmenderStrukturbreite nehmen sie in Schaltungen so drastisch zu, dass zwin-gend Gegenmaßnahmen ergriffen werden müssen. Der zweite Teildieses Beitrags stellt Softwaremethoden zur Fehlerkorrektur vor.

Der Autor: *Prof. Dr.Christian Siemers lehrt amInstitut für Informatik ander TU Clausthal und ander Fachhochschule Nord-hausen. Kontakt: [email protected]

Christian Siemers*

Bild 1:Codeausschnitte für die Mask-Methode. a) Originalcode b) As-semblerübersetzung c) Ergänzung einer Maskierung im Source-code d) dito, Assemblercode

Bild 2:Vergleich von Originalcode (a) zu mittels Swift-R erweitertenCode (b)

Bild 3:Pseudocode zur Fehlerbehe-bung in Trump, hier wurde A= 3 gewählt

Bild 4:Vergleich Origi-nalcode (a) zumittels TrumperweitertemCode (b)

Wert SEGV WERT SD C Laufzeit

UnmodifizierterCode

18,0 % 7,82 % 1

Mask 17,89 % 7,61 % 1

Trump 7,39 % 4,88 % 1,36

Swift-R 1,93 % 0,81 % 1,99

Tabelle 1: Zusammenfassung der Wirkung verschiedener Soft-waremaßnahmen

Embedded Software Engineering Report Fachwissen

Page 7: Embedded Software Engineering Report · 2013. 5. 21. · DerInfodienstfürEmbedded-Software-Entwickler SponsordieserAusgabe: AusgabeApril2008–3.Jahrgang. 2 StudieSoftware-Outsourcing

7

Embedded Software Engineering Report Fachwissen

Der ESE Report ist das erste kombinierte Print-Online-Fachmedium im deutschsprachigenRaum, das sich gezielt mit den Herausforde-rungen der Embedded-Software-Entwicklungbeschäftigt. Als registrierter Software-Professio-nal erhalten Sie 6-mal jährlich kostenlos dieneuesten Inhalte aus dem ESE-Online-Portalübersichtlich zusammengefasst als elektro-nisches Live Paper (via E-Mail-Link) und per Postim Paket mit der Fachzeitschrift ELEKTRONIK-PRAXIS auf Ihren Schreibtisch.

In ESE Report berichten Experten und Redaktionfachlich tief gehend über:

Themen aus Requirements Engineering,Analyse und Entwurf, Implementierung,Test und Installation,neue Softwarekomponenten,Tipps für die Praxis,Projekt-Management-Themen,praktische Beispiele und Projekte,Fortbildungen und Qualifizierung,Markttrends und die Branche.

So können Sie sich registrieren:Besuchen Sie uns im Internet unter der URLwww.elektronikpraxis.de/ese-report.

■■■■■■

Embedded SoftwareEngineering ReportDer exklusive Infodienst fürEmbedded-Software-Entwickler

onlineabonn

ieren

www.ese-report.de

zweifach kopiert und ausgeführt, und eineMehrheitsentscheidung aus den drei Ergebnis-sen wird dann als das Ergebnis gewertet. Eineeinfache Kopie hätte nur zur Folge, dass manFehler detektieren, aber nicht zur Laufzeit be-heben könnte.Das kleine Codeabschnitt in Bild 2 zeigt, wasdiese Verdreifachung bedeutet. Jedes Registerwird zweifach gespiegelt, z.B. speichern R2, R2’und R2’’ jeweils den gleichen Wert, wenn keineVerfälschung entsteht. Die zusätzlichen Registermüssen natürlich auf wirklich vorhandene ab-gebildet werden. Der Speicher gilt hierbei alsgesichert, z.B. durch ECC, und gleich nach derLadeoperation (Zeile 2, Bild 2b) werden die ausdem Speicher geholten Werte zweifach kopiert.Alle Rechenoperationen werden wirklich drei-mal durchgeführt, auf jeweils anderen Datenre-gistern, und zentraler Punkt ist dann die Mehr-heitsentscheidung majority(), die den mehrheit-lichen Wert in das ursprüngliche Register ko-piert und damit die Fehlererholung (Fault Reco-very) schafft. Dieser Code ist nun keineswegsvollkommen schützend. Immerhin kann beimLaden oder Speichern ein Fehler auftreten. Aberdie Mehrheit der Fehlermöglichkeiten ist hierinerfasst.Die Autoren in [3] geben hierfür an, dass dieFehler für die Segmentverletzung (SEGV) auf1,93 % und für stille Datenkorruption (SDC) auf0,81 % sinken und damit etwa auf 1/10 desAusgangsniveaus. Der Preis hierfür ist allerdingsauf Seiten der Performance zu zahlen: DieLaufzeit für die Testprogramme steigt etwa umden Faktor 2.

Triple Redundancy (Trump):nur eingeschränkt anwendbarWährend die ersten beiden Wege eher nahelie-gend erscheinen, existiert mindestens noch einweiterer Weg, der die so genannten AN-Codesbenutzt. Hier werden neue Datenwerte zwei-fach berechnet, einmal in der Originalversion,das zweite Mal multipliziert mit einem Faktor.Bei allen arithmetischen Verknüpfungen giltnämlich das DistributivgesetzA(X + Y) = A X + A Y.Wählt man nun für A einen Faktor A = 2n – 1(n eine natürliche Zahl), dann kann man auchgarantieren, dass ein 1-Bit-Fehler in den multi-plizierten Werten erkennbar ist, weil gilt, dassA = 2n ist. Mit anderen Worten: Wenn manzweifach rechnet, dann kann man nicht nur ei-nen Fehler erkennen, man kann ihn auch mit-tels des folgenden Pseudocodes beheben:Bild 3 zeigt einen Pseudocode zur Fehlerbehe-bung in Trump, hier wurde A = 3 gewählt. Indiesem Code, für den mit n = 2 der Wert A = 3genutzt wurde, werden zwei Rechnungendurchgeführt und die Ergebnisse miteinanderverglichen. Sind diese ungleich (Fehlerdetektie-rung), dann wird über die Dividierbarkeit derKopie durch den Faktor 3 entschieden, welcheRechnung richtig war, und die Werte werdenkorrigiert. Dies führt dann zur Codeerweiterungin Bild 4 (in Assembler).

Das Verfahren sieht wesentlich einfacher ausals Swift-R, weist aber einige Lücken auf:Die Werte in den Registern sind durch die

Anzahl der Bits begrenzt, man muss also daraufachten, dass die Multiplikation mit A überhaupterlaubt ist und nicht zu Überläufen führt. Dieskann insbesondere bei Pointerarithmetik zuProblemen führen.Die AN-Codes sind nicht mit logischen Ope-

rationen wie UND, ODER, XOR anzuwenden.Hieraus resultiert eine verminderte Anwendbar-keit. Während also die Laufzeit nur um 36 %steigt [3], werden mit einer Restfehlerwahr-scheinlichkeit von 7,39 % (SEGV) bzw. 4,88 %(SDC) nicht so gute Werte erzielt wie beiSwift-R.

Software, Hardware oder dieKombination von beiden?Auf diese Frage gibt es eine klare Antwort: EinHardwareschutz für den Speicher, insbesondereim Bereich den Daten, ist unerlässlich. Bei Feh-lerraten von ca. 8000 FIT pro MByte (und mehr)ist ein Datenfehler, eine Silent Data Corruption,schon recht wahrscheinlich, so dass bei sicher-heitskritischer Software keine andere Wahlexistiert. Für den Codespeicherbereich gilt ähn-liches, wobei hier invarianter Speicherinhaltvorliegt, der einfacher zu schützen ist.Die aufgezeigten Softwareverfahren ergänzenhier den hardwareseitigen Schutz. Wenn Datenim Mikroprozessor bearbeitet werden, sind siebeim aktuellen Stand der Technik zumindestteilweise ungeschützt und damit manipulierbar.Die Softwaremethoden wirken somit dem Rest-fehler entgegen, der trotz Schutzmaßnahmenin der Hardware entstehen kann.Tabelle 1 zeigt zusammenfassend, dass ein sol-cher Softwareschutz den Restfehler durchausum den Faktor 10 verkleinern kann, bei verdop-pelter Laufzeit allerdings. Die Laufzeiterhöhungkann im Übrigen durch parallele Ausführung insuperskalaren Mikroprozessoren durchaus ge-mindert werden, weil viele Rechnungen Datenbenutzen, die nicht voneinander abhängig sind.Literatur

[1] Thomas Juhnke, „Die Soft-Error-Rate von Sub-mikrometer-CMOS-Logikschaltungen”. Dissertati-on Technische Universität Berlin, 2003. http://edocs.tu-berlin.de/diss/2003/juhnke_thomas.pdf[2] „Soft Errors in Electronic Memory – A White Paper”. http://www.tezzaron.com/about/papers/ soft_errors_1_1_secure.pdf[3] George A. Reis, Jonathan Chang, David I. Au-gust, „Automatic Instruction-Level Software-on-ly Recovery”. IEEE Micro 27(1) pp. 36-47 (2007)

Teil 1 dieses Beitrags „Unsichtbare Störenfriede aus demKosmos“ ist in ESE Report Ausgabe Februar 2008 erschienen.

www.ese-report.de

■ Teil 1: Soft Errors durch Störenfriede ausdem Mikro- und Makro-Kosmos

■ (3) Reis, Chang, August (PrincetonUniversity): Automatic Instruction LevelSoftware-Only Recovery (PDF, englisch)

249818

Page 8: Embedded Software Engineering Report · 2013. 5. 21. · DerInfodienstfürEmbedded-Software-Entwickler SponsordieserAusgabe: AusgabeApril2008–3.Jahrgang. 2 StudieSoftware-Outsourcing

2008Call for Papers: Embedded Software Engineering gehört zu den großen Herausforde-rungen der Technik. Der Embedded Software Engineering Kongress im Dezember 2008ist die erste deutschsprachige Veranstaltung, die sich ausschließlich und tiefgehendmit den Problemen bei der Entwicklung von Geräte- und Systemsoftware für die Seg-mente Industrie, Automotive, Telekom, Consumer und Medizin beschäftigt – von denGrundlagen über aktuelle Techniken bis hin zu erfolgreichem Projektmanagement.Reichen Sie jetzt ein Vortragsthema ein, über das Sie als Experte referieren möchten.Infos zum Call for Papers und zur Veranstaltung: www.ese-kongress.de.

Ihre Bühne.

Hauptsponsoren: Veranstalter:MicroConsult undELEKTRONIKPRAXISAussteller:

ATRiSAN Software Tools, EASYCODE, Esterel Technologies,pls Programmierbare Logik & Systeme, u.a.

Page 9: Embedded Software Engineering Report · 2013. 5. 21. · DerInfodienstfürEmbedded-Software-Entwickler SponsordieserAusgabe: AusgabeApril2008–3.Jahrgang. 2 StudieSoftware-Outsourcing

9

Embedded Software Engineering Report Fachwissen

Windows XP Embedded ist eine komponenten-basierte Version von Windows XP Professionalfür den Einsatz im Embedded-Bereich. Die Aus-wahlmöglichkeit aus ca. 12000 verschiedenenKomponenten und Treibern ermöglicht es, opti-mal angepasste Windows-Images ohne über-flüssige Funktionen zu erstellen. Da es vollWin32-kompatibel ist und alle Treiber für Win-dows XP verfügbar sind, macht dies die Anwen-dungsentwicklung sowie die Benutzung von Pe-ripherie-Hardware denkbar einfach. Der erprob-te XP-Kernel und die neuen Features im ServicePack 2 für Windows XP garantieren Stabilitätund Sicherheit. Den robusten Einsatz von XPEmbedded unter Embedded-Bedingungen ma-chen die so genannten Embedded EnablingFeatures (EEF) möglich. Dazu gehören u.a.:Unterstützung alternativer Bootmedien wie

CD-ROM oder Flash,Enhanced Write Filter, der die Systempartiti-

on vor Schreibzugriffen schützen kann (diesewerden auf ein sogenanntes Overlay umge-lenkt; dies kann der RAM-Speicher sein, aberauch ein andere Partition der Festplatte),Unterstützung für Headless Devices ohne

Bildschirm, Tastatur und Maus,Tools für die Fernwartung,Austausch der Standard-Oberfläche von

Windows XP durch eine Custom Shell.

Eigenschaften und Bestandteiledes Feature Pack 2007Neu im Feature Pack 2007 für Windows XP Em-bedded sind u.a. eine USB-Boot-Komponente,ein File-Based Write-Filter, ein Kommandozei-len-Tool für die Image-Generierung sowie di-verse Komponenten und reduzierte Abhängig-keiten zwischen den bekannten Komponenten.

■■

Windows XP Embedded

Das bringt das Feature Pack 2007Weil es ein Windows Vista Embedded nichtgeben wird, muss das aktuelle Windows XPEmbedded noch einige Zeit halten. Miteinem Feature Pack 2007 hat Microsoft da-her im letzten Jahr Funktionen nachgerüs-tet, unter anderem bei Systemstart, Ressour-cen-Verbrauch und Sicherheit. Wer bishernoch nicht umgestiegen ist, sollte dies nochin Betracht ziehen – denn die Erweiterunglohnt.

Windows XPe wird nicht in Source Code ausge-liefert, sondern als Sammlung binärer Kompo-nenten, welche neben den Binärdateien auchzugehörige Registry-Einträge, Ressourcen sowieAbhängigkeiten von anderen Komponentenenthalten und so typische Windows-Funktiona-litäten kapseln. Die SQL-Komponentendaten-bank von XPe kann um eigene als Komponentengekapselte Anwendungen erweitert werden,hierbei hilft der Component Designer. Die Kon-figuration des Windows-Images selbst erfolgtmittels des Target Designers.Beim Einsatz von Windows XPe ist zu beachten,dass es, im Gegensatz zu Windows EmbeddedCE, nur auf der Standard-PC-Plattform mitx86-kompatiblen Prozessoren eingesetzt wer-den kann und keine harte Echtzeit unterstützt.Dies ist aber mittels spezieller Produkte vonDrittanbietern wie z.B. Tenasys INtime oder Ku-ka CeWin zu erreichen.

Beschleunigung des System-starts mit HORMBisher konnte man mit die Enhanced Write Fil-ter (EWF) für eine komplette Partition entwederein RAM oder Disk Overlays einrichten um diePartition vor Schreibzyklen zu schützen. Mit

dem neuen File Base Write Filter (FBWF) ist esnun möglich, einzelne Dateien einer Partitionzu schützen, damit das System beim nächstenStart wieder in der definierten Ausgangskonfi-guration hochfährt.HORM (Hibernate Once Resume Many) unter-stützt das schnelle Booten durch eine Hiber-nate-Datei (hiberfil.sys). Dabei wird nach einemBootvorgang das komplette RAM mit allen Ein-stellungen (z.B. Registry) in diese Datei ge-schrieben. Nach einem Neustart werden dieDaten der Datei wieder ins RAM kopiert. Im TDwird in der EWF-Komponente die HORM-Funk-tion eingeschaltet. Wichtig hierbei ist, dass dasXPe-Image von der ersten Partition einer Plattegebootet wird.Mit der Registry-Filter-Komponente ist es nunmöglich, auf einer geschützten Partition zweiRegistry-Einträge freizuschalten. Diese Einträgesind notwendig für den Betrieb an einer Domä-ne, da der Server nach einiger Zeit folgende Re-gistry-Einträge aktualisiert:1. Enable TSCAL persistence,2. Enable Domain Secret Key persistence.Die Komponente USB Boot erlaubt es, voneinem USB-Stick (Flash) zu booten. Vorrausset-zung ist, dass das BIOS USB 2.0 und das Bootenvon USB-Flash unterstützt. Das USB_Booten ist

Der Autor: *Diplom-Infor-matiker Rudi Swiontek istfür die HILF! GmbH in denBereichen Schulungen undEntwicklung tätig undSpezialist für Windows-Be-triebssysteme. Kontakt:[email protected]

Architektur des File-BasedWrite Filter (FBWF): Er er-möglicht es, einzelne Da-teien einer Partition vorSchreibzyklen zu schützen.

Das XPE Command-LlineTool stellt eine Schnitt-stelle zum ComponentManagement Interface(CMI) bereit, das die Basisfür alle Tools von Win-dows XP Embedded dar-stellt.

Autor: Rudi Swiontek *

Page 10: Embedded Software Engineering Report · 2013. 5. 21. · DerInfodienstfürEmbedded-Software-Entwickler SponsordieserAusgabe: AusgabeApril2008–3.Jahrgang. 2 StudieSoftware-Outsourcing

10

Embedded Software Engineering Report Fachwissen

eine kostengünstige alternative zum CompactFlash. Der First Boot Agent (FBA) unterstütztdas Versiegeln der Images durch fbreseal-Kom-mandos nicht nur beim Booten von USB son-dern von jedem Medium.Viele Eigenschaften von Windows XP Embeddedsind vom Internet Explorer abhängig. FolgendeKomponenten sind betroffen: .NET Framework1.1, Help und Support Services, HTML Rende-ring Engine, IMAPI - CD Burning, Internet Con-nection Wizard, Microsoft Vector Graphics Ren-dering (VML), Outlook Express, Shell Names-pace, Extensions, Soap Client Runtime, Win-dows .Net Messenger, Windows Media Player10.0, Windows Movie Maker. Dem Internet Ex-plorer wurde ein neues User Interface zum Kon-figurieren des Pop-up Blockers hinzugefügt.

Befehlszeilen-Tool XPECMD.WSFDas XPe Command-Line Tool (XPECMD) ist einleistungsstarkes und scriptfähiges Interfacezum Component Management Interface (CMI),welches die Basis für alle Windows XP Embed-ded Tools ist. Damit kann der komplette Image-Generierungs-Prozess in eine Versionsverwal-tung abgelegt werden.

Windows CE oder Windows XP Embedded?10 Gründe für Win-dows XP EmbeddedESE Report: Herr Swiontek, Sie sind Di-plom-Informatiker, unabhängiger Schu-lungsleiter und arbeiten in Softwarepro-jekten mit. Wann und warum empfehlenSie Ihren Kunden den Einsatz von Win-dows XP Embedded?Swiontek: Mit Microsoft Windows XPewird ein Komponenten-Baukasten zurVerfügung gestellt, der ein vollwertigesXP mit zusätzlichen Embedded-Funkti-onen bietet. Zu seinen Eigenschaftengehören:Komponentenbasierte Version von

XP Professional: über 12.000 Kompo-nenten und Treiber für flexibles OS-De-sign, embedded-spezifische Features er-möglichen zahlreiche Boot-, Speicher-,Verteilungs- und Wartungsoptionen.Schnelle Entwicklung: effiziente

Tools für die Geräteentwicklung, Sup-port für Win32 API und Unterstützungkostengünstiger Standard-PC-Hardware.Zuverlässigkeit: basiert auf erprob-

tem Windows-XP-Kernel, embedded-spezifische Technologien für erhöhteGeräte-Zuverlässigkeit.Alternative nichtflüchtige Boot-

Medien: CD-ROM, μDiskOnChip, Flash.Enhanced Write Filter: Windows XP

Embedded bootet von beliebigemschreibgeschütztem Medium, Schutz derSystempartition vor Viren etc.Remote Management: Fehlerdialoge

lassen sich ohne Benutzerinteraktion be-handeln.Headless Operation: System ohne

Tastatur, Maus oder Display. Benutzerin-teraktion ist nicht erforderlichHibernate Once, Resume Many

(HORM): Booten vom Hibernation File,schnelle Bootzeit.System Message Interception: au-

tomatische Antwort auf Fehlermel-dungen.Custom Shell: Standard-Windows-

Shell kann durch eigene Anwendung er-setzt werden.Eine gute Abgrenzung gerätetypischerAnwendungen für Windows XPe, Win-dows Embedded CE und dem .NET MicroFramework zeigt unsere Illustration (sie-he Online-Version des Beitrags, Bilderga-lerie). Im Übrigen läuft im Zuge der„Windows Life-Cycle Policy“ das Lizenz-modell für Windows XP Professional am30. Juni 2008 aus. Deshalb empfehlenwir unseren Kunden, rechtzeitig aufWindows XP Embedded umzusteigen.Einen Überblick über die Lizenz-Thema-tik findet sich im Internet (http://www.microsoft.com/windows/lifecycle/de-fault.mspx).

www.ese-report.de

■ Offene Schulungen zu Windows Embedded

248206

XPECMD ermöglicht es, viele der gleichen Auf-gaben wie die GUI-Werkzeuge (Target Designer)durchzuführen: das Erzeugen und Öffnen derRuntime-Konfigurationen, das Hinzufügen, Än-dern und Entfernen von Komponentenabhän-gigkeiten sowie Importieren der Komponentenin die Datenbank. Hier einige Aufgaben:1. Starten des Programms cmd2. cd C:\Program Files\Windows Embedded\bin3.Programm ausführen:Starten des Command Line Toolscscript.exe //H:cscript //SXPECMD4. Verbindung mit der Datenbankxpecmd> dbopen local ;<servername>5. Laden einer existierenden Runtime-Konfi-guration (SLX File)xpecmd> load cfg „c:\myimages\image.slx“Oder Erzeugen einer neuen Runtime Konfigura-tionxpecmd> new cfg Configuration...(weitere Beispiele siehe Online-Beitrag) (mh)

Windows Embedded ist Microsofts Sammelbe-zeichnung und Markenname für Betriebssyste-me, Technologien und Werkzeuge für die Ent-wicklung von Embedded-Systemen. Sie umfasstdie beiden grundlegenden Betriebssystemvari-anten Windows Embedded CE und Windows XPEmbedded. Davon abgeleitete Spezifikationensind z.B. Windows Mobile, Windows Embeddedfor Point of Service, Windows Automotive.

Was ist Windows Embedded CE?Windows Embedded CE ist für beschränkte Res-sourcen oder Echtzeitanforderungen gedacht.Das 32-Bit-OS mit Multithreading und virtuellerSpeicherverwaltung kann auf verschiedenenProzessorarchitekturen eingesetzt werden:X86, ARM, MIPS, SH4.Windows CE steht als Sammlung funktionalerKomponenten und Treiber zur Verfügung. DieVersion 6.0 stellt über 500 solcher Komponentenbereit, aus denen die gewünschten Funktionenausgewählt werden können, um ein Betriebssys-tem-Image „maßzuschneidern“.Ein großer Teil der Komponenten liegt in Formvon Source Code vor, der unter der Shared-Source-Lizenz verwendet und abgeändertwerden darf, wobei die Änderungen kommerziellverwendet werden dürfen, ohne sie wiederumunter die Shared-Source-Lizenz stellen zumüssen.Weitere Besonderheiten von Windows Embed-ded CE sind die Unterstützung RAM-basierter

Filesysteme für Geräte ohne nichtflüchtige Spei-chermedien, verschiedene Boot-Optionen (RAM,ROM, Netzwerk), Unicode-Unterstützung, Netz-werkfunktionalitäten u.v.m.Windows Embedded CE verwendet ein eigenesAPI, welches an Win32 angelehnt ist, aber nureine Teilmenge dessen enthält (plus Zusatz-APIsfür den Embedded-Bereich), und benutzt ein ei-genes Treibermodell. Die Konfiguration und Er-stellung eines Geräteimages erfolgt mit demPlatform Builder, einem Plug-In für MicrosoftVisual Studio 2005.

Was ist Windows XP Embedded?Windows XP Embedded ist eine komponenten-basierte Version von Windows XP Professionalfür den Embedded-Bereich. Die Auswahl aus ca.12.000 verschiedenen Komponenten und Trei-bern soll die Erstellung eines angepaßten Win-dows-Images ohne überflüssige Funktionenmöglich machen. Das Betriebssystem ist vollWin32-kompatibel und erlaubt die Verwendungaller verfügbaren Treiber für Windows XP.Windows XP Embedded wird nicht als SourceCode ausgeliefert, sondern als Sammlung bi-närer Komponenten, welche neben den Binärda-teien auch zugehörige Registry-Einträge bein-halten. Das Betriebssystem ist nur auf Standard-PC-Plattform mit x86-kompatiblen Prozessoreneinsetzbar und unterstüzt orginär keine harteEchtzeit. Dies ist aber mittels spezieller Produktevon Drittanbietern zu erreichen.

Page 11: Embedded Software Engineering Report · 2013. 5. 21. · DerInfodienstfürEmbedded-Software-Entwickler SponsordieserAusgabe: AusgabeApril2008–3.Jahrgang. 2 StudieSoftware-Outsourcing

11

Embedded Software Engineering Report Fachwissen

Ein bekanntes Problem: Verhaltensweisen einesSystems, die als selbstverständlich erwartetwerden, aber nicht spezifiziert und deshalbauch nicht mitcodiert wurden, sind nicht vor-handen. Das kann die fehlende Rückbestäti-gung zur Speicherung von Änderungen sein,oder das können sich nicht schließende Dialogesein, oder Warnhinweise, die unbemerkt mitanderen Dialogen weggeklickt werden.Es gibt Zugzielanzeiger, die genau dann nichtmehr einsatzfähig sind, wenn der reguläreBahnverkehr durcheinanderkommt und der Rei-sende aufgrund des nicht mehr eingehaltenenFahrplans auf eine flexible Anzeige angewiesenwäre. Es gibt Flaschenrücknahmestationen, diesich durch gezielte Fehlbedienung wie etwas zufrühes Einlegen einer Flasche unfehlbar zumAbsturz bringen lassen. Drucker, Buchrücknah-mestationen in Büchereien, Stereoanlagen, Ka-meras ... die Liste von Geräten mit plötzlich un-erklärlichem Fehlverhalten kann jeder beliebigaus eigener Erfahrung ergänzen.Solchen Mängeln und Fehlern kann frühzeitigbegegnet werden, indem entsprechende Doku-mente vor der jeweils nächsten Projektphasebegutachtet werden. Reviews und Inspektionensind dazu das kostengünstige und effizienteMittel der Wahl. Der wesentliche Unterschiedzwischen beiden liegt in der Formalität von In-

Funktionen eines Produkts vollständig in Software umzusetzen ist alles andere als trivi-al. Über die Tatsache, daß Software nur genau das tut, was in ihren Anweisungen steht,stolpern Entwicklerteams mit schöner Regelmäßigkeit. Reviews und Inspektionen sindein kostengünstiges und effizientes Gegenmittel.

wird die Erfahrung und das Fachwissen andererzu Hilfe genommen, um Eigenschaften des Do-kuments wie Angemessenheit an die Problem-stellung, Vollständigkeit, Verständlichkeit,Handhabbarkeit, Übereinstimmung mit Stan-dards, Vorgaben und Zielen zu überprüfen. DieVorteile liegen klar auf der Hand:Es sind je nach Art der Durchführung ver-gleichsweise günstige Verfahren, die frühzeitigeingesetzt schwerwiegende Webfehler des Sys-tems verhindern können. Je später und je fun-damentaler ein Fehler, um so kostspieliger seineBeseitigung. Durch die Beteiligung geeingneter

Teilnehmer wird Hintergrundwissen systema-tisch an die Mitarbeiter weitergegeben. Man-gelnde effektive Kommunikation ist oft genugdie Quelle von Mißverständnissen: aneinandervorbeiarbeiten, überflüssigen Mehraufwänden,nicht zueinander passende Programmteile.Allein die Notwendigkeit, Sachverhalte anderenklar verständlich machen zu müssen, führt inder Regel zu einer weitaus klareren Vorstellung

eines Autors von sei-ner Sache, als wenner nur für sich selbstein Thema bearbei-tet. Blinde Fleckenoder Betriebsblind-heit treten erstaun-lich schnell auf.Gut gemachte Re-views decken bislangnicht gestellte Fra-gen auf, die späterzu Fehlzuständen beider Programmaus-führung führen kön-nen. Wie soll sichbeispielsweise einebestimmte Variableoder eine Routine imGrenzbereich gül-

tiger Voraussetzungen oder bei ungültigen oderfehlenden Werten verhalten? Von solchen Fra-gen kann der Produktdesigner ohne Program-mierkenntnisse nichts wissen, er ist da auf dieZusammenarbeit mit dem Systemdesigner ele-mentar angewiesen. Die Tatsache, daß Softwaremenschlich erwartbare, aber eben nicht einge-baute Verhaltensweisen (noch) nicht aus eige-nem Antrieb ergänzen kann, wird nach wie vorhartnäckig ignoriert - selbst von Leuten, dieProgrammiererfahrung haben. Auf eine generv-

Statische Softwaretests

Qualität durch Reviews und Inspektionen

Der Autor: *Dr. rer. nat. Richard H. Kölblist für die Firma Mixed Mode tätig. Er ar-beitet seit 8 Jahren als Softwareentwicklerin allen Bereichen des Entwicklungspro-zesses unter Windows und Linux. SeineSchwerpunkte sind die Etablierung, Durch-führung und Verwaltung von Software-Testprozessen sowie Seminare zum Thema.

AnzeigeRichard Kölbl*

Foto: P. Kirchhoff, pixelio.de

spektionen. Letztere unterliegen definierten Re-geln zur Vorbereitung und Durchführung undkönnen, und müssen, bei unzureichenden for-malen Voraussetzungen abgesagt oder abge-brochen werden. Regelwerke für die Durchfüh-rung von Inspektionen sind FAGAN oder IEEE1028. Demgegenüber können Reviews die volleBandbreite zwischen spontanem Durchführungohne Vorbereitung bis zu einem gewissen Gradan Formalität umfassen. Beide Vorgehensweisenunterziehen Dokumente einer Prüfung. Dabei ▶

Page 12: Embedded Software Engineering Report · 2013. 5. 21. · DerInfodienstfürEmbedded-Software-Entwickler SponsordieserAusgabe: AusgabeApril2008–3.Jahrgang. 2 StudieSoftware-Outsourcing

12

Embedded Software Engineering Report Fachwissen

te Frage wie „Warum zeichnet sich die Kurvebei fehlenden Daten nicht einfach trotzdemweiter?“ kann es oft nur die sachliche Antwortgeben: „Weil ihr das nicht spezifiziert habt“.Die einfachste Form des Reviews ist das untergleichgestellten Kollegen ohne große Vorberei-tung. Unter Rückgriff auf den englischen Be-griff für Gleichgestellte peer wird es Peer Re-view genannt. Es sollte angesetzt werden, wennsich die Notwendigkeit dafür ergibt und der da-für erforderliche, geringe Aufwand in der Pro-jektplanung berücksichtigt werden.

Größere Reviews sorgfältigeinplanenAuf alle Fälle sollten größer angelegte Reviewszu bestimmten Meilensteinen von vornehereinin die Projektbudgets eingeplant werden. Siebrauchen eine Vorbereitung zur Festsetzung derReviewziele, der zu prüfenden Dokumente oderauch von Teilen daraus sowie des Zeitrahmens.Vorteilhaft ist es, wenn sich verschiedene Per-sonen jeweils mit verschiedenen Aspekten aus-einandersetzen. Beispielsweise kann einer dieAngemessenheit einer zu prüfenden System-architektur an die ursprüngliche Aufgabenstel-lung begutachten, ein weiterer Fragen der Ko-dierung und so fort. Dadurch wird ein mög-lichst breiter Blickwinkel auf ein und denselbenPrüfgegenstand sichergestellt; Überlappungensind dabei nur von Vorteil. Bei größeren Re-views sollten wie bei Inspektionen unbedingtdie Voraussetzungen festgelegt werden, die zurDurchführung des Reviews notwendig sind. Da-zu gehört die ausreichende Vorbereitung derGutachter. Es muß ein Protokollant benanntwerden sowie ein Moderator. Der Moderator istdie zentral wichtige Figur für erfolgreiche grö-ßere Reviews und Inspektionen. Seine Aufgabeist es sicherzustellen, daß nur das Dokumentund nicht der Autor Gegenstand der Prüfungwird. Die Grenze ist mitunter haarfein. Dazugehören gewisse Spielregeln wie eine Aus-drucksweise der Gutachter, die den Autor nichtzur Rechtfertigung seines Dokuments zwingen.Darüber hinaus ist es nicht Aufgabe eines Re-

views bzw. einer Inspektion, für gefundeneMängel und Fehler Lösungen zu diskutieren;das bleibt Aufgabe des ursprünglichen odereines neu zu benennenden Autors. Befunde derGutachter sollten eingestuft werden nach ihrerKritikalität zwischen hochkritisch und fehler-frei, entsprechend werden sie im Protokoll ver-merkt. Am Schluß sollte eine Empfehlung zurAnnahme, bedingten Annahme oder Ablehnungdes Dokuments stehen und ggf. durchzuführen-de Änderungen vermerkt werden. Ein Zeitrah-men zur Wiedervorlage muß ebenfalls festge-legt und das Protokoll von allen unterschriebenwerden, um seine Verbindlichkeit zu erhalten.Die Erfahrung zeigt, daß gerade zu Projektbe-ginn bei drängenden Terminen häufig die Nei-gung besteht, anstatt sorgfältiger Reviews so-fort mit der Implementierung zu beginnen. Esist die Aufgabe eines verantwortungsbewußtenProjektleiters, Ungeduldige zu bremsen undProjektzeit für einen koordinierten Projektstartzu spendieren. (mh)Fortsetzung der Serie „Softwaretest“:Teil 3„5 Prinzipien des dynamischen Softwaretests“erscheint am 18. Juni 2008

www.ese-report.de

■ Statische Tests: Formale und nichtformale Dokumente richtig nutzen

■ Mixed Mode: kostenlose Expert-Session-Seminare für Softwareentwickler

249430

Seminartipp

Kostenlose Expert Session Software-TestEntwickler, die mehr zum Thema Software-Test erfahren möchten, können sich für die kostenlosenhalbtägigen Grundlagenseminare der Firma Mixed Mode anmelden. Die Münchner Spezialisten fürSystems Engineering und Autoren unserer Serie Software-Test bieten im Rahmen ihrer Expert Sessi-ons das Thema „Grundlagen des professionellen Software-Tests“ am 17. Juni in der Nähe von Mün-chen an. Informationen und Termine finden sich im Internet unter www.mixed-mode.de

Zugzielanzeiger: Systemfehler entstehen oftdadurch, dass Verhaltensweisen eines Systems,die als selbstverständlich erwartet werden,nicht spezifiziert und daher auch nicht in Codeumgesetzt wurden.

Reviews und Inspektionen sind ein kostengünstiges und effizientes Mittel gegen Softwarefehler.Der wesentliche Unterschied liegt in der Formalität, der Inspektionen unterliegen.

Impressum

Redaktion: Martina Hafner (mh)

Schlussredaktion: Brigitte Kunder

Entwurf & Layout: Marion Kohlmann

Produktion: Claudia Ackermann

Chefredaktion: Johann Wiesböck

Anzeigenleitung: Franziska Harfy

Anzeigenverkauf: Claudia Fick

Verlag:Vogel Industrie MedienGmbH & Co. KGMax-Planck-Str. 7/997064 WürzburgTel. +49(0)931 4180

www.ese-report.deE-Mail: [email protected]

Inspection Record

Project Name: Date:Product Component: Size: _____ lines _____ pagesStart Time: _____ Stop Time: _____ Elapsed Time: _____

Role Name Preparation Minutes Additional Comments:

Moderator

Recorder

Producer

Reviewer

Reviewer

Reviewer

Reader

Total Prep Effort

Checklist Used Disposition Life Cycle Activity

Completeness

Accept ___Conditional ___Reinspect ___Design

Planning

Correctness Requirements

Style Specification

Rules of Construction Code

Multiple Views Test

Technology

Metrics

Page 13: Embedded Software Engineering Report · 2013. 5. 21. · DerInfodienstfürEmbedded-Software-Entwickler SponsordieserAusgabe: AusgabeApril2008–3.Jahrgang. 2 StudieSoftware-Outsourcing

13

Bug-Gewinnspiel Teil 1

Fehler finden - iPod gewinnenSind Sie ein C-Experte? Dann finden Sie sicher den Bug im folgendenCode. Schicken Sie Ihre Lösung sowie Ihre kompletten Kontaktdaten bitteper E-Mail an [email protected] (Betreff: Bugspiel). Unter allenEinsender verlosen wir einen Apple Silver iPod nano 4GB. Bugs und Preisewerden zur Verfügung gestellt von unserem Gewinnspiel-PartnerCoverity, Spezialist für statische Codeanalyse-Tools (www.coverity.com).Einsendeschluss ist der 31. Mai 2008. Der Rechtsweg ist ausgeschlossen.Die Auflösung und den nächsten Bug finden Sie in Ausgabe 3 von ESEReport am 18. Juni. Der Name des Gewinners wird veröffentlicht.

Finden Sie den Fehler?#include <stdio.h>

int square(int arg) {return arg*arg;}

int cube(int arg) {return arg*arg*arg;}

int main() {int x;x = 5;/* Calculate 5^2 + 6^3 */printf(„Result: %d“, square(x) + cube(++x));return 0;}

www.ese-report.de

■ Unser Gewinnspielpartner: Coverity im Internet

250203

guedo,

pixelio

.de

Luftfahrtkommunikation

Partitionstauglicher NetzwerkstackDer Lynx Certifiable Stack (LCS) von LynuxWorks ist ein hardwareunab-hängiges Feature des Betriebssystems LynxOS-178 2.3 und ein partitions-taugliches, ARINC 664-fähiges sowie nach DO-178B Level A zertifizierterNetzwerkstack. Er bietet Entwicklern die Möglichkeit, ihre Softwarean-wendungen in einer Deployment-Konfiguration zu testen und unter-stützt gleichzeitig sicherheitskritische, deterministische Netzwerke in ei-ner Integrated Modular Avionics-Umgebung nach ARINC 653.AFDX (Aircraft Full-Duplex Exchange) nach ARINC 664 und andere ver-netzte Systeme, die in Superlinern vorkommen, werden unterstützt. Diefür die Kommunikation zwischen Hardwareplattformen notwendigenTCP/IP/UDP-Netzwerkstacks konnten nicht genutzt werden, weil sie nachsicherheitskritischen Richtlinien wegen ihrer Komplexität kaum zertifi-

ziert wurden. Der Stack ermöglicht die Nutzung der Profiling- und De-bugging-Tools, die in der Eclipse-basierten IDE Luminosity zur Verfügungstehen. Es können Pakete innerhalb eines bestimmten Zeitraums ver-schickt oder empfangen werden.LynxOS-178 2.3 basiert auf offenen Standards und ist eine aktualisierteVersion von LynuxWorks hart-echtzeitfähigem Betriebssystem LynxOS-178, das speziell für sicherheitskritische Umgebungen, wie man sie z.B. inden Bereichen Avionik, Militär oder Medizin findet, entwickelt wurde.Der Stack unterstützt Netzwerkstandards wie TCP/IP, UDP, ICMP und IG-MP sowie Netzwerk-Utilities wie FTP, TFTP, ARP, SNMPv3 und SNTP. AlleFeatures lassen sich für einzelne Partitionen konfigurieren, ohne denNetzwerkdeterminismus zu beeinträchtigen. Avionik-Anwendungen kön-nen entweder Ethernet-Controller nutzen oder exklusive Controller ver-wenden. (heh)LynuxWorks Tel. (44)208 9069506

www.elektronikpraxis.deHintergrundinformationen zum Netzwerkstack LCS 238079

MatLab Erweiterungen

Multithreading und 64-Bit-PlattformThe MathWorksstellt vier Erweite-rungen für MATLABund die DistributedComputing Toolboxvor. Sie sollen dieRechenleistung derSoftware erhöhenund größere Daten-sätze verarbeiten.Außerdem soll Mul-

tithreading auf bis zu vier Mehrkernsystemem möglich sein sowie 64-Bit-Solaris-Plattformen unterstützt werden. Die Distributed Computing Tool-box beherrscht Interleaving von parallelem und seriellem Programmcodeund stellt bis zu vier lokale Instanzen zum interaktiven Entwickeln paral-leler Algorithmen auf Desktop-Rechnern bereit. (heh)The Mathworks Tel. +49(0)89 9959010

www.elektronikpraxis.deDatenblatt der Distributed Computing Toolbox 3.1 235509

Embedded Software Engineering Report Produktinformationen / Gewinnspiel

Page 14: Embedded Software Engineering Report · 2013. 5. 21. · DerInfodienstfürEmbedded-Software-Entwickler SponsordieserAusgabe: AusgabeApril2008–3.Jahrgang. 2 StudieSoftware-Outsourcing

14

Embedded Software Engineering Report Produktinformationen

Embedded-Security

Hypervisor sorgt für Software-SicherheitGreen Hills Software hat einen Hypervisor vorgestellt, der insbesondere für mehrSicherheit vor Hackerangriffen in Embedded- oder kombinierten Embedded-Desk-top-Systemen ausgelegt ist. Padded Cell Secure Hypervisor läuft auf dem Separati-on-Kernel von Integrity, einem Betriebssystem, das nach der Sicherheitsevaluie-rung High Assurance (EAL6+) Common Criteria zertifiziert wurde.Neben der Abkapselung und Virtualisierung von Gast-Betriebssystemen soll derPadded Cell Secure Hypervisor mit seinen EAL6+-konformen Sicherheitsfunktionenzahlreiche anfällige Funktionen wie Browsen im Internet oder E-Mail-Nutzungbesser schützen. Ziele sind z. B. der Schutz persönlicher und medizinischer Datensowie garantierte Authentizität und Integrität von Online-Transaktionen. PaddedCell Secure Hypervisor ermöglicht laut Anbieter auch die sichere und zuverlässigeAusführung von Echtzeit-Applikationen und Gast-Betriebssystemen in Embedded-Systemen wie Netzwerken, Medizintechnik, Industrie und Automotive.Virtualisierung erhöht nicht automatisch die Sicherheit.Green Hills Software weist in seiner Produktankündigung darauf hin, dass her-kömmliche Hypervisor-Techniken die gleichen Komplexitäts-/Architekturprobleme

undSchwachstel-len aufwie-sen, die beiDesktop-Be-triebssyste-men und-Anwen-dungen zumangelnderSicherheitführten. Soermöglichtenes Schwach-stellen ineinem Hy-pervisor

Hackern, nicht nur eine sondern alle auf dem Rechner laufenden Betriebsumge-bungen zu übernehmen. Der Ansatz des Unternehmens will diese Probleme ver-meiden, indem eine Trennung zwischen den virtuellen Maschinen erfolgt. Außer-dem wird sichergestellt, dass die Virtualisierungssoftware selbst als Applikationläuft und somit die Sicherheitseinrichtungen des Separation-Kernels nicht umge-hen kann. Für den IT-Bereich unterstützt Padded Cell Secure Hypervisor Desktop-und Server-Betriebssysteme wie Solaris, Red Hat Linux, BSD und Windows. Im Em-bedded-Bereich führt er Gast-Embedded-Betriebssysteme wie INTEGRITY, VxWorksund Linux aus. Dabei nutzt der Padded Cell Secure Hypervisor Hardware-Virtuali-sierungssupport, z.B. Intels vPro-Technologie, um eine optimale Performance beider Virtualisierung ohne Sicherheitseinbußen bereitzustellen.Green Hills Software Tel +49 (0)721 98 62 580

www.ese-report.deGreen Hills Software: Informationen zum Thema 246516

emlix

Build-System für LinuxEmlix hat auf der Embedded World 2008 erstmals ihr emlix Em-bedded Build System, e2 factory für die Linux-Entwicklung vor-gestellt. Neben einem reproduzierbaren Erstellungsprozess vonLinux-Systemen unterstützt das Werkzeug verteiltes Arbeitenund erlaubt es so, Kunden und Partner besser in den Entwick-lungs- und Wartungsprozess mit einzubeziehen.Embedded-Linux-Systeme bestehen aus einer Vielzahl einzelnerSoftwarekomponenten (Pakete), die hardware- und funktions-optimiert zu einem Board Support Package (BSP) zusammenge-stellt werden. Genau für diesen Prozess sowie für die standortü-bergreifende Zusammenarbeit von Entwicklern hat emlix dasBuild System e2 factory entwickelt.Das System erlaubt es, ein Board Support Package zu reprodu-zieren und verbessert damit die Wartbarkeit über den gesamtenLebenszyklus hinweg. e2 factory eignet sich zudem als Basis fürden Support von Endprodukt-Herstellern.

Das Tool basiert auf einem Software-Repository, in dem alleverwendeten Pakete optimiert und validierbar gepflegt werden.Damit ermöglicht es eine durchgängige Versionsverwaltung undCrossentwicklung bei zentralem Software- und Konfigurations-management. Dies gilt laut Hersteller uneingeschränkt auch fürdie Integration von Softwarekomponenten weiterer Partner.Durch die Unabhängigkeit von einem konkreten Sourcecode-Managementsystem lassen sich Innovationen aus der OpenSource Community auch noch während des Entwicklungspro-zesses integrieren. Darüber hinaus dokumentiert e2 factory au-tomatisch die einzelnen Open-Source-Lizenzen der jeweils ver-wendeten Softwarebausteine und ermöglicht somit einenrechtssicheren Umgang mit freier Software.emlix Tel. +49 (0)551 306640

www.ese-report.deemlix: Alle Details zu e2 factory 244293

Micro Framework für Kleingeräte

Version 2.5 bessert Programmierung vernetzter GeräteDas .NET Micro Framework in der Version 2.5 von Microsoft richtet sichspeziell an Entwickler und Gerätehersteller für Web Services on Devices(WSD) und unterstützt integrierte TCP/IP-Stacks. .NET-Entwickler sind soin der Lage, kleine Geräte schneller und kostengünstiger zu entwickeln. Esergänzt das Windows Embedded CE, das für hochentwickelte Geräte ver-wendet werden kann.Zu den Eigenschaften der Version 2.5 gehört ein Web Service on Devices(WSD) Technology Preview: Das WSD ist mit der in Windows Vista undanderen Windows-Embedded-Produkten vorhandenen Implementierungkompatibel. Das Gerät bietet die Möglichkeit, sich in einem Netzwerk an-

zumelden und beispielsweise mit Druckern oder Haushaltsgeräten mitzu-teilen, welche Funktionen es auf welche Art und Weise zur Verfügungstellt. Mit WSD erweitert Microsoft die Plug-and-play-Technologie aufEthernet-basierende Geräte.Als zweite Eigenschaft ist der Native TCP/IP Stack Support zu nennen: DieVersion enthält einen eigenen TCP/IP-Stack. Gerätehersteller können lautMicrosoft einfacher netzwerkfähige Plattformen entwickeln. (heh)Microsoft Deutschland Tel. +49(0) 89 31760

www.elektronikpraxis.deHintergrundinformationen zum MicroFramework 247276

Page 15: Embedded Software Engineering Report · 2013. 5. 21. · DerInfodienstfürEmbedded-Software-Entwickler SponsordieserAusgabe: AusgabeApril2008–3.Jahrgang. 2 StudieSoftware-Outsourcing

15

Denkanstoß

Projektkrisen und der Untergang der TitanicKrisensitzung: Der Kunde hat wutentbranntden Chef zusammengestaucht. Die kürzlichgelieferte Maschine weist sporadisch Fehl-funktionen auf. Der Chef steht sichtlich un-ter Strom. Er brüllt, begleitet von einemkräftigen Faustschlag auf den Tisch: „DieMaschine läuft nicht sauber! Der Kundedroht mit juristischen Konsequenzen. Was istda schief gelaufen?“ In solchen Situationenist es hilfreich, wenn wir mit den Feinheitender menschlichen Kommunikation vertrautsind.

die Sache enthält. Sie sagt auch etwas über denSender selbst und seine Beziehung zum Emp-fänger aus. Schließlich enthält sie auch einenAppell an den Empfänger. Wir sprechen quasimit vier „Zungen“ und hören entsprechendauch mit vier „Ohren“.

Vier Ebenen der menschlichenKommunikationIch erläutere dieses Modell anhand unserer Kri-sensitzung. Betrachten wir die Äußerung desChefs, gibt es offensichtlich nicht nur densachlichen Inhalt, dass eine Maschine versagthat. Es stecken weitere Botschaften in seinerAussage. Sie drückt seine derzeitige Stimmungaus („Ich bin stinksauer!“), beschreibt seine Be-ziehung zu seinen Mitarbeitern („Ich bin derBoss, und Ihr seid schuld!“) und enthält schließ-lich einen Appell („Liefert mir den Sünden-bock!“). Auch wenn nicht alle diese Botschaftenverbal und explizit mitgeteilt werden, sind sie inForm von Tonfall, Mimik und Gestik ein Teil derNachricht. In welchem Ausmaß die vier ver-schiedenen „Zungen“ die Nachricht prägen,hängt von der Persönlichkeit, der Vorgeschichteund der aktuellen Situation des Senders ab. Wiekönnte nun die Nachricht auf die Empfängerwirken? Sie haben vier „Ohren“, mit denen sieihre Interpretation herausfiltern. Der Hardwer-ker geht z.B. „sachlich“ davon aus, dass es so-wieso ein Softwareproblem sein muss. DasSelbstoffenbarungs-Ohr des Projektleiters hältseinen Chef für einen unsachlichen Choleriker.Das Beziehungsohr des unerfahrenen Softwer-kers fürchtet, dass er als Sündenbock herhaltenmuss. Das Appell-Ohr des alten Hasen hört, dasseine Rechtfertigung fällig ist. Er legt sich vor-sichtshalber seine Verteidigungsrede zurecht.Offensichtlich hängt die Interpretation der Teil-Botschaften auch von der Persönlichkeit, derVorgeschichte und der aktuellen Situation derEmpfänger ab.

Emotionale Kommunikationals ErfolgsfaktorDas Beispiel macht uns klar, dass die sachlicheInformation weder für den Chef noch für dieEntwickler die entscheidende Bedeutung habenmuss. Der Chef will vor allem erst einmal Dampfablassen. Die Softwerker fühlen sich persönlichbedroht. Der sachliche Anteil der Kommunikati-on lässt sich anschaulich mit der Spitze einesEisbergs vergleichen, die aus dem Wasser ragt.Doch seit dem Untergang der Titanic wissen wir,welcher Teil des Eisbergs wesentlich größer undgefährlicher ist. Wie reagiert nun der typische„homo technicus“, sprich Ingenieur? Er tut so,als gäbe es nur die sachliche Ebene. Nehmenwir an, die Leute im Team vermuten, dass einSündenbock gesucht wird. Sie werden versu-

chen, den Schwarzen Peter loszuwerden. DerTester hat schlecht getestet, der Entwickler un-sauber programmiert, der Systemarchitekt un-genau spezifiziert, die Projektleitung versagt.E-Mails werden ausgetauscht, Memos und Pro-tokolle seziert, Schützengräben ausgehobenund organisatorische Verteidigungswälle errich-tet. An der Wasseroberfläche bleibt alles sach-lich, doch darunter brodelt es. Vielleicht pas-siert aber auch etwas Erstaunliches und einfrustrierter Kollege äußert sich auf einmal ganzunsachlich: „Dieser Kleinkrieg nimmt mir dieFreude an der Arbeit. Ich will keine Angst davorhaben, darüber zu sprechen, was schief gelau-fen ist und wünsche mir, dass wir offen darüberreden. Nur so können wir Stärken nutzen,Schwächen erkennen und Lösungen finden. Wirsitzen doch alle in einem Boot.“ Endlich ist esraus. Betretenes Schweigen. Das hat sich bisherkeiner getraut, und viele hätten es nicht so aus-drücken können. Kein Problem: Kommunikationjenseits der Sachlichkeit lässt sich lernen. Werglaubt, darauf verzichten zu können, denke bit-te an das Schicksal der Titanic.

Embedded Software Engineering Report Kolumne

Peter Siwon ist Geschäftsführer von Micro-Consult und besitzt langjährige Erfahrung imCoaching von Entwicklungsteams. Seine Ko-lumne „Denkanstoß“ erscheint monatlich aufese-report.de. Kontakt: [email protected]

Bild 1:Dieses Modell menschlicher Kommunikationgeht davon aus, dass wir mit jeder Nachrichtnicht nur sachliche Informationen, sondernauch Informationen über uns selbst, unsereBeziehung zum Empfänger und unsere Erwar-tungen an den Empfänger übermitteln. Die In-terpretation des Empfängers verwendet diegleichen Kriterien.

www.elektronikpraxis.de

■ 7 Tipps für IhreKommunikationskompetenz

250015

Peter Siwon

Wie schnell ein Team vom Schockzustand aufeinen Lösungsweg abbiegt, hängt in hohemMaße von seinem Kommunikationsgeschick ab.Je komplexer die technische oder menschlicheHerausforderung, desto wichtiger ist diese Fä-higkeit. Dabei trägt alles, was wir tun, zur Kom-munikation bei - auch tatenloses Schweigen.„Wir können nicht nicht kommunizieren“, for-mulierte Paul Watzlawick, einer der großenKommunikationswissenschaftler, sehr treffend.Psychologen haben ein hilfreiches Modell derKommunikation entwickelt. Es geht davon aus,dass jede Nachricht nicht nur Botschaften über

Page 16: Embedded Software Engineering Report · 2013. 5. 21. · DerInfodienstfürEmbedded-Software-Entwickler SponsordieserAusgabe: AusgabeApril2008–3.Jahrgang. 2 StudieSoftware-Outsourcing