+ All Categories
Home > Documents > ELEKTRONIKPRAXIS – ESE-Report September 2009 · Microsoft Remote Desktop Protocol (RDP) 7.0 und...

ELEKTRONIKPRAXIS – ESE-Report September 2009 · Microsoft Remote Desktop Protocol (RDP) 7.0 und...

Date post: 24-Jul-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
16
Inhalt: www.ese-report.de Download CTP und Webinar Technical Overview Windows Embedded Standard 2011 316691 Microsoft Windows-Preview verfügbar Neugierige können sich Microsofts Plattform Windows Embedded Standard 2011 ab sofort als Community Technology Preview (CTP) im Internet holen. Die offizielle Markteinführung ist in der zweiten Jahreshälfte 2010 geplant. Windows Embedded Standard 2011 baut auf Win- dows 7 auf, mit der von Windows-PCs, -Servern und Online-Diensten gewohnten Umgebung. Es ist komponentenbasiert, individuell anpassbar und bietet laut Microsoft die Leistung und Betriebs- sicherheit von Windows 7. Die Philosophie von Microsoft: OEMs aus Industrie- automatisierung und Unterhaltungselektronik kön- nen sich mit Windows Embedded Standard 2011 einfach nur die Komponenten aussuchen, die sie benötigen. Dieses Komponenten-Konzept sowie die vertrauten Entwicklungswerkzeuge sollen bei einer schnellen Marktreife von Produkten helfen. Kevin Dallas, General Manager, Windows Embed- ded Business, Microsoft. „Mit Windows Embedded Standard 2011 CTP können unsere Partner, Ent- wickler und Gerätehersteller weltweit von den neuen Funktionen von Windows 7 profitieren. Wir möchten alle ermutigen, sämtliche Vorteile dieses Angebots auszuschöpfen und hoffen auf ihr Feed- back. Wir freuen uns auf die weiteren Fortschritte der Windows Embedded Plattform mit Windows 7 Technologien.“ Funktionen von Windows Embedded Standard 2011 Aktuelle Windows-Technologien bedeutet z.B.: die Sicherheit des Internet Explorers 8, erweiterte Media-Funktionen des Windows Media Players 12, Microsoft Remote Desktop Protocol (RDP) 7.0 und Microsoft .NET Framework 3.5. Die Plattform 2011 bietet ferner Unterstützung für 64-Bit-CPUs und eine verbesserte Bedienoberfläche auf Basis von Windows Aero, Windows Flip 3-D-Navigation (ver- besserte Fensterdarstellung), das Grafik-Framework Windows Presentation Foundation, Windows Touch zur Erkennung von mehreren Bediengesten auf der Oberfläche und kontextbewussten Anwendungen sowie intelligentes Strommanagement. Der Pre- view-Download sowie Informationen zu Trainings- und Webinarangeboten von Microsoft finden sich im Internet. (mh) Embedded Software Engineering Report Aktuell – Microsoft: Preview Windows CTP verfügbar S. 1 | Mentor Graphics: RTOS, Linux und Android im Paket S. 2 | emlix und Advantech: Embedded Linux und Board für Industrial S.2 | Universität des Saarlandes: Junger Informatiker unter den weltweit 35 besten Forschern S. 3 | Management – Wenn Projekte unter Reportismus leiden S. 4 | PRQA – MISRA-Check für die Werkzeugentwicklung S. 6 | Fortbildung – Embedded Software Engineering Kongress: 3 Tage Software pur – Programm und Inhalte S. 8 | Fachwissen – Open Source Tools: Code-Analyse mit Valgrind S. 12 | Open-Source-Betriebssystem auf OSEK-Basis für jedermann S.14 | Impressum S.13 | Liebe Leser, dieses Jahr bewegt sich einiges im Be- triebssystem-Markt. In der letzten Ausgabe von ESE Report berichteten wir bereits über die Übernahme der Branchengröße Wind River durch den Chipriesen Intel, die vielleicht den einen oder anderen Nicht-Intel-Nut- zer aufhorchen lassen hat. In der Zwischenzeit hat sich EDA- und Em- bedded-Spezialist Mentor Graphics zu Wort gemeldet und die Übernah- me von Embedded Alley sowie eine damit verbundene Strategie bei Linux und Android bekannt gegeben (Seite 2) − zwei Themenfelder, auf denen sich auch Wind River tummelt. Szenenwechsel: Microsoft gewährt ab diesen Herbst erste Life-Einblicke in sein Windows Embedded Standard 2011 (siehe Titelstory). Im Angebot haben wir ab Seite 14 ferner ein „OSEK-Betriebssystem für jeder- mann“, das an der Fachhochschule Regensburg entstanden ist. Was Sie in dieser Ausgabe außerdem finden: Experten-Tipps zum Open- Source-Werkzeug Valgrind und das Programm zum ESE Kongress 2009. Martina Hafner, Redakteurin Kevin Dallas, General Manager, Windows Embedded Business, Microsoft: „Mit Win- dows Embedded Standard 2011 CTP können unsere Partner, Entwickler und Gerätehersteller weltweit von den neuen Funkti- onen von Windows 7 profi- tieren.” Der Infodienst für Embedded-Software-Entwickler Sponsor dieser Ausgabe: www.ese-report.de Ausgabe September 2009 – 4. Jahrgang
Transcript
Page 1: ELEKTRONIKPRAXIS – ESE-Report September 2009 · Microsoft Remote Desktop Protocol (RDP) 7.0 und Microsoft .NET Framework 3.5. Die Plattform 2011 bietet ferner Unterstützung für

Inhalt:

www.ese-report.de

■ Download CTP und Webinar TechnicalOverview Windows Embedded Standard 2011

316691

Microsoft

Windows-Preview verfügbarNeugierige können sich Microsofts PlattformWindows Embedded Standard 2011 ab sofort alsCommunity Technology Preview (CTP) im Internetholen. Die offizielle Markteinführung ist in derzweiten Jahreshälfte 2010 geplant.

Windows Embedded Standard 2011 baut auf Win-dows 7 auf, mit der von Windows-PCs, -Servernund Online-Diensten gewohnten Umgebung. Es istkomponentenbasiert, individuell anpassbar undbietet laut Microsoft die Leistung und Betriebs-sicherheit von Windows 7.Die Philosophie von Microsoft: OEMs aus Industrie-automatisierung und Unterhaltungselektronik kön-nen sich mit Windows Embedded Standard 2011

einfach nur die Komponenten aussuchen, die siebenötigen. Dieses Komponenten-Konzept sowie dievertrauten Entwicklungswerkzeuge sollen bei einerschnellen Marktreife von Produkten helfen.Kevin Dallas, General Manager, Windows Embed-ded Business, Microsoft. „Mit Windows EmbeddedStandard 2011 CTP können unsere Partner, Ent-wickler und Gerätehersteller weltweit von denneuen Funktionen von Windows 7 profitieren. Wirmöchten alle ermutigen, sämtliche Vorteile diesesAngebots auszuschöpfen und hoffen auf ihr Feed-back. Wir freuen uns auf die weiteren Fortschritteder Windows Embedded Plattform mit Windows 7Technologien.“

Funktionen von WindowsEmbedded Standard 2011Aktuelle Windows-Technologien bedeutet z.B.: dieSicherheit des Internet Explorers 8, erweiterteMedia-Funktionen des Windows Media Players 12,Microsoft Remote Desktop Protocol (RDP) 7.0 undMicrosoft .NET Framework 3.5. Die Plattform 2011bietet ferner Unterstützung für 64-Bit-CPUs undeine verbesserte Bedienoberfläche auf Basis vonWindows Aero, Windows Flip 3-D-Navigation (ver-besserte Fensterdarstellung), das Grafik-FrameworkWindows Presentation Foundation, Windows Touchzur Erkennung von mehreren Bediengesten auf derOberfläche und kontextbewussten Anwendungensowie intelligentes Strommanagement. Der Pre-view-Download sowie Informationen zu Trainings-und Webinarangeboten von Microsoft finden sichim Internet. (mh)

Embedded SoftwareEngineering Report

Aktuell – Microsoft: Preview Windows CTP verfügbar S. 1 | Mentor Graphics: RTOS, Linux und Android im Paket S. 2 | emlix und Advantech:Embedded Linux und Board für Industrial S.2 | Universität des Saarlandes: Junger Informatiker unter den weltweit 35 besten Forschern S. 3 |Management – Wenn Projekte unter Reportismus leiden S. 4 | PRQA – MISRA-Check für die Werkzeugentwicklung S. 6 | Fortbildung –Embedded Software Engineering Kongress: 3 Tage Software pur – Programm und Inhalte S. 8 | Fachwissen – Open Source Tools: Code-Analysemit Valgrind S. 12 | Open-Source-Betriebssystem auf OSEK-Basis für jedermann S.14 | Impressum S.13 |

Liebe Leser,

dieses Jahr bewegt sich einiges im Be-triebssystem-Markt. In der letztenAusgabe von ESE Report berichtetenwir bereits über die Übernahme derBranchengröße Wind River durch denChipriesen Intel, die vielleicht deneinen oder anderen Nicht-Intel-Nut-zer aufhorchen lassen hat. In derZwischenzeit hat sich EDA- und Em-bedded-Spezialist Mentor Graphicszu Wort gemeldet und die Übernah-me von Embedded Alley sowie einedamit verbundene Strategie bei Linuxund Android bekannt gegeben

(Seite 2) − zwei Themenfelder, aufdenen sich auch Wind River tummelt.Szenenwechsel: Microsoft gewährt abdiesen Herbst erste Life-Einblicke insein Windows Embedded Standard2011 (siehe Titelstory). Im Angebothaben wir ab Seite 14 ferner ein„OSEK-Betriebssystem für jeder-mann“, das an der FachhochschuleRegensburg entstanden ist.Was Sie in dieser Ausgabe außerdemfinden: Experten-Tipps zum Open-Source-Werkzeug Valgrind und dasProgramm zum ESE Kongress 2009.

Martina Hafner, Redakteurin

Kevin Dallas, GeneralManager, WindowsEmbedded Business,Microsoft: „Mit Win-dows EmbeddedStandard 2011 CTPkönnen unserePartner, Entwicklerund Gerätehersteller

weltweit vonden neuenFunkti-onen vonWindows7 profi-tieren.”

nen sich mit Windows Embedded Standard 2011

Kevin Dallas, GeneralManager, WindowsEmbedded Business,Microsoft: „Mit Win-dows EmbeddedStandard 2011 CTPkönnen unserePartner, Entwicklerund Gerätehersteller

weltweit vonden neuenFunkti-

Der Infodienst für Embedded-Software-Entwickler Sponsor dieser Ausgabe:www.ese-report.de Ausgabe September 2009 – 4. Jahrgang

Page 2: ELEKTRONIKPRAXIS – ESE-Report September 2009 · Microsoft Remote Desktop Protocol (RDP) 7.0 und Microsoft .NET Framework 3.5. Die Plattform 2011 bietet ferner Unterstützung für

Embedded Software Engineering Report Aktuelles

Glenn Perry,MentorGraphics:Mit Fir-menüber-nahmedasAndroid-/Linux-Segmenterweitern

Professional Edition (Vertrieb über emlix) erlaubtden direkten Start in Entwicklungsprojekte. Umdies auch windowsbasierten Arbeitsplätzen zuermöglichen, ist ein komplettes Linux-Systemmit vorkonfigurierter Eclipse-IDE auf Basis vonVirtualBox auf der DVD verfügbar.Das BSP wurde in e2 factory entwickelt, einemEmbedded-Build-System von emlix, um langfris-tige Wart- und Reproduzierbarkeit zu garantie-ren. e2 factory biete zudem eine hervorragendeBasis für verteilte Entwicklungsarbeit über meh-rere Standorte hinweg und für langfristige Platt-formstrategien, heißt es aus dem Hause emlix.

Low-Power-Strategieund schnelle BootzeitenDas EVA-X4150 Board adressiert Gerätehersteller,die zukünftig den Standard nutzen möchten, denx86 bietet, sowie Umsteiger von 386er auf 486erProzessoren. Die beiden Linux-Lösungen bietenlaut emlix gegenüber Linux-Standarddistributi-onen erhebliche Vorteile: Das BSP unterstützt die

„Im Bereich Industrie-PC nimmt dieBedeutung von professionellen Embedded-Linux-Lösungen deutlich zu“, Uwe Kracke,Geschäftsführer von emlix

Mit der Übernahme von Embedded AlleySolutions erweitert EDA-Spezialist MentorGraphics sein Embedded-Software-Angebotum Linux- und Android-Lösungen.

Durch die Übernahme des Embedded-Software-Spezialisten Embedded Alley Solutions erweitertMentor Graphics‘ Embedded-Division die bishe-rige Produktpalette aus dem Echtzeit-Betriebs-system Nucleus, Tools und Middleware umAndroid- und Linux-basierte Lösungen undKnowhow. „Unsere Strategie unterstützt zweistarke Trends, die wir bei der Entwicklung vonEmbedded-Geräten sehen“, so Glenn Perry, Ge-neral Manager der Embedded Systems Divisionvon Mentor Graphics. „Einer ist die große Nach-frage nach Googles Android-Plattform in Gerä-ten jenseits der Mobiltelefone, für die Androidursprünglich entwickelt wurde. Der andere istder zunehmende Einsatz von Multicore-Prozes-soren zusammen mit verschiedenen Betriebssys-

temen, üblicherweise Linux und RTOS-Lö-sungen.“ Mit der jüngsten Firmenübernahmebietet Mentor nun also Produkte für genau sol-che Konstellationen aus einer Hand. Eine ähn-liche Kombination aus RTOS, Linux und Androidbietet auch Wind River, die seit Kurzem zu Intelgehören.Auf der Webseite von Mentor finden sichdiverse Informationen zur Android-Technologiewie Videos, Produktdemos und ein Webinar„Getting Started with Android Development“.Mentors Ecosystem für Android- und Linux-ba-sierte Geräte wird von Halbleiterpartnern wieARM, Freescale, Marvell, MIPS, RMI und TexasInstruments unterstützt. Das Unternehmen kün-digte auch Support für die Mali-Grafikprozes-sorfamilie von ARM, die Power-Architektur-Prozessoren von Freescale und die Sheeva-MV78200-Dual-Core-Embedded-Prozessorenvon Marvell an. (mh)Mentor Graphics Tel. +49(0)89 570960

Glenn Perry,MentorGraphics:Mit Fir-menüber-nahmedasAndroid-/Linux-Segmenterweitern

www.ese-report.de

■ Android/Linux bei Mentor Graphics

315266

Mentor Graphics

RTOS, Linux und Android im Paket

2

Advantech und emlix

Embedded-Linux und Board für IndustrialDer Anbieter von Industrie-PCs Advantech und emlix, Entwicklungs-Dienstleister fürEmbedded-Open-Source-Systeme haben gemeinsam zwei Embedded Linux BoardSupport Packages für den Industrial-Bereich entwickelt.

www.ese-report.de

■Weitere Informationen zu emlix

■Weitere Informationen zu Advantech

314078

„Im Bereich Industrie-PC nimmt dieBedeutung von professionellen Embedded-Linux-Lösungen deutlich zu“,Geschäftsführer von emlix

Low-Power-Strategie von Advantech, indem esdie Ressourcen des Chips optimal nutzt: Das Em-bedded-Betriebssystem ist auf die tatsächlichenHardwarefunktionen reduziert. Die Bootzeitensind mit unter zehn Sekunden bis zum Start derApplikation angegeben. Außerdem ist das ge-samte BSP auf x86/486 hin optimiert, im Gegen-satz zu Linux-Standarddistributionen, die fürDesktop- und Serversysteme ausgelegt sind.„Wir wollen unseren Kunden nicht alleine Hard-waremodule anbieten, sondern attraktive Sys-temlösungen aus Hard- und Software. Geradedie Linux-Unterstützung bietet umfangreichePotenziale im Industrial-Bereich“, kommentiertHans Ibler, Manager Technical Support EuropeeP bei Advantech das Projekt.„Im Bereich Industrie-PC nimmt die Bedeutungvon professionellen Embedded-Linux-Lösungenin den vergangenen zwei Jahren deutlich zu“,erklärt Uwe Kracke, Geschäftsführer von emlix.„Advantech adressiert diesen Markt nicht nurauf Hardwareebene, sondern bietet attraktiveBundle und Projektsupport. Das ist in unserenAugen genau der richtige Weg für eine lang-fristige Zusammenarbeit mit industriellenGeräteherstellern.“ (mh)emlix Tel. +49(0)551 306640

Für das Evaluierungsboard EVA-X4140 Boardvon Advantech ist seit Kurzem von emlix einEmbedded Linux Board Support Package in denVersionen Evaluation und Professional verfüg-bar. Die beiden BSPs sind Ergebnisse einerZusammenarbeit zwischen dem AdvantechEuropean Design Center in Amberg und emlixzur Portierung von Linux auf Advantech SoC-basierende Boards und Systeme.Die Evaluation Edition des hardwarespezifischenBoard Support Package (BSP) wird von Advan-tech mit dem EVA-X4150 Board ausgeliefert unddient zunächst der Evaluation der Hardware. Die

Page 3: ELEKTRONIKPRAXIS – ESE-Report September 2009 · Microsoft Remote Desktop Protocol (RDP) 7.0 und Microsoft .NET Framework 3.5. Die Plattform 2011 bietet ferner Unterstützung für

Das Massachusetts Institute of Technology(MIT) in den USA ist eine der international füh-renden Universitäten für technologische For-schung und Lehre. Seit 2005 kürt das Elite-Institut jedes Jahr die besten 35 Forscher undErfinder auf der ganzen Welt. Zum ersten Malist ein deutscher Wissenschaftler dabei: Der31-jährige Michael Backes, Informatik-Profes-sor der Universität des Saarlandes, erhielt imSeptember diese hohe Auszeichnung.Mit dem „TR35“ zeichnet das MIT jedes Jahrweltweit 35 junge Forscher aus, die besondersherausragende Forschungsarbeiten oder Erfin-dungen vorweisen können und die nach Mei-nung des MIT damit die Welt verändern werden.Die Forschungsprojekte stammen aus verschie-denen Fachgebieten, von der Medizin über dieInformatik und Kommunikationsbranche bishin zur Elektronik und Nanotechnologie.

Backes Spezialgebiet:Die InformationssicherheitMichael Backes stammt aus dem Saar-land, hat in Saarbrücken Informatik undMathematik studiert und über ein Themader Informationssicherheit promoviert. An-schließend forschte er drei Jahre lang im IBM-Forschungslabor in Zürich. Dort war er verant-wortlich für die Forschung im Bereich der Si-cherheit von Web Services sowie der Verknüp-fung der maschinell durchführbaren Analysevon Sicherheitsprotokollen mit der zu Grundeliegenden Kryptografie. Seit 2006 ist BackesProfessor für Informationssicherheit und Kryp-tografie an der Universität des Saarlandes. Seitzwei Jahren ist er zudem Fellow der Max-Planck-Gesellschaft (MPG) und leitet eine Ar-beitsgruppe am Max-Planck-Institut für Soft-waresysteme am Standort Saarbrücken.Im Mittelpunkt von Backes Forschung stehendie Informationssicherheit und moderne Kryp-tografie. Dazu gehört zum Beispiel die Frage,wie neuartige kryptografische Verfahren undBeweistechniken das Internet und die mobileDatenübertragung sicherer machen können.Backes betrachtet es als oberstes Gebot, dassman im Internet so wenig persönliche Datenwie möglich preisgeben muss, aber dennochden optimalen Nutzen erhält. Wenn zum Bei-spiel ein Videoverleih wissen will, ob der Nutzerüber zwölf Jahre alt ist, so muss dieser bishereine Kopie des Personalausweises einsenden.Dort stehen aber Informationen, die einen Vi-deoverleih nichts angehen. Backes forscht da-her an Systemen, die mit dem so genannten„Zero Knowledge Proof“ arbeiten. Dieser Beweisbesagt, dass man im Internet dem Partner seine

Michael Backesstammt ausdem Saar-land, hatInforma-tik undMathe-matikstudiertund ist Ex-perte fürInformationssi-cherheit

Embedded Software Engineering Report Aktuelles

Universität des Saarlandes

Junger Informatiker geehrt

Identität glaubwürdig vermitteln kann, ohnedass der Gegenüber weiß, wer man ist. DerSaarbrücker Wissenschaftler hat diese Ver-fahren, die auf dem „Zero Knowledge Proof“basieren, weiter entwickelt und eine Art„Black Box“ entworfen, in der jeder Internet-nutzer seine persönlichen Angaben verschlüs-selt hinterlegt. Je nach Anforderungen gibtdiese Blackbox nur genau die Details preis,die für die Anwendung benötigt werden. Einweiteres Anwendungsszenario für seine Ver-fahren sind die elektronischen Wahlen, diemittlerweile in verschiedenen Ländern ange-wendet werden. Dort besteht die Heraus-forderung, ein System zu schaffen, in demanonym gewählt werden kann, trotzdem aberklar wird, dass man seine Stimme abgegebenhat.In der jüngeren Vergangenheit erregte BackesAufsehen damit, dass er vor ungewöhnlichenSpionagemethoden warnte. Zum einen konn-te er zeigen, dass man aus den Geräuschenvon Nadeldruckern die geschriebenen Texterekonstruieren kann. Außerdem erforschteer mit seinem Team die Möglichkeit, überReflektionen in Kaffeetassen, Teelöffeln oderauch dem menschlichen Auge die Inhalte vonBildschirmen abzulesen. (mh)

(MIT) in den USA ist eine der international füh-renden Universitäten für technologische For-

Institut jedes Jahr die besten 35 Forscher undErfinder auf der ganzen Welt. Zum ersten Mal

31-jährige Michael Backes, Informatik-Profes-

weltweit 35 junge Forscher aus, die besondersherausragende Forschungsarbeiten oder Erfin-dungen vorweisen können und die nach Mei-nung des MIT damit die Welt verändern werden.Die Forschungsprojekte stammen aus verschie-denen Fachgebieten, von der Medizin über die

Michael Backesstammt ausdem Saar-land, hatInforma-tik undMathe-matikstudiertund ist Ex-perte fürInformationssi-cherheit

Der 31-jährige Michael Backes ist der erste deutsche Wissenschaftler, der dierenommierte Auszeichnung TR35 der Universität Massachusetts Institute of Technologyfür Forschungsarbeiten „die die Welt verändern werden“ erhält.

Page 4: ELEKTRONIKPRAXIS – ESE-Report September 2009 · Microsoft Remote Desktop Protocol (RDP) 7.0 und Microsoft .NET Framework 3.5. Die Plattform 2011 bietet ferner Unterstützung für

4

Projektmanagement

Wenn Projekte unter Reportismus leiden

Embedded Software Engineering Report Fachwissen

Jeder einzelne Projektbeteiligte ist einePerson mit Stärken und Schwächen undvertritt zumindest zu einem gewissen Teilseine eigenen Interessen. Daraus resultierenVerhaltensmuster, die ein Projekt behindernoder sogar zum Scheitern bringen können.

Chris Rupp, Christian Pikalek*

„Muster“ ist ein abstrakter Begriff, dem wir täg-lich begegnen. Sie erstrecken sich von der Ver-teilung der Mobilfunkantennen in Ihrer Stadt,den Bezügen Ihrer Möbelstücke bis hin zu un-seren Fingerabdrücken. So zahlreich wie esMuster in der Welt außerhalb von uns gibt, sozahlreich sind sie in unserem Innenleben undunseren sozialen Interaktionen. Damit meinenwir die psychischen Muster unserer Innen-welten. Ihre Ausprägungen sind vielfältig, dasie von einer Kombination unterschiedlicherFaktoren beeinflusst werden. Jedes Muster istabhängig von einzelnen Gedanken, Gefühlen,Bedürfnissen, Wahrnehmungen und der subjek-tiven Interpretationen eines jeden Menschen.Die meisten psychischen Muster lassen sich derUnterkategorie der Verhaltensmuster zuordnen,d.h. sie haben Auswirkungen auf die Außen-welt. Viele dieser kleinen neurotischen Verhal-tensmuster kennen Sie vielleicht aus Ihrem Pri-vatleben. Man vermeidet z.B. überdicke Bücher,denn die sind ja sowieso ewig langweilig. Oderman hinterfragt nicht die Aussagen von Ärzten,Juristen und ähnlichen Experten denn die sindja die Spezialisten werden schon genau wissenwas sie tun.Verhaltensmuster werden von vielen Psycholo-gen als meist unbewusst eingeübte Handlungs-weisen gedeutet, deren Wiederholung demIndividuum in einer bestimmten Situation dasGefühl von Sicherheit oder Akzeptanz vermit-telt oder allgemein gesprochen, das Erfahrenvon unangenehmen Gefühlen verhindert oderdie Auseinandersetzung damit.

Der „Reportismus“ oder„Managerismus“Die Lösung privater negativer Muster mag andieser Stelle dahin gestellt bleiben. Hier soll esdarum gehen, welche Verhaltensmuster im ge-

schäftlichen Bereich, aber vor allem bei Pro-jekten und deren Beteiligten auftreten und wiediese den Erfolg beeinflussen.Das Ziel eines Projekt ist meist ein fertiges Pro-dukt, welches am Ende perfekt funktionierensoll und die Bedürfnisse unserer Kunden befrie-digt. Doch auf dem Weg dorthin treffen wirimmer wieder auf Verhaltensmuster von Men-schen und Teams, die oft negative Auswir-kungen auf ein Projekt haben. Diese Verhal-tensmuster zeigen sich z.B. in einer übertrie-benen Sparsamkeit auf Seiten des Auftragge-bers oder in Versprechen des Analytikers, dieparallel zur Realität verlaufen. Ein typischer Falleines Verhaltensmusters, das den Projektfort-schritt verhindern kann, ist der„Reportismus“oder auch „Managerismus“. Der Ablauf lässt sichsehr schön an einem Fallbeispiel erklären.1. Phase: Am Anfang war alles gut, ...Wie in jedem Projekt beginnt auch der „Repor-tismus“ in unserem Projekt mit einem Kickoff-Meeting. Unser Projektmanager und unserefünf Beteiligten erarbeiten zusammen die Zieledes Projekts, klären die Rahmenbedingungenwie zur Verfügung stehende Zeit und Ressour-cen, mögliche Risiken, etc. All diese Punktewerden im Vorgehen berücksichtigt und ver-

bindlich festgelegt, für welches Problem oderfür welche Fragestellung welches administrativeDokument von den Projektbeteiligten zu erstel-len und zu pflegen ist. In unserem „imaginären“Projekt wollen wir davon ausgehen, dass mansich darauf geeinigt hat, dass zur Ressourcen-und Fortschrittskontrolle die einzelnen Be-reichsverantwortlichen dem Projektmanagereinmal wöchentlich den aktuellen Stand ihrerArbeitspakete mitteilen, sodass die aktuelleAuslastung immer transparent ist. So weit sogut!2. Phase: ... dann fängt es so langsam an ...Nachdem die ersten drei Wochen unseres Pro-jekts ohne Zwischenfälle verliefen, d.h. die Be-reichsverantwortlichen meldeten wie vereinbartwöchentlich den aktuellen Stand ihrer Arbeits-pakete, erhalten alle Beteiligten eine freund-liche E-Mail ihres Projektmanagers:„Hallo zusammen, im Ordner xy habe ich eineExceldatei „Anwesenheit.xls“ erstellt in der Siebitte dringend Ihre Anwesenheit vor Ort eintra-gen und diese wöchentlich aktualisieren. Mitfreundlichen Grüßen.“Na gut, alles halb so schlimm, könnte man sichdenken doch einen halben Tag später: „Hallozusammen, im Ordner xy habe ich eine Excelda-tei „Ressorcen.xls“ erstellt in der Sie bitte drin-gend Ihren geplanten Ressourcen für unser Pro-jekt eintragen und diese wöchentlich aktuali-sieren. Mit freundlichen Grüßen.“Ressourcenplanung ist natürlich wichtig, auchwenn diese eigentlich bereits im Projektplansteht. Aber na ja, tragen wir sie ein!3. Phase: ... bis es richtig lustig wird!Zur Wiederholung: Wir haben unseren Projekt-plan mit Arbeitspaketen und Ressourcen unddie Datei „Anwesenheit.xls“ und „Ressourcen.xls“ die ab der vierten Projektwoche von jedem

Illustration „Reportismus“ oder „Managerismus“: Wildwuchs beim Reporting bindet Ressourcen,die dann für die eigentliche Arbeit fehlen.

*Chris Rupp liefert durch ihre Publikati-onen und Vorträge immer wieder wich-tige Impulse für die Bereiche Require-ments Engineering und Objektorientie-rung. Erfindungen von ihr und denSOPHISTen legten die Basis des moder-nen Requirements Engineering. Chris istGeschäftsführerin der SOPHIST GmbH.Kontakt: [email protected].

*Christian Pikalek schloss sich den SO-PHISTen im Herbst 2003 nach Abschlussseines Geografie-Studiums an. Seit sei-ner Kehrtwende zum Systemanalytikerbeschäftigt er sich mit der Erhebungund Dokumentation von funktionalenund nicht funktionalen Anforderungen.Daneben konzentrieren sich seine For-schungsschwerpunkte auf die Bereiche

Innovationsmanagement und die Möglichkeiten des RequirementsEngineering innerhalb von Offshore-Projekten.

Page 5: ELEKTRONIKPRAXIS – ESE-Report September 2009 · Microsoft Remote Desktop Protocol (RDP) 7.0 und Microsoft .NET Framework 3.5. Die Plattform 2011 bietet ferner Unterstützung für

Embedded Software Engineering Report Fachwissen

gepflegt werden. Doch in der sechsten Woche:„Hallo zusammen, im Ordner xy habe ich eineExceldatei „Urlaubsplanung.xls“ erstellt in derSie bitte dringend Ihren Urlaub 2007 eintragenund diesen wöchentlich aktualisieren. Mitfreundlichen Grüßen.“ Urlaub ist auch wichtig!Man muss ja planen können wann man als An-sprechpartner zur Verfügung steht.Doch: „Hallo zusammen, im Ordner xy habe icheine Exceldatei „Arbeitspakete.xls“ erstellt inder ich die Arbeitspakete aus dem Projektplandetailliert aufgeschlüsselt habe. Bitte teilen Siedringend Ihre Ressourcen den einzelnen Unter-arbeitspaketen zu und tragen Sie den Erfül-lungsgrad ein. In der Spalte Bemerkungen, kön-nen Sie zu beachtende Sachverhalte (z.B. Ur-laub) eintragen. Diese Datei muss aktuell gehal-ten werden. Mit freundlichen Grüßen.“Lassen Sie uns rekapitulieren, was in unseremProjekt gerade passiert: Jeder unserer fünf Be-reichsverantwortlichen ist ab der sechsten Wo-che dazu verpflichtet unabhängig von unseremProjektplan vier verschiedene Dokumente zuaktualisieren, die alle einem ähnlichen Zweckdienen. Die Folge: Unsere Bereichverantwort-lichen investieren bereits ein Teil ihrer Ressour-cen ohne dabei wirklich das Projekt voranzu-bringen. Können Sie sich vorstellen, was pas-

siert, wenn wir noch unsere Statusmeetings,Planungsmeetings, Statistiken, ... addieren?Richtig – wir binden unsere Ressourcen fürTätigkeiten, die dann für die eigentlicheArbeit fehlen. Neben diesem kurzen Beispielhaben wir in unseren Projekten noch weitereErkennungsmerkmale für den „Reportismus“angetroffen.

Woran erkennt manReportismus?Wie bereits im vorherigen Abschnitt erwähnt,erkennen Sie dieses Verhaltensmuster zumeinen an der stetig steigenden Anzahl an Doku-menten, Statistiken und Auswertungen mitähnlichem Inhalt, bei denen der normale Pro-jektmitarbeiter den Nutzen nicht mehr nach-vollziehen kann und für deren Erstellung undPflege er einen nicht unerheblichen Anteil sei-ner Ressourcen aufwenden muss. Auf Fragennach dem Sinn oder Verwendungszweck derDokumente bekommt er nur Phrasen zu hören,wie: „Das ist laut Vorgehensmodell so!“ oder„Das macht man so, ...!“. Neben der Anzahl derDokumente erhöht sich auch die Zahl der(nicht) regulären Meetings, die eigentlich nichtangedacht waren.

Oft kommt es auch vor, dass ein Dokument ein-malig erstellt wird, danach aber nicht mehr ver-wendet wird und so schnell wie es aufgetauchtist, wieder verschwindet. In vielen Fällen ist esso, dass auch die Zeiträume zwischen der Aktu-alisierung oder Erstellung der Dokumente deut-lich kürzer werden und der Verteiler der Emp-fänger permanent erweitert wird. Auch die Vor-gaben für die Abgabetermine der zu erstellen-den Dokumente werden vom Projektleiter im-mer sehr kurzfristig angesetzt, sodass die Pro-jektbeteiligten oft alles stehen und liegen las-sen müssen, um dieser Aufforderung nachzu-kommen.

Warum kommt es soweit?Drei menschliche GründeNeben der Anzahl der Dokumente gibt es zumanderen noch weitere Anzeichen, dass Ihr Pro-jektmanager dem „Reportismus“ verfallen ist:Aufgrund des gesunkenen Arbeitstempos müs-sen entweder die Projektbeteiligten immermehr Überstunden machen oder bekommen so-gar neue, weitere Kollegen zur Unterstützung,um den Zeitplan einhalten zu können. Imschlimmsten Fall erkennt man den „Reportis-mus“ daran, dass eigentlich alle Projektbeteilig-

Page 6: ELEKTRONIKPRAXIS – ESE-Report September 2009 · Microsoft Remote Desktop Protocol (RDP) 7.0 und Microsoft .NET Framework 3.5. Die Plattform 2011 bietet ferner Unterstützung für

Embedded Software Engineering Report Fachwissen

PRQA

MISRA-Check für die WerkzeugentwicklungEDA- und Embedded-Spezialist Mentor Graphics‘ Geschäftsbereich AutomotiveNetworking verwendet das statische Testwerkzeug für die C-Programmierung QA∙Cfür die Entwicklung vonVolcano, einem Entwicklungswerkzeug für fahrzeuginterneNetzwerke.

Der Geschäftsbereich Automotive Networkingvon Mentor Graphics in Budapest verwendetdas Tool für die statische Codeanalyse QA-Cvon PRQA für die Entwicklung des Entwick-lungswerkzeugs für fahrzeuginterne NetzwerkeVolcano. Nach einem Konkurrenzvergleich imJahr 2008 entschied sich die Automotive Net-work Design Gruppe für die QA-C-Werkzeug-palette.Ein Hauptkriterium für diese Entscheidungwar laut PRQA die hohe MISRA-Konformitätdes Werkzeugs. „QA-C mit MISRA half uns beider Erkennung von Problemen und Pro-grammfehlern in einer sehr frühen Phase derEntwicklung, wodurch wir Zeit und Geld beider Fehlerbehebung sparen konnten. Nach der

Mentors Lösung Volcano bietet dem KundenShanghai Automotive Industries (SAIC) Netz-werktechnik- und Datenkommunikations-Ent-wicklungswerkzeuge für vernetzte Systeme.Im Rahmen dieser Lösung müssen die MISRA-Richtlinien eingeführt und die Einhaltung die-ser Norm gewährleistet werden.Umfangreiche Untersuchungen und Evaluati-onen bei Mentor hätten ergeben, dass das QA-C-Toolset das höchste Maß an MISRA-Konfor-mität bot. Weitere Pluspunkte für QA∙C seienseine einfache Build-Integration und die be-nutzerfreundliche Bedienung für die Entwick-ler gewesen. (mh)

www.ese-report.de

■ QA Systems: Alle Infos zum Testtool QA-C

316721

Inbetriebnahme dieser Lösung erhielten wirneben der Werkzeug-Implementation auch ei-ne MISRA-Schulung für unser gesamtes Team.Dies brachte alle unsere Ingenieure auf denneuesten Stand in Sachen MISRA und ermög-lichte ihnen eine fokussierte Zusammenarbeit.Diese Kombination aus technischer Lösungund Schulung half uns, ein Produkt in hoherQualität zu liefern“, so Zoltan Mihaci, in Bu-dapest zuständig für die Abteilung Software-entwicklung und Technik.Auf einen ersten Prototypen-Einsatz mit QA-Cund MISRA folgte eine vollständige Pro-dukteinführung in einer Außenstelle in Ägyp-ten sowie weitere Investitionen und erweiterteLizenzen für das Büro in Budapest.

ten wissen, dass ihr Projekt langsam aber sichergegen die Wand fährt, der Projektmanagerselbst, aber die Eskalation immer wieder hinaus-zögert und versucht die Lage über neue Statis-tiken und Reports zu retten.Natürlich haben auch wir uns die Frage gestellt,wie es zu diesem Phänomen kommen kann.Wie bereits in der Einleitung kurz angerissen,sind die Gründe für ein solches Verhaltensmus-ter abhängig von der Person selbst und somitvielfältig. Wir haben für Sie einmal eine Listeder Gründe zusammengestellt. Dabei ist zu be-achten, dass in den meisten Fällen eine Kombi-nation aus mehreren Gründen die wahrschein-lichste Ursache darstellt:Die Absicherungsstrategie: Der Projektmana-

ger ist aufgrund mangelnder Erfahrung aufdiesem Gebiet unsicher. Deshalb betreibt er lie-ber einen höheren Aufwand zur methodischenAbsicherung als zu wenig, mit der Absicht, dassihm später niemand vorwerfen kann, dass esseine Schuld wäre, wenn etwas schief geht,denn er hat ja alles in seiner Macht stehendeunternommen.Der Kontrollwahn und Vertrauensverlust: Der

Verantwortliche hat kein Vertrauen in die Fä-higkeiten und die Zuverlässigkeit seines Team.D.h. er beanprucht für sich die alleinige Kompe-tenz zu entscheiden, was das richtige Vorgehenoder welches die richtigen Methoden sind, so-dass der Projekterfolg auf keinen Fall gefährdetist. Dementsprechend verlangt er von den Be-teiligten eine am besten lückenlose Dokumen-tation ihrer Tätigkeiten, sodass alles bis ins De-tail nachvollziehbar bleibt.Der Disziplinierungswahn/Lust am Quälen der

Mitarbeiter: Der Verantwortliche ist der Mei-nung, dass das Team zu unsystematisch arbeitetund will das Team zu absoluter Disziplin erzie-

hen. Dies versucht er durch strenge Auflagen,was alles wie zu dokumentieren/auszuwerten, ...ist.Neben diesen zugegebenermaßen teilweise sehrnegativ anmutenden Gründen, die einzig undallein den Projektmanager in einem schlechtenLicht erscheinen lassen, gibt es allerdings auchnoch Ursachen, für die der Projektmanagernicht die Schuld trägt. Diese haben auch nichtsmit dem menschlichen Verhalten zu tun, son-dern verstärken den „Reportismus“ nur noch.Darunter fallen beispielsweise ineffiziente Pro-zess oder Zertifizierungsvorgaben, die bereitseine enorme „Grundlast“ an Dokumenten oderStatistiken verschreiben, sodass jeder zusätzlichzu erstellende Report den Projektbeteiligtenunsinnig vorkommt.

Wie entkommt man demReportismus?Um den „Reportismus“ effektiv bekämpfen zukönnen, haben wir in unseren Projekten die fol-gende Lösung entwickelt:Konzentration der Dokumentenerstellung:

Bereits im Kickoff-Meeting wird ein Verant-wortlicher festgelegt, der für die Erstellungder administrativen Reports, Statistiken undDokumente zuständig ist. Er ist nicht nur da-für zuständig, sondern bekommt auch die be-nötigten Ressourcen, um die Informationenbei den Beteiligten abzufragen. Zusätzlichdient er als Schnittstelle zwischen Projektma-nagement und Projektbeteiligten. Zu seinenAufgaben gehört es den Sinn der zu erstellen-den Dokumente für die übrigen Beteiligtentransparent zu machen und den Nutzen vonneuen Dokumenten zu evaluieren, um gege-benenfalls die Erstellung abzulehnen. Falls

eine solche Rolle nicht gewünscht ist, mussder Projektverantwortliche den Sinn undZweck der Dokumente genau darlegen unddem Team kommunizieren, warum dieser Auf-wand gerechtfertigt ist. Dazu ist es vorhernötig Kosten und Nutzen der Dokumentationgenau zu ermitteln. Er sollte trotzdem auchoffen für andere Lösungen vonseiten der Mit-arbeiter bleiben, sodass eine gegenseitigeWertschöpfung entstehen kann.Aufbau von Vertrauen: Die Projektbeteiligte

müssen versuchen, das Vertrauen des Verant-wortlichen in ihre Kompetenz aufzubauen. Dieskann geschehen, in dem man mit dem Verant-wortlichen objektiv und regelmäßig Gesprächeüber den aktuellen Stand, Probleme und Lö-sungsvorschläge spricht, ohne ihm den Eindruckzu vermitteln, sie wollen ihm etwas vorschrei-ben oder ihm die Kompetenz absprechen. DiesesVorgehen ist auch dazu geeignet um Unsicher-heiten beim Projektmanager abzubauen.Sollten Sie also auf „Reportismus“ in Ihrem Pro-jekt stoßen, so versuchen Sie doch einmal unse-re Lösung. Noch ein kleiner Tipp: Manchmalhilft es auch, ein Dokument zu ignorieren. Sofern es nicht wirklich benötigt wird, erledigensich solche Sachen auch von alleine.Wenn Sie weitere Muster kennen lernen möch-ten, schreiben Sie einfach eine E-Mail [email protected] mit dem Stichwort„ELEKTRONIKPRAXIS – Verhaltensmuster“. (mh)SOPHIST Tel. +49(0)911 409000

www.ese-report.de

■ SOPHIST: Spezialisten für RequirementsEngineering, Requirements Management,OOA und OOD

317030

Page 8: ELEKTRONIKPRAXIS – ESE-Report September 2009 · Microsoft Remote Desktop Protocol (RDP) 7.0 und Microsoft .NET Framework 3.5. Die Plattform 2011 bietet ferner Unterstützung für

Embedded Software Engineering Kongress

3 Tage Software pur – Programm und InhalteVom 8. bis 10. Dezember 2009 findetzum zweitenMal Deutschlands größterKongress für Embedded SoftwareEngineering statt. Eingeladen sindArchitekten, Entwickler, Testingenieure,technisches Management, Unternehmens-führung, Forschung und Lehre. Sie erwar-tet ein Programm aus 90Vorträgen und10 halbtägigen Kompaktseminaren.

Nach einer erfolgreichen Startveranstaltung imletzten Jahr behandelt der Embedded SoftwareEngineering Kongress vom 8. bis 10. Dezember2009 bewährte und neue Themen rund um diewesentlichen Disziplinen des modernen Soft-ware Engineering für industrielle Software undElektronikentwicklung. Neben aufgabenspezi-

fischen Schwerpunkten von Analyse und Designüber die Implementierung bis zum Test sindThemenreihen zu Echtzeit und RTOS, GUI-Ent-wicklung, Open Source oder Softwaresicherheitgeplant. Im Managementbereich referierenExperten zu Aspekten wie Mensch und Team,Open Source, Recht oder Marketing. Hochschu-len, Universitäten und Institute geben in einereigenen Vortragsreihe Einblicke in aktuelleArbeiten.Das Vortragsprogramm wurde aus knapp 200Vorschlägen ausgesucht und zusätzlich Refe-renten zu aktuellen Themen persönlich geladen.Software- und Lösungsanbieter informierenin der begleitenden Ausstellung über ihr aktu-elles Angebot. Veranstalter sind Deutschlandsauflagenstärkste Elektronik-Fachzeitschrift

www.ese-report.de

■ ESE Kongress: Programm und Anmeldung

■ Video: Das Interview zum EmbeddedSoftware Engineering Kongress 2009

317036

ELEKTRONIKPRAXIS und MicroConsult, Trai-nings- und Consulting-Spezialist, in Zusam-menarbeit mit einem Expertenbeirat aus Indus-trie und Lehre. Das ausführliche Programm derVeranstaltung mit detaillierten Informationenzu den Vortragsinhalten, zu Referenten undAusstellern steht jetzt komplett im Internet(www.ese-kongress.de). Bis Ende Oktober geltennoch Frühbucherkonditionen. (mh)MicroConsult Tel. +49(0)89 45061746

1. Tag | 08.12.2009 | KompaktseminareZeit Kompaktseminar Kompaktseminar Kompaktseminar Kompaktseminar Kompaktseminar

09:00

Testfreundliches SoftwareEngineeringDieter Volland, MicroConsult

Grundlagen deszeitbasierten SoftwareEngineeringChristian Siemers,

FH Nordhausen

Grundlagen desgrafischen SystemdesignsStephan Ahrends,

National Instruments

Embedded UMLRenate Schultes,

MicroConsult

Treiber mit UML modellierenund in C++ programmierenThomas Batt, MicroConsult

12:30 Mittag

14:00

Softwareanalyse undErosionsschutzProf. Rainer Koschke,

Universität Bremen

Echtzeit-BetriebssystemeIngo Pohle,MicroConsult

Entwurf undImplementierung vonZustandsautomatenFrank Listing, MicroConsult

Mit Eclipse vom Modellzum DeviceAxel Terfloth, itemis

Normkonformes SoftwareEngineering in der PraxisWolfgang Brendel,

infoteam Software

17:30 Ende

18:00 Entwicklerparty – kühle Biere, gute Gespräche, entspannte Atmosphäre

Embedded Software Engineering Report Fachwissen

Page 9: ELEKTRONIKPRAXIS – ESE-Report September 2009 · Microsoft Remote Desktop Protocol (RDP) 7.0 und Microsoft .NET Framework 3.5. Die Plattform 2011 bietet ferner Unterstützung für

2. Tag | 09.12.2009 | Vortragsreihen

Zeit Analyse & Design I Implementierung I Echtzeit & RTOS I Sichere Software Modellierung IFachdidaktik

Softwareentwicklung

09:00

Wie komme ich zunachvollziehbarenAnforderungen?Paul Wentzel, Method

Park Software

C++0x kommt!Martin Weitzel,

Technische Beratung

für EDV

Real-Time Architek-turdesign – Jonglierenmit der ZeitAndreas Willert, Willert

Software Tools

Software-Qualität –eine Glaubensfrage!?Prof. Jürgen Mottok,

Universität Regensburg

UML-Profile fürzeitkritischeArchitekturenMartin Lokietsch, IBM

Software Engineering:Zeitgemäße Lern- undLehrstrategienProf. Axel Böttcher,

Hochschule München

09:45

Fallstrick nichtfunkti-onale AnforderungenEmre Koeymen,

C1 Setcon

C++ für sicherheits-kritische SystemeGünter Obiltschnig,

Applied Informatics

Software Engineering

Was ist maximaleLatenz und wie wirddiese bestimmt?Carsten Emde, OSADL

Sichere EmbeddedSoftware entwickelnAndré Schmitz,

Green Hills Software

Modellbasiertentwickeln –ja oder nein?Johannes Schreier,

EVOCEAN

Lehren und Lernen vonSoftware EngineeringProf. Reimer Studt,

Hochschule Landshut

10:30 Pause

11:00

GoF Design Patternsin EmbeddedSystemen?Karl Nieratschker,

SKT-Nieratschker

Objektorientiertprogrammieren mit CFrank Listing,

MicroConsult

Timing-fokussiertesSystemdesignRalf Münzenberger,

INCHRON

SicherheitsgerichteteSoftwareentwicklungnach IEC 61508-3Olaf C. Winne,

Quategra

MDSD mit DSLsund EclipseBernhard Merkle,SICK

Bessere Software Enginee-ring AusbildungProf. Jürgen Mottok,

Universität Regensburg

11:45

ZuverlässigeZustandsautomatenentwerfenProf. Jörg Robra,Georg-

Simon-Ohm-Hochschule

Nürnberg

Embedded Unit-Testsund Mocking mitCMockSimon Raffeiner,

Leitwerk

Managing SoftwareTiming BehaviorNicholas Merriam,

Rapita Systems

Plug-In FunctionalSafetyMartin Schrape,

Infineon Technologies

Modellieren undCode generierenmit UML/SysMLAndreas Foltinek,IMACS

Erfahrungsberichte zuSerious Gaming, Puzzle,UMLMatthias Christoph Utesch,

Hochschule München

12:30 Mittag

Zeit Analyse & Design II Implementierung II Echtzeit & RTOS II Java Embedded Modellierung II Mensch & Team

14:00

Zeitgemäßes Designvon M2M-Anwen-dungenKlaus-Dieter Walter,

SSV Software Systems

High-Speed-Soft-ware zum Nulltarifdank Multicore?Karl Nieratschker,

SKT-Nieratschker

Keine Angst vorLinuxMartin Weitzel,

Technische Beratung

für EDV

Java erklärt in40 MinutenHans Kamutzki,

MicroDoc

Codegenerierungaus UML2-Aktivi-tätsdiagrammenRalf Ebert

Egotrips in Projektenund GegenmaßnahmenPeter Siwon, MicroConsult

14:45

Parallele Architek-turen für rechenin-tensive AufgabenProf. Volkhard Klinger,

FHDW

Effectively ModelingData and Relation-shipsDouglas Wilson,

Birdstep Technology

Individuelle Linux-Systeme mitOpen-Source-SoftwareAndreas Klinger, IT-Klinger

OSGI in EmbeddedSoftware:Wofür und wie?Christine Mitterbauer,

MicroDoc

ModellbasierteTestautomatisierungmit LabVIEW undSimulinkDirk Beinert,

infoteam Software

Sind wir nicht alle einwenig anders!?Rudolf Eckmüller,

Rudolf Eckmüller

Consulting

15:30 Pause

16:00

Automatisierenmit Standard-komponentenMarkus Schleicher,

infoteam Software

USB 3.0 virtuellKarsten Pahnke,

emsys Embedded Systems

Echtzeit-Linux mitdem RealtimePreemption PatchJan Altenberg, Linutronix

SicherheitskritischeAnwendungen mitJavaAndy Walter, aicas

Testen mit demOMG Testing ProfileFrank Braun, IBM

Effiziente Teamarbeit alsBasis für den ProjekterfolgSiegfried Weigert,

ibw Siegfried Weigert

Industrieberatung

16:45

ExtrafunktionaleAnforderungen inUML/SysMLProf. Frank Slomka,

Universität Ulm

Drahtlos mit WiFi,Bluetooth, NFC & Co.André Schmitz,

Green Hills Software

Android-OS aufneuen WegenJürgen Fey, Androidian

Java in MILS-SystemenFrank Lippert, Aonix

Schnittstellenformal prüfenThomas Schütz,

Protos Software

Systeme undsystemisches DenkenThomas Franzen, Thomas

Franzen Projektberatung

09:00-17:30

Ausstellung: AbsInt, Artisan, Axivion, Clockwork, EASYCODE, ELEKTRONIKPRAXIS, emlix, EVOCEAN, Express Logic, Green Hills Software,HighTec EDV Systeme, Hitex, IAR Systems, IBM, IMACS, INCHRON, iSYSTEM, itemis, Lauterbach, MicroConsult, MicroDoc, Microsoft, MKS,

National Instruments, pls Programmierbare Logik & Systeme, sepp.med, Verifysoft Technology, Wind River

18:00Abendbuffet und Abendveranstaltung/Metamagicum: Zauber der Wissenschaft und TechnikSponsor der Abendveranstaltung:

IBM Deutschland GmbH

Embedded Software Engineering Report Fachwissen

Page 10: ELEKTRONIKPRAXIS – ESE-Report September 2009 · Microsoft Remote Desktop Protocol (RDP) 7.0 und Microsoft .NET Framework 3.5. Die Plattform 2011 bietet ferner Unterstützung für

10

Embedded Software Engineering Report Fachwissen

3. Tag | 10. Dezember 2009 | Keynote & Vortragsreihen

Zeit Test & Qualität ISoftware Engineering

Management IOpen Source I

Management:Wissenswertes I

Forschung & Lehre I Echtzeit & RTOS III

09:00Keynote: Embedded Software Engineering – Weichen stellen für die Zukunft

Wie Sie den Chancen und Herausforderungen der Zukunft gerecht werden – Prof. Dr.-Ing. Peter Liggesmeyer, Fraunhofer IESE

09:45

Integrationstestseingebetteter SoftwareFrank Büchner, Hitex

Software Engineeringals eine Funktionder ZeitRobert Berger,

Reliable Embedded Systems

Das Innovations-Netzwerk EclipseRalph Mueller,

Eclipse Foundation

Erfolgreiche Presse-arbeit für kleine undmittlere UnternehmenJohann Wiesböck,

Vogel Business Media

Ansätze zur verteiltenechtzeitfähigenSimulationSebastian Hinzmann,

Hochschule Braunschweig

/Wolfenbüttel

Windows EmbeddedCE kompaktJochen Dieckfoß,

Elektrobit Automotive

10:30 Pause

11:00

Source Code Analysisin an Agile WorldGwyn Fisher, Klocwork

Requirements Enginee-ring und präzisesTestenGabriele Frenzel, NewTec

Entwickeln undtesten mit EclipseFrameworksJochen Mades,

KSB

Nutzungsrechte undHaftung beiEmbedded SoftwareWolf Günther,

Kanzlei Dr. Erben

Software Engineeringin der ServicerobotikAndreas Steck,

Hochschule Ulm

AutomatischeAnalyse undOptimierung desZeitverhaltensJens Braunes, pls

Development Tools

11:45

Testkonzepte für Multi-target-EntwicklungenKarsten Pahnke, emsys

Embedded Systems

Dokumentation:Nutzen Sie den Reuse-Faktor!Elke Grundmann, Comet

Communication

Open Source undRechtCarsten Emde, Open

Source Automation

Development Lab

MarktorientiertesProduktmanagementOliver Lucht, IBM,

Rational Software

DeterministischeEmbedded Systemeaus UML-ModellenZamira Daw,

Hochschule Mannheim

Software optimierenfür den Intel AtomProzessorUli Dumschat,

Intel

12:30 Mittag

Zeit Test & Qualität IISoftware Engineering

Management IIOpen Source II

Management:Wissenswertes II

Forschung & Lehre II GUI

14:00

Software-Metrikengezielt einsetzenProf. Daniel Fischer,

Hochschule Offenburg

Oops, I Did it Again!Mit Software-KlonenlebenProf. Rainer Koschke,

Universität Bremen

Open-Source-Prozesse für Embed-ded ProjekteRobert Schwebel,

Pengutronix

Capability MaturityModel IntegrationAngela Werbik,

ZSI

Domänenbezogenentwickeln mitOpen SourceKevin Barwich, Hoch-

schule Wolfenbüttel

Schicke Web-UIstrotz ressourcenbe-schränkter SystemeChristoph Hecht,

Aastra-DeTeWe

14:45

Automatisierte dyna-mische Echtzeittestsfür jedermannStephan Ahrends,

National Instruments

Software-Architekturund der Zahn der ZeitBernhard Merkle, SICK

Open-Source-basiertes Tooling fürdie verteilteEntwicklungCord Seele, emlix

Das Manifest derbioagilen Software-entwicklungPeter Schmidt, iNTENCE

Benchmarks undVergleich von MCUsund CPUsThomas Stolze,

Hochschule Harz

PerformanteEmbedded LinuxWeb GUIs mitAJAX und DBUSBjørn Bürger,

Pengutronix

15:30 Pause

16:00

AnforderungsbasiertesTesten in Theorieund PraxisOliver Böhm, MKS

Änderungs- und Konfi-gurationsmanagementvariantenreicherSystemeDanilo Beuche,

pure-systems

Einführung einesmodellbasiertenEntwicklungs-prozesses mitOpen Source ToolsAndreas Graf, itemis

Schätze heben mitder systemischenAufstellungBirgit Ebertz,

Birgit Ebertz Consulting

Umstieg von Single-auf Multiprozessor-systemeMichael Deubzer,

Hochschule Regensburg

GUI-Designs in einerglobalisierten WeltStefanie C. Zürn,

macio

16:45

Der statische AnalysatorAstréeDaniel Kästner, AbsInt

Den ALM-Aufstiegproblemlos meisternUlrich Becker,

Method Park Software

Effiziente, portier-bare Implementie-rung anspruchs-voller GUIsFrank Walzer,

Texas Instruments

Externe Entwicklungs-leistungen – vomFluch zum SegenUwe Strohbeck, RT-RK

SoftwareintensivemechatronischeSystemeMarkus Friedrich, TU

München/Lehrstuhl itm

Modernes UsabilityEngineering im in-dustriellen UmfeldRolf Höpli,

Zühlke Engineering

09:00-17:30

Ausstellung: AbsInt, Artisan, Axivion, Clockwork, EASYCODE, ELEKTRONIKPRAXIS, emlix, EVOCEAN, Express Logic, Green Hills Software,HighTec EDV Systeme, Hitex, IAR Systems, IBM, IMACS, INCHRON, iSYSTEM, itemis, Lauterbach, MicroConsult, MicroDoc, Microsoft, MKS,

National Instruments, pls Programmierbare Logik & Systeme, sepp.med, Verifysoft Technology, Wind River

Programmänderungen vorbehalten.

Page 12: ELEKTRONIKPRAXIS – ESE-Report September 2009 · Microsoft Remote Desktop Protocol (RDP) 7.0 und Microsoft .NET Framework 3.5. Die Plattform 2011 bietet ferner Unterstützung für

12

Embedded Software Engineering Report Fachwissen

Open-Source-Tools

Code-Analyse mit Valgrind – so geht‘sValgrind ist sowohl ein flexibles Frameworkum eigene Werkzeuge zu erstellen als aucheine fertige Toolsammlung. Welche Möglich-keiten bieten die beliebten Werkzeuge?

Christian Pössinger und Wolfram Gettert*

Valgrind, in der nordischen Mythologie derHaupteingang zur Walhalla (grind = „Gitter“), istein spezielles Analyseframework für unixbasierteEmbedded-Systeme, das als freie Open-Source-Software unter der Gnu Public License verfügbarist. Zu seinem Einsatzbereich gehören:Auffinden von Speicherlecks,Cacheanalyse,Erstellen von Call-Graphen,Ermitteln des Ressourcenbedarfs undAuffinden von Race-Conditions/Deadlocks

auf der POSIX Pthread API aufbauenden Codes.Erkauft werden diese Vorteile durch stark er-höhte Rechenzeit, bedingt durch die Analyseund Interpretation der Programme. Auch hängtdie Codeabdeckung der Analyse stark von denverarbeiteten Daten des Programms ab. Es kön-nen nur die Programmteile analysiert werden,die tatsächlich auch durchlaufen werden.

So arbeitet Valgrind:Dynamische binäre AnalyseValgrind ist ein CPU-Simulator für x86, x86_64,ppc32 und ppc64-Systeme. Dabei werden dieMaschinenbefehle des zu untersuchendenCodes zuerst analysiert und anschließend aufder CPU ausgeführt. Welcher Teil der Instrukti-onen analysiert und welcher direkt auf der CPUausgeführt wird, hängt von der Art der Analyseab. Folglich kann sich die Ausführung des Codesum den Faktor 10 oder mehr verlangsamen.Valgrind besteht in sich aus mehreren ausge-reiften Tools, die wiederum in verschiedenenDetaillierungsstufen arbeiten können. Auf dieseWeise kann der Benutzer Art und technischeTiefe der Analyse exakt vorgeben. Die Funktions-weise von Valgrind basiert unmittelbar auf denBinärdateien der Applikation und ist damit völligunabhängig von der verwendeten Programmier-sprache und dem Compiler bzw. dem Interpreter.Valgrind ist zwar zur Verwendung mit in C/C++geschriebenen Anwendungen optimiert, kannaber auch zur Analyse von Ada, Fortran, Java,Perl und Python verwendet werden. Durch die-sen Ansatz findet Valgrind sogar Fehler, die erst

■■■■■

durch den Compiler oder Interpreter einge-schleppt wurden.Der Aufruf eines der Tools aus Valgrind folgtimmer einer vorgegebenen Syntax. Dabei wirdstets das Präfix valgrind verwendet gefolgt vonder Option --tool= , dem der Name des Toolsund darauf eventuelle toolspezifische Argu-mente folgen:shell> valgrind --tool=<NAME> ./binary<ARGUMENTS>Valgrind besteht aus fünf Tools zur Codeanalyse.Im Allgemeinen verfügen Embedded-Systemenur über eine begrenzte Speichermenge, weisenaber lange Standzeiten auf. Daher stellen Spei-cherlecks für sie ein enormes Problem dar:wächst der von einer Applikation verwendete

Speicher ohne Rückgabe stetig an, führt das zueiner zunehmenden Verlangsamung und im Ex-tremfall zum Versagen des gesamten Systems.Das meistverwendete Tool von Valgrind ist derSpeicheranalysator Memcheck. Er wertet alleLese- und Schreibzugriffe auf den Speicher ausund substituiert jedes malloc(), free(), new dele-te, new[] und delete[] durch eine eigene Imple-mentierung der jeweiligen Funktion, um aufGrundlage dabei erhaltener Daten die Fehlerana-lysen durchzuführen. Memcheck erkennt poten-ziell fehlerhafte Zugriffe auf Speicherbereiche.Die Verwendung von Adresszeigern mit ungül-tigem Wert (dangling pointer) wird gemeldet.Bei der Verwendung von memcpy() oder ähn-lichen Funktionen prüft Valgrind auf möglicheÜberlappung von Quell- und Zielbereich.Memcheck beanstandet das Auftreten nichtkorrekt initialisierter Variablen. Fehler dieserKategorie mit einem Debugger zu finden istrelativ schwierig, denn unter Linux werdenbeispielsweise bei einem Debug Build (gcc -g?)uninitialisierte Variablen mit „0“ vorbelegt, beieinem Release Build (gcc ohne -g?) ist das nichtder Fall. Auch geänderte Vorgaben für Optimie-rung (-O?) oder Architektur kann das Verhaltendes Programms wegen uninitialisierter Variab-len beeinflussen.

Cache Misses und falscherBranch Prediction auf der SpurCachegrind ist ein Werkzeug zum Aufspürenvon Cache Misses und falscher Branch Predic-tion. Die Performance rechenintensiver Applika-tionen ist in hohem Maße von einer effizientenCachenutzung und einer korrekten Branch Pre-diction abhängig.Heutige CPU-Caches unterteilen sich in spezielleCaches für Instruktionen und Daten. Im L1-Ins-truction-Cache werden Befehle zwischengespei-chert, im L1-Daten-Cache Daten aus Berech-nungen und Ergebnissen. Der logisch nach demL1-Cache befindliche L2-Cache vereint Befehls-und Datencache wieder in einem gemeinsamenSpeicher. So werden Konflikte vermieden, diebeim Laden von Befehlen und gleichzeitigenSchreib/Lesezugriffen auftreten können.Die effiziente Nutzung des L1/L2-Caches hängtvon der räumlichen und zeitlichen Lokalität vonVariablen ab. Unter räumlicher Lokalität wirddie Nähe von Variablen im Hauptspeicher zu-einander verstanden. Die für eine Berechnungbenötigten Variablen sollten nahe beieinanderliegen, damit sie möglichst gleichzeitig in denCache geladen werden. Zeitliche Lokalität be-sagt, dass ein berechneter Wert zügig weiter-verarbeitet werden sollte, um seine Verdrän-gung aus dem Cache und beim nächsten Zu-griff das Nachladen aus dem Hauptspeicher zuvermeiden. Nichteinhaltung dieser Lokalitätenkann dazu führen, dass die abwechselnde Nut-

*Christian Pössinger arbeitet bei derMixed Mode GmbH im Bereich der in-dustriellen Echtzeitsysteme. Er befasstsich mit dem Einsatz von Embedded Li-nux zur Leistungssteigerung bestehendermesstechnischer Lösungen.

*Wolfram Gettert ist als Softwareent-wickler bei der Mixed Mode GmbH tätigund besitzt umfangreiche Erfahrung imEinsatz von Embedded Linux. Sein be-sonderes Interesse gilt dem Bereich„Design for Testability“ von EmbeddedSystems.

ExpertenmeinungDie beiden Autoren Wolfram Gettertund Christian Pössinger berichten überihre Erfahrungen mit dem Open-Source-Tool Valgrind: „Wir haben Val-grind seit Jahren in diversen kleinerenund größeren Projekten erfolgreicheingesetzt, z.B. bei Embedded-Softwarevon geringem Umfang auf Boardsebenso wie bei umfangreichen verteil-ten Programmen. Der gelegentlich ge-äußerte Vorbehalt, ein kommandozei-lenorientiertes Tool sei umständlich zuhandhaben, ist leicht zu entkräften: Esgibt eine ganze Reihe grafischer Front-ends, die den Einsatz von Valgrindkomfortabel gestalten. Nach einer indi-viduell kurzen Einlernphase kann jedermit dem Werkzeug umgehen.Natürlich müssen die Resultate – wiebei jedem anderen Analysewerkzeugauch – einer genauen Analyse unterzo-gen werden. Valgrind kann mitunterDinge bemängeln, die keine Fehler sindoder absichtlich scheinbar fehlerhaftrealisiert werden mussten. Durch dieseSchärfe des Werkzeugs aber hat manden Vorteil, dass der Code und sein Ver-halten einer sehr gründlichen Analyseunterzogen wird – neben der Tatsache,dass es mitsamt seinem Zubehör OpenSource ist.“

Page 13: ELEKTRONIKPRAXIS – ESE-Report September 2009 · Microsoft Remote Desktop Protocol (RDP) 7.0 und Microsoft .NET Framework 3.5. Die Plattform 2011 bietet ferner Unterstützung für

13

Embedded Software Engineering Report Fachwissen

zung von Variablen die jeweils andere aus demCache verdrängt (Cache-Trashing).Durch die Simulation des L1-Instruction-, L1-Daten- und L2-Caches kann Cachegrind einProfil des Cacheverhaltens einer Applikationoder einzelner Funktionen daraus anlegen unddie Häufigkeit von Cache Misses anzeigen. Zuroptimalen Nutzung des L1-Daten-Caches undder Branch Prediction bieten Compiler dieMöglichkeit, z.B. bei if-Abfragen den mit grö-ßerer Wahrscheinlichkeit durchlaufenen Zweiganzugeben. Diese Information wird vom Compi-ler ausgewertet und so umgesetzt, dass dieBranch Prediction bevorzugt die Instruktionenfür den bevorzugten Zweig in den L1-Daten-Cache lädt.Zur Auswertung der gesammelten Daten wird diegenerierte Logdatei (cachegrind.out.<pid>) ver-wendet. Cachegrind liefert hierfür das komman-dozeilenbasierte Tool‚cg_annotate‘ mit. Ist dasBinary mit Debugging-In-formationen übersetzt wor-den, kann mit shell> cg_annotate --auto=yes ca-chegrind.out.<pid> eineAuswertung gestartet wer-den. Sie zeigt die Anzahlder stattgefundenen L1-Instruction-,L1-Daten- und L2-Cache-Misses und ordnet sie derjeweiligen Codezeile zu.

Laufzeitanalysemit CallgrindCallgrind kann wie Cache-grind CPU-Caches simulie-ren, arbeitet allerdings we-sentlich detaillierter. Zu-sätzlich zur Simulation desCaches werden die CPU-Ins-truktionen gezählt und Call-Graphen zur Dar-stellung der Abhängigkeiten einzelner Funkti-onen untereinander erzeugt. Durch Macros im

Quellcode kann Callgrind auch auf bestimmteFunktionen beschränkt werden. Alternativ bie-tet auch Valgrind einen Parameter beim Aufrufan, um nur eine Funktion gezielt zu analysieren:shell> valgrind --tool=callgrind --toggle-collect=<funktion> <executable>Alle erhaltenen Resultate sind direkt miteinan-der vergleichbar, da sie plattformunabhängignicht auf absoluten Ausführungszeiten, sondernauf der Anzahl der CPU-Operationen basieren.Zur Optimierung des Laufzeitverhaltens ist dererste Schritt stets die Ermittlung der jeweiligenRechenzeit von Programmteilen. Dafür bildetder Callgraph mit der Anzahl der Funktions-durchläufe die Grundlage. Besonders häufigeFunktionen sollten bevorzugt optimiert werden:Zum einen sollten sie möglichst effizient pro-grammiert sein, um Prozessorzeit zu sparen.Zum anderen sollten laufzeitintensive Funkti-onen möglichst selten aufgerufen werden. Die

Daten einer von Callgrind und Cachegrind er-stellten Laufzeitanalyse können z.B. mitKCachegrind grafisch dargestellt werden. Dabeiwird ein Callgraph des Programmdurchlaufs er-stellt zusammen mit Angaben zur Performance.KCachegrind ist allerdings kein Bestandteil vonValgrind. Es kann extra aus dem Internet herun-tergeladen werden.

Speicherverschwendungaufdecken mit MassifDer Heap-Profiler Massif misst den Speicher-verbrauch (Heap-Speicher und Stack) zurLaufzeit. Er kann auch die notwendige Größedes Stacks für eine Applikation ermitteln, umihre Lauffähigkeit auf dem jeweiligen Targetzu prüfen. Kleinere Programme mit wenigerSpeicherbedarf arbeiten im Allgemeinenschneller und besser mit den Caches eines Pro-zessors zusammen. Bei der Größe der heuteeingesetzten Cachespeicher kann ein optimier-tes Programm komplett im Cache ausgeführtwerden, ohne Daten oder Instruktionen aus

dem Hauptspeicher nachzuladen. Lese- undSchreiboperationen sind in dieser Art vonSpeicher besonders schnell. Gewöhnliche Spei-cheranalysatoren wie Memcheck können man-che Arten von Speicherlecks aufgrund ihrerEntstehung nicht feststellen. Dazu gehörtnicht explizit freigegebener Speicher, dessennoch gültiger Zeiger nicht mehr verwendetwird. Massif identifiziert derartige Speicher-verschwendung. Er indiziert sowohl Umfangdes verwendeten Heapspeichers als auch denOrt der Speicherzuweisung im Code. Mit De-buginformationen übersetzte Binarydateienzeigen die entsprechenden Codezeilen mit demKommandozeilentool ‚ms_print‘ direkt an:shell> ms_print massif.out.<pid>Zusätzlich wird der prozentuale Anteil am ge-samten Speicherverbrauch der jeweiligenCodestelle angegeben.

Threadanalyse mitHelgrindUm Multiprozessorsysteme optimalauszunutzen muss der Code dieParallelität unterstützen. Deshalbliegt immer mehr Programmen eineMulti-Threaded-Architektur zuGrunde, was jedoch nicht immerproblemlos ist. Selbst bei muster-gültigem Design, Architektur, Ent-wicklungsprozess und Test tretenauf Multithreading zurückzufüh-rende Fehler u. U. erst nach langemEinsatz auf. Valgrind verfügt mitHelgrind über eine Möglichkeit,auf der POSIX Pthread-API basie-rende Codes in C, C++ und Fortranauf Synchronisationsfehler zuüberprüfen. Berücksichtigt werdenu.a.: Unlocken eines falschen Mu-tex oder nicht gelockten Mutex,

Unlocken eines Mutex eines anderenThreads, Rekursives Locken eines nicht rekursivenMutex, Freigeben eines Speicherbereichs, der ei-nen Mutex hält sowie Beenden von Threads, dieMutexe halten. Helgrind überwacht die Ausfüh-rungsreihenfolge, in der die einzelnen Threadsihre Locks beziehen. Dadurch können bei mehr-fachem Durchlaufen von Locks in Schleifen po-tenziell auftretende Deadlocks erkannt werden.Selbst nur sehr selten auftretende Bedingungenkönnen von diesem mächtigen Tool aufgespürtwerden. Leider ist die Ausgabe der Analyseer-gebnisse von Helgrind zur Zeit nicht besondersbenutzerfreundlich. Das sollte aber nicht überdas enorme Potenzial dieses Tools hinwegtäu-schen. (mh)Mixed Mode Tel. +49(0)89 89868200

www.ese-report.de

■Mixed Mode: Systems Engineering,Project Resources und Consulting

■ Zur offiziellen Seite von Valgrind

316528

Anzeige

Impressum

Redaktion: Martina Hafner (mh)

Schlussredaktion: Brigitte Kunder

Layout: Meike Herkersdorf

Produktion: Claudia Ackermann

Chefredaktion: Johann Wiesböck

Anzeigenleitung: Franziska Harfy

Anzeigenverkauf: Claudia Fick

Verlag:Vogel Business MediaGmbH & Co. KGMax-Planck-Str. 7/997082 WürzburgTel. +49(0)931 4180

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

Page 14: ELEKTRONIKPRAXIS – ESE-Report September 2009 · Microsoft Remote Desktop Protocol (RDP) 7.0 und Microsoft .NET Framework 3.5. Die Plattform 2011 bietet ferner Unterstützung für

14

Embedded Software Engineering Report Fachwissen

Betriebssysteme

OSEK-RTOS für jedermannAn der Hochschule Regensburg wurde einfreies Echtzeit-Betriebssystem auf Basis desOSEK-Standards entwickelt, das an unter-schiedliche Anwendungen auch jenseits derKfz-Elektronik angepasst werden kann.Dieser Artikel beschreibt die wichtigstenKonzepte von der Architektur bis zu deneinzelnen OSEK-Diensten.

Peter Raab, Jürgen Mottok, Hans Meier*

OSEK is a registered trademark of Continental AutomotiveGmbH

*Prof. Dr.-Ing. Hans Meier([email protected])lehrt Mikrocomputertechnik mit hardware-naher Programmierung an der HochschuleRegensburg. Weitere Interessensgebiete sinddie Digitale Bildverarbeitung und der Ent-wurf von Leiterplatten.

*Prof. Dr. Jürgen Mottok ([email protected]) lehrt Informatikan der Hochschule Regensburg. Seine Lehr-gebiete sind Software Engineering, Program-miersprachen, Betriebssysteme und Functio-nal Safety. Er leitet das Laboratory for Safeand Secure Systems (LaS³).

*Peter Raab ([email protected])begann seine Karriere bei Siemens VDOAutomotive als Softwareentwickler. Erarbeitet zurzeit bei Siemens im BereichEnergieverteilung in der Niederspannungund entwickelt Firmware für kommuni-kationsfähige Leistungsschalter.

Bild 1: Architektur desR-OSEK. Anwendertasksrufen über definierteSchnittstellen System-funktionen des Kernelsauf. Der Kernel bestehtaus verschiedenen Modu-len, die untereinander undzur Konfiguration Abhän-gigkeiten besitzen. Platt-formabhängie Funktionen(z.B. Kontextwechsel) sindin einem eigenen Modulabstrahiert und werdenebenfalls über definierteSchnittstellen aufgerufen.

Um der Komplexität der Software in elektro-nischen Steuergeräten Herr zu werden fand inder Automobilindustrie eine Standardisierungder Benutzerschnittstellen (OSEK = Offene Sys-teme und deren Schnittstelle für die Elektronikim Kraftfahrzeug) statt und es entstanden füreine Vielzahl von Mikrocontrollern OSEK-Distri-butionen. OSEK war auch die Basis für die Ent-wicklung des Regensburger Open-Source-Be-triebssystems R-OSEK, das alle Vorteile eineskommerziellen OSEK wie eine standardisierteProgrammierschnittstelle und ein Konfigura-tions-Tool zur Skalierung an die eigene Anwen-dung bietet. Aufgrund seiner Strukturierungund der umfangreichen Open-Source-Doku-mentation ermöglicht es einen leichten Einstiegin ein Echtzeit-Betriebssystem und wurde auchfür den Knowhow-Aufbau bei Lehrenden undLernenden konzipiert.Die grundlegende Architektur von R-OSEK, diedie wesentlichen Komponenten in mehrereSchichten unterteilt, entstand um Plattformun-abhängigkeit und Skalierbarkeit zu schaffen. DieAnwenderschicht enthält die in Tasks struktu-rierte Funktion der Software. Diese Tasks greifenüber definierte OSEK-Funktionen (OSEK-APIs)auf die unterschiedlichen OSEK-Dienste zu. DerKernel selbst beinhaltet diese Verwaltungsfunk-tionen (Alarme, Ereignisse usw.) und bildet denKern des Systems, das wegen der Realisierung inder Programmiersprache C plattformunabhängigist. Die Anforderungen bezüglich derAnwendung (Skalierung) und dem eingesetztenMikrocontroller (Portierung) werden ineigenständige Software-Module abstrahiert.Die OSEK-Konfiguration definiert den Umfangdes Betriebssystems, z.B. Anzahl der Tasks,Anzahl der Events usw. Wie auch bei kommer-ziellen Betriebssystemen erfolgt die Konfigura-tion bei R-OSEK mittels eines speziellen PC-

Werkzeugs, das die erforderlichen Sourcenautomatisch erzeugt. Die Hardwareabstraktiondes OSEKs ermöglicht einen Zugriff der System-funktionen auf die CPU. Für eine Portierung aufandere Controller muss lediglich dieses Modulneu entwickelt werden. Derzeit existieren Por-tierungen von R-OSEK für folgende Mikro-controller: ATmega32 (Atmel, 8 Bit Singlecore,Konsumer-Bereich), XE164 (Infineon,16 BitSinglecore, Automotive-Bereich), MPC5517(Freescale, 32 Bit Dualcore, Industrie-Bereich)

Grundlegende Konzepte:Taskmodell und SchedulerTasks sind die funktionellen Bestandteile einerAnwendung, deren Ausführung vom so genann-ten Scheduler kontrolliert wird. Die Aufgabe desSchedulers ist es, aus der Menge von Tasks, dieReihenfolge zu generieren, mit der die einzelnenTasks ausgeführt werden sollen. Dabei durchlau-fen die Tasks während ihrer Lebenszeit unter-schiedliche Zustände. Die vier möglichen Zustän-de einer OSEK-Task sind Waiting, Running Sus-pend und Ready. Ein Zustandswechsel kann durchfolgende Systemfunktionen angestoßen werden:ActivateTask, TerminateTask, WaitEvent, SetEvent,Schedule. Der Ausgangszustand einer Task istsuspended. Nach der Aktivierung haben Tasksden Zustand ready und sind dazu bereit, vomScheduler nach einem definierten Verfahren aus-gewählt zu werden. Die erwählte Task nimmt denZustand running ein bis sie am Ende ihrer Lauf-zeit terminiert wird und zurück in den Zustandsuspended fällt. In einem Singleprozessorsystem

Bild 2: Zustandsmodell von Extended Tasksmit den vier Zuständen und den jeweiligenFunktionen, die einen Zustandswechselhervorrufen können.

Bild 3: Zeitlicher Ablauf bei präemptivenScheduling

Bild 4: Zeitlicher Ablauf bei kooperativemScheduling

Page 15: ELEKTRONIKPRAXIS – ESE-Report September 2009 · Microsoft Remote Desktop Protocol (RDP) 7.0 und Microsoft .NET Framework 3.5. Die Plattform 2011 bietet ferner Unterstützung für

15

Embedded Software Engineering Report Kolumne

kann zu einem Zeitpunkt immer nur eine Taskden Zustand running einnehmen. Den viertenZustand waiting, der nur bei erweiterterTaskfunktionalität existiert, nimmt eine Task nurbei Verwendung von Events ein. Der Schedulerwählt eine Task nach bestimmten Kriterien aus.Es wird hier zwischen zwei grundsätzlichen As-pekten unterschieden: Präemptives Schedulingerlaubt es z.B. einer Task T1, eine laufende prä-emptive Task T2 mit niedrigerer Priorität zu un-terbrechen. Die verdrängte Task T2 wird erst nachTerminierung von T1 weiter ausgeführt. Im Ge-gensatz dazu wird eine kooperative Tasks T2nicht unterbrochen, falls die Task T1 mit höhererPriorität aktiviert wird . T2 wird bis zu ihrer Ter-minierung ausgeführt bevor zu T1 gewechseltwird.Das Scheduling nach festen Prioritäten ist eineinfaches, gerne verwendetes Verfahren. Dazuwird jeder Task eine Priorität zugewiesen, nachder entschieden wird, wann welche Task ausge-führt wird. Bild 5 zeigt die OSEK-Prioritätenle-vel mit aufsteigenden Prioritäten vom Tasklevelüber den Scheduler und den Interrupts mit denhöchsten logischen Prioritäten. Die Anzahl derPrioritäten im Interruptlevel ist abhängig vonder verwendeten CPU und ist daher von OSEKnicht spezifiziert. Je nach Konformitätsklassesind für die Tasks mindestens 8 bzw. 16 Priori-täten definiert.

Verwaltung von Events,Ressourcen und InterruptsFür ein Echtzeit-Betriebssystem ist es zwingendnotwendig, auch zeitkritische Tasks zu unterstüt-zen. So gibt es beispielsweise immer wiederkeh-rende Aufgaben (periodische Tasks), oder es exis-tiert ein harter zeitlicher Anschlag, an dem einebestimmte Task aktiviert bzw. beendet sein muss.Dafür stellt R-OSEK einen Alarmdienst zu Verfü-gung. Abgeleitet von einem HW-Timer könnenmehrere SW-Timer (= Counter) für unterschied-liche Zeitdomänen konfiguriert werden. Mit derErhöhung eines OSEK-Counters (= Tick) ist esmöglich, die Zeitachse auf einen Zählerstand Zabzubilden. Das Erreichen eines bestimmten Zäh-lerstandes des Counters ist als Alarm zu werten,mit dem eine Aktion wie das Aktivieren einerTask, das Setzen eines Ereignisses oder eine defi-nierte Alarmcallbackfunktion ausgeführt wird.

Events sind asynchrone Ereignisse, die währendder Laufzeit einer Task vorkommen können. Aufein solches Event warten Tasks, die bestimmteDaten (z.B. das Empfangen von Daten über dieasynchrone Schnittstelle) oder andere Bedin-gungen zur Weiterverarbeitung benötigen. Istdas der Fall, wird diese Task vom Scheduler ver-drängt und stattdessen eine andere Task bis zumEintreten des Ereignisses ausgeführt. Dadurchkann eine höhere Prozessorauslastung erreichtwerden. Ein Multitaskingsystem lässt es zu, dassmehrere Tasks konkurrierend auf dieselbe Hard-wareressource zugreifen können. Dadurch kön-nen Probleme wie Dateninkonsistenz (Zugriff aufgleiche Speicherbereiche), Verklemmung zweierTasks („Deadlock“) oder Prioritäteninversion ent-stehen. Die Aufgabe der Ressourcenverwaltungist es, solche Zustände zu vermeiden und den Zu-griff auf Ressourcen zu regeln (Semaphore,„OSEK priority ceiling protocol“ ).Die Interrupt-Verwaltung ist ein sehr wichtigerTeil eines Echtzeit-Betriebssystems. Im Gegensatzzu Tasks werden Interruptserviceroutinen ISRsnicht vom Betriebssystem verwaltet, sonderndurch die Hardware des Controllers selbst aufge-rufen. Diese haben gegenüber Tasks eine höherePriorität und können die laufende Task und auchden Scheduler jederzeit unterbrechen. Die Anzahlund die Prioritäten der ISRs sind von der verwen-deten Controllerarchitektur abhängig. Auch dieDeklaration von ISRs unterscheidet sich je nachverwendetem C-Compiler, sodass eine Realisie-rung der Interrupt-Verwaltung eines Betriebssys-tems immer etwas anders aussieht. Der OSEK-Standard definiert hier lediglich zwei ISR-Kate-gorien. ISR der Kategorie 1 sind gewöhnliche In-terrupts, die nach deren Ausführung wieder andie unterbrochene Stelle im Programm zurück-springen. Im Gegensatz dazu kann eine ISR derKategorie 2 während ihrer Laufzeit Services desBetriebssystems aufrufen. Es können z.B. Tasksaktiviert oder Events gesetzt werden und so einelaufende bzw. hier die unterbrochene Task ver-drängen. Nach Ausführung der ISR erfolgt in die-sem Fall ein Kontextwechsel. Der Wechsel desKontextes bei Verdrängung einer Task ist der kri-tischste Zeitpunkt eines Betriebssystems. Hiermuss der komplette Kontext (Statusregister, Ar-beitsregister, Stackpointer und Programmzähler)der verdrängten Task gesichert und der Kontextder neuen Task wieder hergestellt werden. DasVorgehen unterscheidet sich grundsätzlich vonder Controllerarchitektur und vom verwendetenCompiler. Bild 8 zeigt einen typischen Task-wechsel mit der Sicherung der verdrängten undder Herstellung der neuen Tasks. Der jeweiligeKontext der Task ist in einem reservierten RAM-Bereich des Controllers abgelegt.Fazit: Mit einem Betriebssystems ist es möglich,den Programmierer Hilfsmittel zur Verfügungzu stellen, mit denen er die zeitliche Abfolgeseiner Tasks (=Scheduling) kontrolliert. Um dieEinzelheiten muss man sich nicht mehr küm-mern. Die Komplexität selbst einfacher Anwen-dungen steigt oft mit den Anforderungen be-züglich Echtzeit und Safety. Der Einsatz einesBetriebssystems ist dann von Vorteil.

www.ese-report.de

■ Ungekürzte Onlineversion des Beitrags mitzahlreichen Illustrationen

■ las3: Laboratory for Safe and SecureSystems

316827

In Teil zwei dieses Beitrags, der in einer dernächsten Ausgaben erscheint, lesen SieHintergründe zur Implementierung undRealisierung von R-OSEK auf verschiedenenMikrocontrollern (8/16/32 Bit) undKonfiguration von R-OSEK.

Bild 5: Prioritätenlevel eines OSEK-Be-triebssystems. Die logische Priorität desSchedulers liegt über den Prioritäten derTasks, die wiederum von HW-Interruptsjederzeit unterbrochen werden können.

Bild 6: Inversion von Taskprioritäten ohneVerwendung des „OSEK priority ceilingprotocol“.

Bild 7: „OSEK priority ceiling protocol“ zurVermeidung von Prioritäteninversionen.

Bild 8: Der Wechsel des Kontextes bei Ver-drängung einer Task ist der kritischsteZeitpunkt eines Betriebssystems. Das Bildzeigt einen typischen Kontextwechsel beidem der aktuelle Zustand der CPU (Status-flags, Arbeitsregister, Stackpointer undProgrammcounter) gesichert (1) und derKontext der neuen Task wieder hergestelltwird (2).

Page 16: ELEKTRONIKPRAXIS – ESE-Report September 2009 · Microsoft Remote Desktop Protocol (RDP) 7.0 und Microsoft .NET Framework 3.5. Die Plattform 2011 bietet ferner Unterstützung für

Copyright © 2009 Green Hills Software, Inc. Green Hills, the Green Hills logo and INTEGRITY are trademarks of Green Hills Software, Inc. in the U.S.and/orinternationally. All other trademarks are the property of their respective owners.

Das INTEGRITY RTOS ist eingesetzt und zertifiziert nach:

Luftfahrt: DO-178B Level A, zertifiziert: 2002

Industrie: IEC 61508 SIL 3, zertifiziert: 2006

Medizintechnik: FDA Class III, zugelassen: 2007

IT-Sicherheit: EAL6+ High Robustness, zertifiziert: 2008

Kontaktieren Sie uns per Telefon +49 (0)228 43 30 777 oder Email: [email protected] Sie Ihr kostenloses Zertifizierungs-Informations-Paket erhalten möchten.

Visit us at

Das INTEGRITY RTOS

Zertifizierte und Eingesetzte Technologie

®


Recommended