Multicore-Programmierung ohne Locks?

Größe: px
Ab Seite anzeigen:

Download "Multicore-Programmierung ohne Locks?"

Transkript

1 EMBEDDEDSOFTWAREENGINEERING Sponsoredby Wissen. Impulse. Kontakte. September Multicore-Programmierung ohne Locks? Multicore-SOCsund einige Betriebssysteme unterstützen lockfreie Programmierung. Wie wirkt sich das auf diesoftware aus? Echtzeitfähige Embedded-Systeme Wie mit Echtzeitmodellierung und Analyse Hardwarearchitektur sicherer geplant wird Seite Sichere und flexible Industrie-Apps Apps für industrielle Anforderungen auf einer Echtzeit- Plattform ressourcenschonend entwickeln Seite ESEKongress : DasProgramm DasvollständigeProgramm zumese Kongress vom. bis.dezember zum Nachlesen Seite Nummer 1 PünktlicheLieferung

2

3 editorial Embedded Apps für den Einsatz in der Industrie Das Geschäft mit den kleinen Programmen boomt: Die App-Industrie konnte in den letzten Jahren Millionen Umsätze erzielen. Laut einer Prognose des Branchenverbandes BIT- KOMwuchs der Umsatz mit den kleinen Programmen von 190 Mio. Euro im Jahr 2009 auf 343 Mio.Euro Durchschnittlich kostet eine App 2,82 Euro.Aber Apps sind viel mehr:sie spiegeln das mobile Internet wider.angefangen hat alles mit Apple. Der Start des iphone im Sommer 2007 und die Eröffnungdes AppStore ein Jahr später.seitdem tummeln sichauf dem gewinnbringenden Mark der Miniprogramme eine kaum noch zu überschauende Anzahl von Entwicklern. Es ist allerdings zu beobachten, dass die Zahl der kleinen Entwickler, die das Geschäft eher als Zubrot sehen, schrumpft. Anihre Stelle treten die professionellen Entwickler.In den Markt der flexiblen Programme möchten jetzt auch Industrieunternehmen einsteigen. Allerdings sind Apps speicherintensiv und der Datenaustausch zwischen den Apps ist nicht optimal. Tatsache ist, dass im technischen Umfeld eine Plattform zum Betreiben von Apps sehr attraktiv ist. Im Melden Siesich bitte rechtzeitig zum ESE Kongress vom Dezember in Sindelfingen an: Hendrik Härter, Redakteur Gegensatz zum privaten Einsatz steht in der Industrie weniger Speicher zur Verfügung und den Programmen mangelt es an Echtzeitfähigkeit.In unserem Beitrag ab Seite 24 zeigen wir Ihnen, was eine Echtzeit-Plattform für mobile Apps in der Industrie leisten sollte. An dieser Stelle möchte ich Sie noch auf unseren 4. Embedded SoftwareEngineering Kongress hinweisen: Vom 5.bis 9. Dezember trifft sich in Sindelfingen die Embedded-Software-Branche. AufGrund der steigenden Nachfrage haben wir den Kongress auf fünf Tage ausgedehnt. Der Dienstag, Mittwoch und Donnerstag starten jeweils mit einer Keynote. Das Programm zum Kongress finden Sie unter Ein Tipp:Wenn Sie sich bis zum 31.Oktober anmelden, profitieren Sie von unserenfrühbucherrabatten. Microcontroller Development Tools Für ARM,Cortex,8051, und C166 Mikrocontroller RTOS und Middleware Debug &Trace Adapter Evaluation Boards Herzlichst,Ihr ELEKTRONIKPRAXIS EmbeddedSoftwareEngineering Report September

4 INhALT multicore-programmierung Ohne Locksfür Multicore- Systeme programmieren Bei der Programmierung paralleler Threads für Multicore-Systeme identifizieren Softwareentwickler kritische Codeabschnitte und versehen sie mit einem Zugriffsschutz, einemlock. OhneLocks zu programmieren, birgt beirichtiger Anwendung erhebliche Performance-Vorteile. Lockfrei zu entwickeln istabernoch keine gängige Methode: Es gilt als riskant, Locks wegzulassen. Anhand einiger Beispielezeigen wirdie Vor-und Nachteile auf. 6 Schwerpunkte Multicore-Entwicklung TiTelThema 6 Ohne locks für multicore-systeme programmieren Viele Multicore-SOCs und auch einige Betriebssysteme bieten Möglichkeiten zur lockfreien Programmierung. Die Softwareentwicklung wird dadurch jedoch umständlicher als mit herkömmlichen Methoden. Embedded-Systeme 10 embedded-systeme echtzeitfähig entwickeln Embedded-Systeme zu entwickeln ist eine Herausforderung: Echtzeitfehler und Performance-Engpässe treten erst später auf. WirzeigenIhnen, wie Echtzeitmodellierungund Analysemöglichwerden. Verifikation undtest 14 Simulink-modelle automatisch testen Signalverläufe nachdem StandardIEEE 1641inSimulink strukturiertbeschreiben: Das Fraunhofer IESE hat dazu ein Plugin entwickelt,womit sich Modelle komfortabel testen lassen. Embedded Linux 16 ZusätzlicheSchnittstellen mit USB-Tunneling Fehlende Schnittstellen aufhardwaremodulen lassen sichmit Softwareansteuern. ViaUSB-Tunnel lassen sich durch einmaligen Programmieraufwand individuell weitere Schnittstellenmöglichkeiten schaffen. Echtzeitsysteme 20 Sichere und flexible apps Apps sind klein und flexibel: Warum Apps nicht in das technische Umfeld heben?allerdings müssten Apps echtzeitfähigsein. Wasmuss eine Echtzeit-Plattform bieten, um Apps in der Industrie zu etablieren? ESE-Kongress ese-kongress vom 5. bis 9. Dezember Vom5. bis 9. Dezember trifft sichdie Embedded-Software- Branche zum mittlerweilen vierten ESE-Kongress in Sindelfingen. Aufgrund der großen Nachfrage aus dem letzten Jahr und dem Wunsch nach mehr Kompaktseminaren wurde der diesjährige Kongress auf fünf Tage verlängert. kolumne 27 Bleiben Sie auf augenhöhe! Ein Projekt kann nur dann Erfolg haben, wenn sich alle Parteien verstehen. Positionskämpfe führen meist zum Scheitern eines Projekts.Geben Sie jeder Meinung eine Chance! rubriken 3 editorial 21 impressum 4 ELEKTRONIKPRAXIS EmbeddedSoftwareEngineering Report September 2011

5 Virtualisierung ermöglichtdie Konsolidierung vonkommunikationsdiensten, um die geforderte Leistungsfähigkeit vonnetzwerken heute und in der Zukunft sicherzustellen. 1 Edwin Verplanke, Plattform-Architekt Intel Embedded and Communications Group EMBEDDED MIT INNOVATION: Virtualisierung Holen Sie mehr Leistung aus einer Einzelplattform heraus. DIE HERAUSFORDERUNG > Neue Embedded-Apps entwickeln und gleichzeitig die Investitionen in Legacy-Software sichern. DIE LÖSUNG > Mehrere Betriebssysteme und Software-Stacks auf einer Einzelplattform konsolidieren. Mit Virtualisierung optimieren Sie die Leistungsfähigkeit Ihrer IT,ohne mehr Platz bereitzustellen. Die Intel Xeon und Intel Core vpro Prozessoren ermöglichen die Koexistenz mehrerer Betriebssysteme und Software-Stacks in jeweils einer eigenen virtuellen Maschine. Ob Echtzeit-, General-Purpose- oder Legacy-Systeme -alle laufen ohne Modifizierung auf einer einzigen Plattform. Das bedeutet höhereperformance, maximale Sicherheit und niedrigere Investitionskosten. +48% Bis zu 48% Leistungszuwachs in MMUintensiven Benchmarks durch den Einsatz vonintel Prozessoren. 2 HöhereLeistung Intel vpro Technologie Mit der Intel vpro Hardwareunterstützung erzielen Anbietervon Virtual- Machine-Monitoren eine Interrupt- Latenz von 3 µs. Schnellere Response Virtualisierung. Exklusives Webinar. Lernen Sie, wie sich Ihre Embedded-Applikationen optimieren lassen. Plattform-Konsolidierung, Datenschutz, Sicherheit und Zuverlässigkeit basierend auf effizienter Embedded- Virtualisierung. Diskutieren Sie mit und machen Sie sich ein Bild davon, wie die Embedded-Welt durch Intel und unser immer größeres Virtualisierungs-Ökosystem neu definiert wird. LESEN > SEHEN > DISKUTIEREN >>> intel.com/embedded/innovation/virtualization 2011IntelCorporation. Intel, das Intel-Logo und das Intel-Embedded-Logo sind Handelsmarken der IntelCorporation in den USAoder anderen Ländern. Bei Leistungsprüfungen eingesetztesoftwareund Workloads wurden u.u.nur auf Intel Mikroprozessoren leistungsoptimiert. Bei Leistungsprüfungen wie SYSmark* und MobileMark* werden Messungen mit speziellen Rechnersystemen, Komponenten, Softwaresystemen, Operationen und Funktionen ausgeführt. Änderungen dieser Faktoren können zu abweichenden Ergebnissen führen. Für eine umfassende Evaluierung der Systeme, die Sie kaufen wollen, empfehlen wir Ihnen, sich umfassend zu informieren und weitereleistungsprüfungen durchzuführen, auch für das jeweilige Produkt in Kombination mit anderen Produkten. Die Intel vpro Technologie istkomplexund erfordert Set-up und Aktivierung. Die Verfügbarkeit vonfeatures und Ergebnissen hängt vonder Einrichtung und Konfiguration Ihrer Hardware, Softwareund IT-Struktur ab. WeitereInformationen erhalten Sie auf 1 Extending Virtualization to Communications and Embedded Applications, IntelCorporation, IDF Performance Evaluation of IntelEPT HardwareAssist, VMware, Inc., Intel Virtualization Technology in Embedded and Communications InfrastructureApplications, IntelTechnology Journal, Band 10, Ausgabe 3.

6 MULTICORE PROGRAMMIERUNG // ENTWICKLUNGOHNE LOCKS TITELSTORY Bei der Programmierung paralleler Threads für Multicore-Systeme identifizieren Softwareentwickler erst kritische Codeabschnitte und versehen sie mit einem Zugriffsschutz, einem sogenannten Lock. Ohne Locks zu programmieren, birgt bei richtiger Anwendung erhebliche Performance-Vorteile. Meist wird die lockfreie Entwicklung deshalb für Programmteile mit komplexen, tief verschachtelten und häufig ausgeführtenschleifen eingesetzt. Die lockfreie Programmierung istaber noch keine gängige Methode. Es gilt als riskant, Locks wegzulassen. Oft sind auch komplizierte Algorithmen die Folge. Anhand einiger Beispiele zeigen wir die Vor- und Nachteile auf. ELEKTRONIKPRAXIS EmbeddedSoftwareEngineering Report September

7 Multicore-PrograMMierung // EntwicklungohnElocks Ohne Locks für Multicore-Systeme programmieren Viele Multicore-SOCs und auch einige Betriebssysteme bieten Möglichkeiten zur lockfreien Programmierung. Die Softwareentwicklung wird dadurch jedoch umständlicher als mit herkömmlichen Methoden. DAvID KALINSKy* Wenn sich Programmierer mit Multicore-SOCs und Multicore-Betriebssystemen beschäftigen, stellen sie oft fest, dass sich herkömmliche Multitasking-Designansätze in einer Multicore-Umgebung schwer umsetzen lassen. Mehrfach- Tasks warten oft lange aufgesperrte Locks. Dies beeinträchtigt die Parallelität, verlängert die Latenzzeiten und schmälert die Vorteile der Hardware. Lockfreie Programmierung ist kein Allheilmittel, dochbei effizienter Anwendungbirgt sie erhebliche Performance-Vorteile. Meist wird sie für Programmteile mit komplexen, tief verschachteltenund häufigausgeführten Schleifen eingesetzt. *David Kalinsky... istberater, Trainer unddozentfür Echtzeit- undembedded-programmierung in Sunnyvale/Kalifornien (USA). Die besteart,lockfrei zu programmieren, besteht darin, die Software in große und unabhängige Codeblöcke zu unterteilen. Diese Blöcke können dann über lange Zeit parallel ablaufen, meist auf verschiedenen Kernen. Da keine Dateninteraktion stattfindet,wären hier keine Locks erforderlich. Dieses Vorgehen lässt sich jedoch nicht immer umsetzen. Dateninteraktionen durch Compare-and-Swap steuern Wenn Dateninteraktion unvermeidlich ist, lassen sich einfachere Interaktionen zwischen parallelen Codeblöckenüber die lockfreie CAS-Operation steuern (atomisches Compare And Swap). Diese Operation ist in der Hardware diverser Multicore-SOCs und vieler Betriebssysteme verfügbar.ihr Einsatz wirdanhand mehrerer Beispiele erläutert. Selbst in Single-CPU-Multitaskingumgebungen sind Lock-Mechanismen problematisch. In Multicore-Umgebungen kommen noch mehr Probleme hinzu, einmal durch den Parallelismus und zum anderen, weil das Task-Scheduling in Multicore-Betriebssystemen ungeordneter abläuft.die häufigsten Probleme mit diesenlocks sind nachstehend beschrieben. Deadlock Als Deadlockbezeichnet man eine Situation, in der zwei (oder mehr) Tasks darauf warten, dass jeweils der andere Task eine Ressource freigibt. Da beide Tasks warten, werden keine Ressourcen freigegeben und keine Tasks mehr ausgeführt. In einem Multicore-System können Deadlock-Tasks auch in verschiedenen Kernen auftreten. Lockout Bei einem Lockout sperrt ein Task ein Lock und nutzt die Ressource, die von dem Lock bewacht wird. Jedoch gibt er anschließend das Lock nicht frei. Einem anderen (oder auch demselben) Task ist es danach nicht mehr möglich, das Lock zu sperren. Versucht ELEKTRONIKPRAXIS EmbeddedsoftwareEngineering Report september

8 Multicore-PrograMMierung // EntwicklungohnElocks ein anderer Task es trotzdem, wird der Applikationscode quasi lahm gelegt Prioritätsinversion Bei einer Prioritätsinversion hindert ein Task mit niedrigerpriorität (np)einen Task mit hoher Priorität (hp)an der Ausführung. Diese Situation tritt auf, wenn ein np-task ein Lock sperrtund einen hp-task (der vielleicht gleichzeitig auf einem anderen Kern läuft) dasselbe Lock sperren will. Die hp-task muss so lange warten, bis der np-task das Lock freigibt. Ein langer Sperr- bzw. Wartevorgang kann die Performance des hp-tasks massivbeeinträchtigen. Performance-Einbußen Betriebssysteme weisen den meisten Locks Task-Warteschlangenzu. Beijeder Operation an einem Lock ist die jeweilige Task-Warteschlange zu behandeln, was oft viel Zeit kostet. Außerdem können Tasks in der Schlange hängen bleiben, wenn sie versuchen, ein Lock zu sperren, das gerade verwendet wird. In einer Multicore-Umgebung müssen oft mehrere Tasks auf mehreren Kernen warten. CAS prüft und aktualisiert kritischevariablen und Pointer Das Code-Snippet oben zeigt eine CAS- Operation, dargestellt ineiner C-ähnlichen Sprache. CAS vergleicht den aktuellen Inhalt von"var" mit einem "expected"-wert. Ist der Wert wie erwartet(expected), wird"var" aktualisiertund damit "new". Ansonsten wird var nicht aktualisiert. All dies erfolgt in einer einzigen, kontinuierlichen Operation. Bei der Entwicklung von lockfreiem Code wird zuerst der Originalwert einer Variable (oder eines Zeigers) in"expected" kopiert. Dann wird durch einen weiteren Kopiervorgang in einer (möglicherweise langen und komplexen) Kalkulation ein "new"-wert für die Variable erzeugt.während der Verarbeitung hat aber vielleicht ein anderer Task eventuell auf einem anderen Kern den Originalwert der Variable schon geändert. Die Variable soll aber nur dann mit dem "new"-wert aktualisiert werden, wenn sie zwischenzeitlichnicht durcheinen anderen Task geändert wurde. CAS nimmt eine gemeinsame Überprüfung und Aktualisierung vor, ohne dass ein Lock-Konstrukt nötig ist. Wenn CAS erkennt,dass die Variable nicht mehr den Original-oder "expected"-wert hat, Semantik einertypischen CAS-Implementierung: Der aktuelle Wert der Variablen var wird mit einem erwarteten Wert verglichen. Ist der Wert wie erwartet,wird var aktualisiert,sonst nicht. DieProgrammausführungvon bisher kritischen Codeabschnitten lässt sich durch lockfreie Programmierung unter Umständen um den Faktor 2 oder mehr beschleunigen. David Kalinsky entscheidet die Applikationssoftware über die nächsten Schritte. Die Varianle wurde nicht mit dem "new"-wert aktualisiert. Hier wird oft die gesamte Kalkulation wiederholt, diesmal basierend auf einem erneuten Auslesen des aktuellen Wertes der Variable. Dann wird wieder diecas-operation aufgerufen, um sicherzustellen, dass nun kein anderer Task den Wert verändert hat. Beispiel 1: Erhöhen eineszählwerts Zunächst ein einfaches Beispiel: Zwei Tasks erhöhen beide einen Wert mittels des ++ -Operatorsaus der C-Sprache. In einer Multicore-Umgebung können beide Tasks gleichzeitig aktiv werden, ob sie nun die gleiche Priorität haben oder nicht. Manchmal werden die ++-Operationen in beiden Tasks zur gleichen Zeit ausgeführt. Dadurch wird der im Zähler (counter)gespeicherte Wert beschädigt, oder es geht z. B. eine Erhöhungverloren. Dies lässt sich umgehen, indem ein Lock verwendet wird, das die ++-Operation als kritische Sektion schützt. Wir wollen doch aber lockfrei programmieren! Der Beispielcode oben rechts zeigt,wie sich das gleiche Ziel lockfrei erreichen lässt Dabei ist es unerheblich, ob die Operation +1 atomisch ist. Wichtig ist nur, obeine anderetask die Variable "counter" während der Kalkulation manipuliert hat. Die CAS- Operation überprüft dies und aktualisiert "counter" nur, wenn keine Manipulation stattgefunden hat. Sonst wird dieser Code wieder an den Anfang zurückgeführt, und es findet ein weiterer Erhöhungsvorgang statt. Dieser Code ist viel komplexer als sein lockbasiertes Gegenstück. Damit ist es auch schwieriger, ihn zu verstehen und zu debuggen. Zum anderen ist aufgrund des Schleifen- Verhaltens in diesem Code die Ausführungszeit nicht kontrollierbar (wenn immer wieder Manipulationen erkannt werden). FürSysteme mit harter Echtzeit eignet sich diese Programmiermethode oft nicht. In manchen Applikationen lässt sich die Anzahl der Schleifeniterationen und damit die Worst-Case-Ausführungszeit begrenzen. Hierfür ist ggf. eine Wahrscheinlichkeitsberechnung erforderlich, die belegt, dass die maximale Anzahl der Iterationen möglichst selten erreicht wird. Beispiel 2: Lockfreie verknüpfte Liste In Embedded-Software werden häufig Linked-Lists (verknüpfte Listen) zur Organisation größerer Sensordatenmengen und sonstiger Datenströme verwendet. Bei der Linked-List unten rechts sind die einzelnen Listenmitglieder als Rechteck dargestellt, jeweils mit einem Datenfeld und einem Zeiger zum nächsten Mitglied. Beim lockfreien Programmieren lässt sich ein neues Mitglied einfach in eine Linked- List einfügen. Erst wird die gewünschte Listenposition für das neue Mitglied ermittelt und dann der Inhalt des neuen Mitglieds vorbereitet.danach wird das neue Mitglied mittels einer einfachen CAS-Operation in die Liste eingefügt,wie nebenan dargestellt. In dieser Situation überprüft CAS an einem bestehenden Listenmitglied den Zeiger zum nächsten Mitglied, um sicherzustellen, dass keine Manipulation stattgefunden hat, ehe CAS den Zeigerauf das neue Mitglied setzt. Manipulationbedeutet hier,dassbereits ein anderes Mitglied in diese Listenposition eingefügt wurde, während das andere neue Mitglied zum Einfügen vorbereitet wurde. In diesem FallwärenalleVorbereitungenzum Einfügen des neuen Mitgliedes noch mal von vorne zu durchlaufen. Auf den ersten Blick scheint es genauso einfach, das bestehende Listenmitglied Bzu löschen einfachmit CAS das Zeigerfeld des vorherigen Mitglieds A auf den Zeiger des nachfolgenden Mitglieds Csetzen, so müsste es gehen. Hier kann jedoch eine Race Condition (Wettlaufsituation) auftreten: Parallel zum Löschen von Mitglied B könnte eine Operation Mitglied Z hinter Mitglied 8 ELEKTRONIKPRAXIS EmbeddedsoftwareEngineering Report september 2011

9 Multicore-PrograMMierung // EntwicklungohnElockS Beispiel 1: Zwei Tasks erhöhen den Wert einergemeinsam genutzten Variable ohne Ausfälle und ohne Locks Beinfügen ausgeführt werden. Dadurch wäre kein Zugriff auf Mitglied Z möglich. Hier zeigt sich, dass CAS kein Allheilmittel ist. Entwickler von lockfreien Programmen müssen selbst nachhelfen und Lösungen für Probleme wie z. B. Race Conditions finden. Abhilfe ließe sichwie folgt schaffen: Ehe das Programm Mitglied B löschen CAS aufruft, sollte es absichtlich eine bestimmte Lösch- Markierung imzeigerfeld von Mitglied B setzen und so eine parallele CAS-Operation in einem Einfügen -Aufruf verhindern, der Mitglied B involviert. In diesem Fall würde die Einfügen -Operation auf einen späteren Versuchverschoben, bei dem das neue Listenmitglied dann richtig eingefügt wird. So lässt sich eine Linked-List effizient und lockfrei manipulieren. Doch auch hier sind wir einer Logik begegnet, die komplizierter als ihr lockbasiertes Pendant und somit schwerer zu verstehen und zu debuggen ist. Und auch hier ist die Ausführungszeit wegen des Loop-Charaktersnicht kontrollierbar. Fazit: Lock-frei istnicht gleichbedeutend mit Wait-frei Wie sich gezeigt hat,kann auch eine lockfrei programmierte Applikation erhebliches Task- und Core-Waiting bedeuten. Wie in den Beispielen gezeigt, handelt es sich dabei meist um Busy-Waiting, wobei die Applikationssoftware weiter ausgeführt wird (und im Running -Zustand bleibt), während die nächste CAS-Operation vorbereitet wird. Vielleicht haben manche erwartet, dass lockfrei für Wait-frei steht. Aber Waitfreie Programme sind noch viel komplizierter zu erstellen als lockfreie Programme. Dennochbietet die lockfreie Programmierung klare Vorteile gegenüber lockbasierten Programmiermethoden, z. B. hinsichtlichder Performance bzw.der Vermeidung von Deadlocks,Lockouts und Prioritätsinversion. Die Programmausführungankritischen Codeabschnitten lässt sich unter Umständen um den Faktor 2 oder mehr beschleunigen. Vielleicht gibt es in Ihrer Software eine Nische, in der das Beseitigen von Locks einen Leistungszuwachs auslösen könnte. Denkbar wäre der Einsatz lockfreier Programmierung auch beim Entwurf von Bibliothekssoftware. Das wäre eine gute Gelegenheit,sich an die lockfreie Programmierungzuwagen. // FG D. KalinskyAssociates: Literatur: [1] D. Kalinsky: Multicore s Fourth Semaphore: Multiple Reader Writer Lock,EETimes [2] F. Siebert: Facingthe ChallengesforReal-Time SoftwareDevelopmentonMulti-Cores,Embedded Systems Conference 2010 Boston, Paper ESC-422. [3] A. Alexandrescu: Lock-Free Data Structures, Dr. Dobb s, 1. Okt InfoClick Multitasking-Bugs eliminieren Echtzeit-Software ohne RtoS entwickeln Das RtoS der Zukunft infoclick Member A Pointer A Member B Pointer B Member C Pointer C Member B Pointer B Beispiel 2: BeidieserLinked-List ist lockfreies Einfügen mittels CAS möglich.vorsicht ist aber bei kombinierten Operationen geboten. ELEKTRONIKPRAXIS EmbeddedSoftwareEngineering Report September

10 EmbEddEd-SyStEmE // EchtzEitEntwicklung Embedded-Systemeechtzeitfähig entwickeln Embedded-Systeme zu entwickeln isteine Herausforderung: Echtzeitfehler und Performance-Engpässe treten erst später auf.wir zeigen Ihnen, wie Echtzeitmodellierung und Analyse möglich werden. TAPIO KRAmER * *Tapio Kramer... ist Marketing Manager bei Inchron in Garching bei München. Echtzeitmodellierung und Analyse: Mitgeeigneten Werkzeugen lassensich Unsicherheiten im Entwurf verringern und die Fehlersuche wird erleichtert Foto:gerdAltmann, pixelio.de Embedded-Systeme treten in den allermeisten Fällen gar nicht in Erscheinung. Sie haben nur selten ein grafisches User Interface und bieten häufig viel weniger Features und Aufgaben, als der moderne Mensch mit seinem Handy in drei Fingergesten anstößt. Dennoch sind der Großteil der Embedded-Systeme hochkomplex und sehr anspruchsvoll. Eine wesentliche Eigenschaft ist es,dass sie ihre Aufgaben zuverlässig und vorhersagbar erfüllen dass sie echtzeitfähigsind. Im Folgenden zeigenwir Ihnen, worin die Anforderungen an die Echtzeitfähigkeit begründet sind und wie sie bereits in frühen Entwicklungsphasen Toolunterstützt berücksichtigt und sichergestellt werden können. Warum treten Echtzeitfehler auf?weil das dynamische Verhalten des Systems nicht in einer Tabellenkalkulation statisch aufsummiert hinreichend beschrieben und verstanden werden kann. Die Komplexität der Funktionenwird häufiggut beherrscht.die Komplexität der Ausführungszeiten und -zeitpunkte ist jedoch erst erlebbar, wenn das System implementiert und integriert ist und auf dem Prüfstand läuft.dass ein modellbasiertes Vorgehen die geeignete Methode ist Komplexitätzu beherrschen, ist bekannt.und das giltauchfür das dynamische Verhalten und die Performanz. Das dynamische Verhalten in frühen Entwicklungsphasen Durch die Modellierung des Echtzeitverhaltens des Embedded-Systems kann bereits in frühen Entwicklungsphasen das dynamische Verhalten mit Simulation und formalen Methoden analysiert und beherrscht werden. Echtzeitfehler können methodisch vermieden werden. Viele Funktionen werden bereits modellbasiert entwickelt.als Beispiel sei hier Simulink genannt.jedochwirdindieser Phase die Hardwareund das Betriebssystemnochnicht spezifiziert, implementiertund getestet. Die Frage des Was und Wie einer Teilfunktion kann so recht gut frühzeitig beantwortet werden. Das Wann wird bei Embedded-Systemen mit herkömmlicher Entwicklungsmethodik jedoch erst auf dem HiL- System (HW in the Loop) oder mit Prototypen lange nach der Systemarchitekturphase untersucht. Echtzeitanforderungen oftunterschätztund unpräzise Wann eine Reaktion des Systems auf eine Anregung erfolgt, hängt stark davon ab, wie schnell einzelne Teilfunktionen nacheinander ausgeführt werden können und wie viele anderefunktionen die knappen Systemressourcen zur gleichen Zeit ebenfalls beanspruchen. Die Definition des Wann in Form von Echtzeitanforderungen erfolgt im Entwicklungsprozess folglich häufigzuspät und oftmals mit mangelnder Präzision. Als Beispiel soll ein typisches Embedded- System dienen, mit ein paar Sensoren, Regelund Überwachungsaufgaben und einer Buskommunikation zur Aktorik und der übergeordneten Steuerung. Die Sensordaten wer- 10 ELEKTRONIKPRAXIS EmbeddedSoftwareEngineering Report September 2011

11 EmbEddEd-SyStEmE // EchtzEitEntwicklung den mit unterschiedlichen Abtastraten periodisch erfasst und vorverarbeitet. Die Regler und Überwachungsfunktionen laufen ebenfalls periodisch mit niedrigeren Frequenzen ab.die Kommunikation erfolgt über einen Feldbus-Controller.Alles in allem eine scheinbar einfache Entwicklungsaufgabe. Wenn die Gefahr einesdatenverlustes besteht Auch wenn die Systemarchitektur in der Entwurfsphase ausreichend Rechenleistung vorgesehen hat und die Kommunikationspuffer gutdimensioniertsind, wirdeshäufig zu Schwankungen in der Ausführungszeit und eventuell auch Echtzeitfehlern kommen. Spätestens in der übernächsten Produktversion mit zusätzlichen Aufgaben und komplexerer Kommunikation wird die RechenleistunganihreGrenzen stoßen und die Beeinflussung durch die anderen Systeme nicht mehr vorhersagbar sein. Asynchron periodisch auftretende Interrupts von der Buskommunikation werden Schwebungseffekte mit den periodischen Reglern erzeugen. Seltene Betriebszustände werden die Laufzeit von mittlerweile erweiterten Funktionen zusätzlich verzögern und zu Datenverlusten führen. Gerade wenn der Regelalgorithmus durch die Sensordatenerfassung und die seltenere Überwachungsfunktion verzögert wird, kommt ein Burst von Interrupts vom Bus-Controller und der Sollwert wird verspätet übertragen ein Datenverlust tritt auf. DasEchtzeitverhalten dessystems modellieren Das Echtzeitmodell beschreibt die einzelnen Prozesse/Tasks und ISR mit ihren Netto- Ausführungszeiten auf einer abstrakten Ebene. Die Aktivierungder unterschiedlich priorisierten Prozesse durch das Scheduling des Betriebssystems oder Interrupts und Kommunikation wird spezifiziert. Funktionalitätwird nursoweit mitmodelliert, wie sie das Zeitverhalten signifikant beeinflusst, beispielsweise den Wechsel von Betriebszuständen und damit Ausführung von anderen Prozessen. Woher kommen aber die notwendigen Informationen über die Laufzeiten, wenn das System nicht genauer spezifiziert oder gar implementiert ist? Hierzu ist es wichtig zu unterscheiden, dass die Netto-Ausführungszeiten in das Modell eingetragen werden, jedoch die Brutto-Ausführungszeiten und Systemantwortzeiten die Resultate der Analysen sind. Die stark schwankenden und schwer abzuschätzenden Brutto-Zeiten, die man im realen System beobachtet,beruhen Embedded-System: Gegenüberstellung von Prozessen, Interrupts und ihrer Prioritäten größtenteils auf der Verdrängung durch höherprioreprozesse. In frühen Architekturphasen wird der Systemarchitekt den Funktionsentwicklern Zeitbudgets vorgeben und diese auch in der Echtzeitmodellierung verwenden. Die abgeschätzten Zeitbudgets beruhen auf Erfahrungswerten aus Vorgängerprojekten und werden mit Hilfe der Echtzeitanalyse korrigiertund verfeinert. Im Verlauf der Entwicklung werden die Budgets durch gemessene Netto-Ausführungszeiten von bereits implementierten Funktionen ersetzt.die Funktionen werden so mittels virtueller Integration auf ihr Zeitverhalten hin im Gesamtsystem getestet. HIGH SPEED ROBUST FLEXIBLE Zugleich wird das Echtzeitmodell präzisiert und kann jederzeit zur Überprüfung der Echtzeitanforderungen herangezogen werden. Die Analyse des Echtzeitverhaltens eines Embedded-Systems kann auf mehrere Weisen erfolgen. Scheinbar naheliegend, aber enorm aufwändig ist es, die Hardware und Software zuerstellen, integrieren und zu analysieren. Hierfür muss das System in alle möglichen Systemzustände gebracht und ausgemessen werden. Dieser Ansatz ist zeitaufwändig und führt zu hohen Kosten und Entwicklungszeiten für jede Änderung. Daher ist es effizienter,modellbasiertvorzugehen und mit sich ergänzenden Analyseme- TriCore Power Architecture XC2000/XE166 SH-2A XScale Cortex M0/M3/M4 Cortex R4 Cortex A8 ARM7/9/11 ELEKTRONIKPRAXIS EmbeddedSoftwareEngineering Report September

12 EmbEddEd-SyStEmE // EchtzEitEntwicklung Ressourcenauslastung: Das Beispiel zeigt die Auslastung einer Ressource CPU oderbus überzeitintervalle und als Ergebnisspektrum thoden, möglichst innerhalb einer Werkzeugumgebung, die Systeme frühzeitig auf ihr Echtzeitverhalten zu untersuchen. Formale Analyse mit kürzester oder längsterausführungszeit Für die formale Analyse werden als Ausführungszeiten der einzelnen Code-Module die kürzest oder längst möglichen Zeiten verwendet. Die formale Analyse, beispielsweise mit dem Validierungs-Tool chronval,hat die Fähigkeit,aus allen möglichen Anregungen des verteilten Gesamtsystems die zu ermitteln, die den Best-Case und Worst-Case der Antwortzeit des Systems hervorrufen. Auch der Best-Case ist wichtigzuberücksichtigen, da bei Systemen mit mehr als einer Ressource, wie Bus, Prozessor oder Core, beispielsweise eine Best-Case-Ausführung einer Task zu einer Worst-Case-Anregung auf einem anderen Prozessor führen kann. Als Beispiel zeigt das Bild oben das Ergebnis einer formalen Analyse, in dem die Auslastung der Ressource (CPU oder Bus) über Zeitintervalle Δt aufgetragen und als Ereignisspektrum dargestelltist. Die maximale Last (maximale Rechenzeitanforderung) der 5-ms-Task in einem beliebigen Zeitintervall von 10 ms, ist im Worst- Case 3,9 ms. Die maximal verbleibende Kapazität für niederpriore Prozesse ist prozentual dargestellt und zeigt deutlich, dass die über sehr große Intervalle verfügbarekapazität der Ressource mindestens 50% beträgt. Der Verlauf ist jedoch nicht stetig. Für Tasks mit ungefähr 6,6msZykluszeit ist die verfügbare Kapazität sogar geringer als bei 5ms Zykluszeit. Ein Systemarchitekt kann hier schnell ablesen, wo in seinem System noch Kapazitäten für Funktionserweiterungen sicher verfügbar sind. In anderen Darstellungen kann beispielsweise abgelesen werden, was die maximale Zahl der Mehrfachaktivierungen einer Task ist. Bei der Simulationsmethode wird das gleichesystemmodell ausgeführtund das Zeitverhalten der Komponenten simuliert. Das Modell wird von externen (IRQ, Buskommunikation) und internen (Scheduler, Datenfluss, Aktivierungen) Ereignissen angeregt und der zeitliche Verlauf wirdaufgezeichnet, dargestellt und ausgewertet. Mit dem Simulationswerkzeug chronsim lassen sich verschiedene Systemzustände einfach erreichen und analysieren. Hierbei gilt für die Simulation das Gleiche wie für Testfahrten, HiL-Systeme oder automatisierte Modultests: Je besser der Zustandsraum abgedeckt wird, desto besser ist die Testabdeckung. Ob alle möglichen Zustände geprüft wurden und keine kritische Situation übersehen wurde, wird durch ausgiebigeres Simulieren und Testen nur weniger wahrscheinlich aber nicht sicher ausgeschlossen. Vorteil der Simulation ist, dass sie zu einem Bruchteil der Kosten und wesentlich früher im Entwicklungsprozess durchgeführt werden kann. DynamischesVerhalten von Echtzeit-Systemen darstellen Die Kombination beider Verfahren erlaubt es einem Architekten schnell einen großen Entwurfsraumabzudeckenund in der Simulation das dynamische Verhaltendetailliert darzustellen. Funktionsentwickler erhalten ein tieferes Systemverständnis und Architekturentscheidungen werden nachvollziehbar. Der Systemarchitekt eines Embedded- Systems muss eine Architektur definieren, deren Komponenten (Hardware und Software)noch nicht detailliert bekannt/implementiert sind. Einige Fehldimensionierungen lassen sich improjektverlauf beheben, ein CPU-Wechsel nur schwer.echtzeitfehler und Performance-Engpässe treten erst spät auf, wobei die Ursache schwer zu erkennen ist. Mit der vorgestellten Echtzeitmodellierungund Analysewirddie Unsicherheit im Entwurf wesentlich verringert und die Fehlersuche im gesamten Entwicklungsprozess deutlicherleichtert. // heh Inchron: +49(0) InfoClick DerEchtzeit-SimulatorchronSiM Der Echtzeit-Validator chronval Prozesszustände: Drei Tasks, zwei Interrupts und ein CAN-Bus, um das Echtzeitverhalten zu simulieren InfoClick ELEKTRONIKPRAXIS EmbeddedSoftwareEngineering Report September 2011

13 Mehr als 100 neue TakTgeneraToren und Puffer strom-und PlaTzsParende BausTeine für kostensensitive anwendungen SiliconLabs breites Angebot führender Taktgeneratoren, XOs, VCXOs, Jitter-dämpfenderTakt-ICs und Taktpuffer setzt neue Maßstäbe in Sachen Flexibilität, Leistungsfähigkeit und Lieferzeit. Äußerst frequenzflexible Timing-Lösungen;ideal füranwendungen mit mehreren Frequenze VerfügbarinkompatiblenStandardgehäusen; zum direktenaustausch Auf derbasis patentierterdspll - undmultisynth-technologien verbessern dielow-jitter-bausteinedie Systemleistungsfähigkeit, verringerndie Stückliste, denplatzbedarfauf der Leiterplatte und vereinfachen dassystemdesign Weniger elektromagnetische (EMI)und hochfrequente (RFI)Interferenzen durch verschiedene Signalintegritätsanpassungen wie Anstiegs-/ Abfallzeiten,Ausgangsimpedanz, Treiberstärkeund Streuspektrum- Takterzeugung AllekundenspezifischenBausteinesindohneNRE-Kosteninnerhalb von zwei Wochen lieferbar ProdukT-reihe otn wireless infrastruktur kommunika- TionsTechnik rundfunk/ video Takt-ICs mit Jitter- Dämpfung embedded server consumer Differenzielle Takt-ICs LVCMOS Takt-ICs PCIExpress Takt-ICs x86 Embedded Takt-ICs Taktpuffer Oszillatoren DIffErEnzIELLE TakTgEnEraTOrEn Generieren jede Frequenz an jedemausgang; bis zu 710MHz mitgeringemphasenjitter(<1 ps eff) Jedes Format an jedemausgang: LVPECL, LVDS, HCSL, CMOS, HSTL, SSTL LVCMOS-TakTgEnEraTOrEn Werkseitig kundenspezifiziert und I 2 C-programmierbar Generieren mehrere Frequenzen mit gleichbleibender Frequenzsynthese für bis zu 8 PLLs PCI ExPrESS gen 1/2/3TakT-ICS Bis zu 9HCSL- undbis zu 6LVCMOS-Ausgänge Vollintegrierte Abschlusswiderständeanjedem Ausgang 35% wenigerleistungsaufnahmeals andere Lösungen EMbEDDED x86takt-ics Umfangreiches Angebot an Intel-konformen x86-takt- ICs für Embedded Computing, Kommunikations-, Unternehmens- undindustrie-anwendungen TakT-ICS zur EMI-VErrIngErung Streuanteil von0bis 5.0% Down- oder Center-Streuoptionen Streumodulationsfrequenz khz fanout &zero DELay TakTPuffEr Strom sparend(2,7matyp.),kleines 10-TDFN-Gehäuse(1,4mmx2,0 mm x0,75mm), sehr geringes Phasenrauschen(-168 * finden sieden idealenbaustein fürihreanwendungunter: Silicon Laboratories Inc. Alle Rechte vorbehalten. *QR Code Reader erforderlich; Downloadunter reader.kaywa.com. Datenübertragungskosten können anfallen.

14 Verifikation und test // SimulationSmodelle Simulink-Modelle automatischtesten Signalverläufe nach dem Standard IEEE 1641 in Simulinkstrukturiert beschreiben: Das Fraunhofer IESE hat dazu ein Plugin entwickelt, womit sich Modelle komfortabel testen lassen. DR.RObERTESchbAch* Mit einem Signal-Baukasten nach der Norm IEEE 1641 lassen sich Signalverläufe strukturiert beschreiben. Vorallem zum automatisierten Testen mit kontinuierlichen Werten lässt sich dieser Standardgut einsetzen. Am Fraunhofer IESE wurde hierzu das Plugin SIMOTEST für MATLAB/Simulink entwickelt,mit dem sich Simulinkmodelle komfortabel testen lassen. MATLAB/Simulink ist eine weitverbreitete Software, mit der sich Modelle und deren Validierung/Verifikation via Simulation entwickeln lassen. Solche Simulink-Modelle haben auf Grund von steigenden Anforderungen eine komplexer Struktur und ein komplexesverhalten. Abstrakt formulierte Testfälle für effizienteverifikation * Dr. RobertEschbach... arbeitet am Fraunhofer-Institut für ExperimentellesSoftwareEngineering in Kaiserslautern. Vordefinierte Elemente: Ähnlich wie Bausteine lassen sich mit Standardmodulen Signale und Signalverläufe beschreiben Dieses erschwert den Test und wirkt sich häufig nachteilig auf die Qualität aus. Durch den Einsatz vonabstrakt formuliertentestfällen wird die Verifikation solcher Systeme effizienter und somit kostengünstiger. Bei diesen Vorgehensweisen wird das Verhalten des zu testenden Systems (SUT) mit der Stimulation abstrahiert dargestellt. Ein großes Hindernis für den Einsatz dieser Methoden in MATLAB/Simulink stelltder nicht vorhandene Adapter, der die abstrakten Testfälle auf konkrete systemspezifische Werte umsetzt,dar. In der abstrakten Darstellung lassen sich keine zeitkontinuierlichen Größen beschreiben. Das ist speziell bei Modellen mit einem hybriden Verhalten (diskrete und kontinuierliche Werte ausgeben) oder Schnittstellen mit zeitkontinuierlichem Verhalten. Diese Konkretisierung dient zur Stimulation des SUT und für die Auswertung des Systemverhaltens. Ein Test auf dieser Basis in einer Simulationsumgebung wird meist manuell durchgeführtund ist daher rechtzeitaufwändig. Üblicherweise geschieht das projektspezifisch und kann daher selten für weitere Applikationen wiederverwertet werden. Abhilfe schaffen IEEE-Standards zur Signalund Testdefinition nach IEEE Der Standard bietet die Möglichkeit, unterschiedlichste Signalverläufe in einer eindeutigen und modularen Weise zu beschreiben. Dies geschieht systematisch mit vordefinierten Komponenten ähnlich eines Baukastenprinzips. Die eindeutige und portable Definition von Standardmodulen erlaubt es, Signale und Signalverläufe zu modellieren. Die erstellten Signaldefinitionen können in unterschiedlichen Simulink-Projekten und in allen Phasen des Entwicklungsprozesses genutztwerden. Dies schließt auch die System- und Abnahmetests des Endproduktes ein. Die notwendigengrundlagen desprozesses Die Software zur Verifikation der Simulink- Modelle wurde vom Fraunhofer IESE entwickelt und trägt den Namen SIMOTEST. Als Grundlage des Prozesses dienen die Anforderungen, aus denen das System, die Tests und die für den Test nötigen Komponenten (TSFs) entwickelt werden. Für den Test des Systems ist es erforderlich, den Testfällen die TSFs zuzuordnen, so dass eine Stimulation und Auswertung des Systemverhaltens erfolgenkann. Auswahl der für den Testverlauf benötigten Komponenten (SUT,TSFs) Foto:designritter,pixelio.de 14 ELEKTRONIKPRAXIS embeddedsoftwareengineering Report September 2011

15 Verifikation und test // SimulationSmodEllE Bild 2: Simulink BSCs und generierte Signalverläufe auf Basisvon IEEE 1641 Alles zuerst online! Zuordnen der Stimulation und der Systemantworten(Signal Mapping) Automatisierte Testausführung/ -auswertung Für die Auswahl der Komponenten stellt SIMOTEST übersichtliche und strukturierte Eingabemöglichkeiten für Daten bereit, die während des Testverlaufs benötigt werden. Außerdem werden abstrakte Werte,wie Stimuli und Responses,auf konkrete Simulink- TSFszugeordnet. Vorauswahl und für den Anwender aufbereitete Daten erleichtern die Arbeit.Eine integrierte Testautomatisierung generiert automatisch Testfälle, führt sie aus und wertet sichabschließend aus. Jedeszu testende Modellmuss konkretisiertwerden Ein Testverfahren, bei dem das Systemverhaltenauf abstrakter Ebeneabgebildet wird, dient als Basis für den Testablauf. Für die Anwendung in einer Simulationsumgebung, wie beispielsweise Simulink, muss jedes zu testende Modell eindeutig definiert sein. Dabei hilft der Standard zur Signal und Testdefinition nach IEEE Zeitkontinuierliche und ereignisgesteuerte Signalverläufe werden durch Kombination modularer Komponenten entwickelt.der Standard bezeichnet die Module als Basic-Signal-Components (BSC), welche die Grundlage aller Signalverläufe bilden. Sie stellen beispielsweise Sinusoide, Rampen, Rechteckfunktionen oder Sprungfunktionen dar. Bei der Anwendung müssen diese mit entsprechenden Parametern versehen werden. Eine Auswahl von BSCs und der generierten Signalverläufe sind in Bild 2dargestellt. Dies umfasst auch eine Kombination der Signale wie sie bei der Erstellungvon TSFsbenötigt wird. Die Modellierung der Signalrepräsentationen erfolgt auf Basis dieser Komponenten und resultiert in Test-Signal-Framework- Blöcken(TSF). Die TSFserlauben nicht nur eine Modellierung eines entsprechenden Signalverhaltens, sondern es können Vergleiche der gemessenen Systemgrößen mit erwartetensignalen erfolgen. Die Systemantworten lassen sich noch während des Tests auswerten. Alle BSCs wurden in Form vongenerischen Simulink-Blöcken ausgeführt. Simulink-Modelle verifizieren undvalidieren Verifikation und Validierung der Simulink- Modelle kann durch den Einsatz dieser Technik vereinfacht werden, da eine realitäts- und betriebsnahe Stimulation des zu testenden Systems möglich wird. Durch Kombination von abstrakten Tests und IEEE 1641 sind standardkonform funktionsorientierte Tests an Simulationsmodellen möglich. Diesewerden beispielsweise in der Norm ISO gefordert. Zusätzlich lassen sich systemspezifische Lösungenimplementieren. Diese Zuordnungen bilden die Basis für einen automatisierten Prozess, bei welchem Simulink die zuvor selektierten TSFs mit dem zu testenden System verbindet. Die integrierte Testautomatisierung generiert Testfälle in einer frei wählbaren Anzahl und führtdiese innerhalb vonsimulink auf Basis der genannten Zuordnung aus.der für die Simulation notwendige Signalgenerator ist bereits integriert. Die während des Testverlaufs erzeugten Daten werden im Rahmen der Testprozedur ausgewertet. Nach Abschluss aller Tests werden die Ergebnisse des Testverlaufs in Form eines Reports dem Anwender zur Verfügung gestellt. // heh Fraunhofer IESE: +49(0) InfoClick modellbasiertes testen von Entwicklungsmodellen infoclick Wussten Sie schon, dass alle Fachartikel der ELEKTRONIKPRAXIS Redaktion zuerst online erscheinen? Bleiben Sie auf dem Laufenden und verschaffen Sie sich einen Informationsvorsprung mit Sie finden dort außerdem: Whitepaper Webcasts Business Clips Firmendatenbank Messeinterviews Bildergalerien u.v.m. Schauen Sie doch mal rein! ---> ELEKTRONIKPRAXIS EmbeddedSoftwareEngineering Report September

16 EmbEddEdLinux // USB-TUnneling-ProTokoll ZusätzlicheHardware-Schnittstellen mit USB-Tunneling Fehlende Schnittstellen auf Hardwaremodulen lassen sich mitsoftware ansteuern. Via USB-Tunnel lassen sich durch einmaligen Programmieraufwand individuell weitere Schnittstellenmöglichkeiten schaffen. INA LOSchELdERS * Fehlende Schnittstellen ergänzen: MitUSB-Tunnel und einem einmaligen Programmieraufwand können weitere Schnittstellen geschaffen werden Die Schwierigkeit bei der Integration von Embedded-Betriebssystemen sind die vielen Schnittstellen. Je nach Bedarf müssen unterschiedliche Anbindungen vorhanden sein, so auch beim Einsatz von skalierbaren Hardwareplattformen. Die Module basieren auf dem Prinzip,dass verschiedene, leistungsfähige Prozessorarten austauschbar sind. Der Vorteil darin besteht, dass Leistungen nicht nur skalierbar sind, sondern es ergeben sich auch unterschiedliche Preise für das Gesamtsystem. *Ina Loschelders... arbeitet für das Marketing der Sigma ChemnitzGmbH. Die Signale, Steuerleitungen, dedizierte Schnittstellen und die Stromversorgung werden über denselben physikalischen Steckverbinder übertragen. Steckverbinder sollten so kompakt wie möglich sein Die Anzahl der Kontakte und somit die GrößederSteckverbinderergab sichausdem größten gemeinsamen Nenner aller eingesetzten Controller sowie der gewünschten Schnittstellen und dem Wunsch, den Steckverbinder aus Kostengründen so kompakt wie möglich zu halten. Die Basisplatine als Schnittstelle zu Ihrer Applikation kommuniziert mit dem Prozessorkern über Standardschnittstellen. Beispielsweise bietet Phytec Messtechnik aus Foto:roland enz, pixelio.de Mainz die Skalierbarkeit der Rechenleistung über die Controllerarchitekturen hinweg, auf Basis von Freescale, Texas Instruments und Intel-Prozessoren als phycard-s bis -XL an. Bei dieser Modulfamilie wurde sich im Allgemeinen aufdie wesentlichen Schnittstellen beschränkt: I²C,SPI, ETH10/100 MBit/s, Audio, UART, USB, SDIO/ MMC oder GPIO. Prozessor stelltnotwendige Schnittstellen bereit Die gesamte Hochleistungskommunikation zum Basisboard erfolgt via USB2.0. Um die Skalierbarkeit zu gewährleisten, wird eine standardisierte Pinbelegung auf den Steckverbindern benötigt. Somit wird die skalierbare Rechenleistung über Controller-Architekturen hinwegrealisiert und es können wesentliche Schnittstellen für Embedded-Anwendungendirekt bereit gestellt werden. Auf dem Basisboard selbst befindet sich ein weiterer Prozessor, der die gewünschte Funktionalität an Schnittstellen bereitstellt. Der Vorteil: Zukünftige Leistungssteigerungen lassen sich vorabindas Design einarbeiten. Abkündigungen von Bauteilen, selbst eines Controllers, erfordern kein Redesignder Basisplatine mehr. Dieses Konzept erspart damit nicht nur Kosten und aufwändige Änderungen, sondern vereinfacht auch die Erweiterung der Prozessorleistung. Zusätzliche Schnittstellen mit Software Werden mehr Schnittstellen gebraucht,als auf dem Basisboard vorhanden sind, müssen alternative Anbindungsmöglichkeiten gefunden werden. Sigma hat hierfür eine Software- Lösung entwickelt, welche die Schnittstellenanbindungerweitert. Dazu wurden im Vorfeld verschiedene Alternativen abgewogen. Zuerst wurde überlegt,eine hardwareseitige Lösung anzustreben. Dabei kam in Betracht, den noch benötigten Schnittstellen einen eigenen Strom- 16 ELEKTRONIKPRAXIS embeddedsoftwareengineering report September 2011

17

18 EMBEDDEDLINUX // USB TUNNELING PROTOKOLL USB-Tunnel: DieKommunikation zum Basisboarderfolgt über USB. undeslassensichwesentliche Schnittstellen für Embedded-Anwendungen direkt bereit stellen kreis zuzuweisen, welches den Energie- und Kostenaufwand jedoch enorm erhöht hätte. Eine zweite Alternative wäre die Anbindung über einen zusätzlichen USB-Hubgewesen, an welchem weitere Endgeräte angeschlossen werden könnten. Auch hier wäre es zu einem erhöhten Hardwareaufwand gekommen. Zudem hätte sich durch den zusätzlichen USB-Hub die Bandbreite aufgeteilt und die Echtzeitfähigkeit wäre eingeschränkt. USB-Tunnel verbindet Modul mit einem Co-Mikroprozessor Die Lösung wurde über die Software gewählt. Beidieser Variantewurde ein Protokoll implementiert, welches mit mehreren physikalischen Schnittstellen über ein USB- Interface kommuniziert. Das Ergebnis war ein USB-Tunnel, der das Modul mit einem Co-Mikroprozessor verbindet und somit weitere Schnittstellen zur Verfügung stellt. Dabei werden Geräte mit einem hohen Datenaufkommen, wie CAN oder UART,durch ein eigenes USB-Interface angesprochen. Die verwendeten Mikroprozessoren STMicroelectronics STM F / oder Luminary LM S erlaubten aufgrund der beschränkten Anzahl an USB-Endpoints (drei frei verwendbare Paare) die Definition nur wenigerusb Interfaces. Da die mögliche Anzahl dieser USB-Interfaces geringer war, als die Anzahl der über den USB-Tunnel abgebildeten Geräte,verlief die Kommunikation zu den Gerätenmit geringem Datenaufkommen über ein gemeinsames USB-Interface. Zuvor wurden ähnliche Alternativen mit einer proprietären Entwicklungsumgebung gelöst,die jedoch nur unter Windows liefen. Nachteile waren die schwierige Anpassung, eine unmögliche Fehlerbehebung und ein gewöhnungsbedürftigeshandling. Eine Lösung auf Basis von Open Embedded stellte sich als beste Lösung heraus. Dabei handeltessichumeine Ansammlungvon Metainformationen und Konfigurationsdateien, um ein Linux-Image selbst oder für ein bestimmtes Gerät oder Softwarepakete zu erzeugen. Spezielles Linuxfür Embedded-Systeme Die Embedded Linux Toolchain (ELiTo) integriert Software und Werkzeuge für Linuxumgebungen und ist speziell auf die Bedürfnisse von Embedded-Systemen zugeschnitten. Unterstützt werden kernelseitige Treiberentwicklung und das Management der installiertenbibliotheken sowie Applikationen. ELiTo lässt sich mit geringem Aufwand Die günstigere Softwarelösung PRAXIS WERT Eine USB-Tunnellösung auf Basis einer offenen Software überzeugte, denn das Ergebnis ist ein stabiles und universelles Protokoll. Fehlerträchtige Aufgaben werden von bereits existierenden Layern übernommen. Hinzu kommt, dass sich Zielhardware leichter anpassen lässt, indem beispielsweise nur die GPIO-Nummern geändert werden müssen. Der Entwicklungsaufwand ist geringer, da existierende Standards und Schnittstellen verwendet werden. so anpassen, dass die Entwicklungvon Software für Cortex-M Mikroprozessoren möglich wurde. Eingesetzt wurde der GNU gcc, der C-Code in das finale Image übersetzt,und uclibc, eine Bibliothek von C für Embedded- Linuxsysteme. Mit der Kombination des Open-On-Chip-Debugger und dem GNU Debugger ließ sich das Image auf den Mikrokontroller via JTAG aufbringen. Zusätzlich konnten Checksummen implementiert werden, um das Image zu überprüfen oder eine statische Codeanalyse via Makefile Target durchzuführen. Eigene Bibliothek unterstützt USB-Request-Blocks Das System sollte den zertifizierten SIL- Standard erfüllen, mit dem sich Risiken durchfehlfunktionen verringernlassen. Dazu wurden die Bibliotheken der Mikroprozessorenhersteller verwendet, jedoch nutzten diese einen anderen Programmierstil. Die Folge war, dass die USB-Libraries fehlerhaft oder undokumentiert waren. Schließlich wurde die Flusskontrolle für die Control Endpoints unmöglich und es gab teilweise Warteschleifen. Auch war die Bibliothek schwer auf Misra-C portierbar. Es mussteeine eigene USB-Bibliothek geschrieben werden, welche die USB-Request-Blocks unterstützte. Beider Konfiguration wurden die Treiberlayerallgemein gehalten. Es fand eine einfache Konfiguration der plattformspezifischen Parameter im projektspezifischen Hauptprogramm statt. Anschließend wurden Treiber für dedizierte und gemultiplexte Schnittstellen entwickelt, welche ebenfalls allgemein gehalten wurden. Festkodierte Namen entfielen. Durch Abfrage andas USB Device gelang der Zugriff auf die Parameter.Außerdem half ein spezielles, projekt- und plattformspezifisches Konfigurationsmodul, dass den plattformspezifischen Start der GPIO-Nummern festlegt und diesen anwenderbezogene Input Events zuordnete. Ziel war es, dass mehrere physikalische Schnittstellen zusätzlich zuden schon vorhandenen bedient werden können. Diese Schnittstellen werden über einen Co-Prozessor angesprochen. // HEH SIGMA: + ( ) InfoClick Das Konzept von phycard ELiTo Die Embedded-Linux-Toolchainvon Sigma InfoClick ELEKTRONIKPRAXIS EmbeddedSoftwareEngineering Report September

19 5Tage Embedded Software Engineering: Alles was Sie für Ihren Projekterfolg wissen müssen! Frühbucherrabatt nutzen 31. Oktober 2011 Das neue Programm 2011: ab sofort unter ESE Kongress - Ideen entwickeln, Profis treffen, Lösungen finden findet der ESE Kongress aufgrund seiner wachsenden Beliebtheit erstmals an fünf Tagen statt. Das heißt für Sie als Teilnehmer: größere Räume, knapp 100 Vorträge, 19 Kompaktseminare, Expertenrunden, über 40 Aussteller, mehr Keynotes,... Kurz gesagt: mehr Wissen, mehr Zeit für den Erfahrungsaustausch, mehr Spaß. Vom 5. bis 9. Dezember trifft sich in Sindelfingen wieder die Embedded-Software-Branche. Sehen wir uns? Aussteller 2011: Applied Informatics, Axivion, Berner &Mattner, Dassault Systèmes, dspace, EASYCODE, Embedded Tools, emlix, Esterel Technologies, ETAS, Fraunhofer IESE, Green Hills Software, GS Elektromedizinische Geräte, HighTec EDV-Systeme, Hitex, HP, IAR Systems, IBM, IMACS, INCHRON, isystem, itemis, Lauterbach, Logic Technology, linutronix, macio, National Instruments, Noser Engineering, pls Programmierbare Logik &Systeme, QA Systems, QNX Software Systems, Raima, Sparx Systems, SQuORING Technologies, Vector Informatik, Willert Software Tools, Zühlke bis 9. Dezember 2011 Sindelfingen Hauptsponsoren Veranstalter

20 EchtzEitsystEmE // EmbEddEd Apps Sichere und flexible Apps Apps sind klein und flexibel: Warum Apps nicht in das technische Umfeld heben? Allerdingsmüssten Appsechtzeitfähig sein. Wasmuss eine Echtzeit-Plattform bieten, um Apps in der Industrie zu etablieren? MARIO CuPELLI * Beliebte Apps: Im technischen Umfeld unterliegen die kleinen Programme einigen Regeln Schon seit es PCs gibt,werden Programme für Textverarbeitung, Tabellenkalkulation und alle anderen auf dem PC ausführbaren Anwendungen als Apps benutzt. Es ist für jeden selbstverständlich, dass sich Apps jederzeit starten, parallel ausführen und sogar während des Betriebs des PC neu einspielen lassen. Genaudiese Eigenschaften haben wesentlich zum Erfolg des PCs beigetragen. Die immer populäreren Smartphones sind eigentlichminiaturisierte PCs,die nochtelefonierenkönnen, und das Angebot an Apps wächst in atemberaubendem Tempo. Apps sind oft recht speicherintensiv, was jedoch wegender üppigenspeicherausstattungkein Problem darstellt. *Mario Cupelli...ist Leiter der Entwicklung und für Qualitätssicherung bei HighTec EDV-Systeme. Die kleinen Programme lassen sich zwar parallel ausführen, kommunizieren jedoch kaum miteinander.informationen zwischen Apps werden in der Regel durch Kopieren von Daten ausgetauscht. Die Geschwindigkeit einer solchen Kommunikation ist für derartige Anwendungen jedoch akzeptabel und der Benutzer merkt das kaum. BeliebigvieleAppsunabhängig ausführen Für private Anwendungen sind die Nachteile vernachlässigbar. Die Idee einer Plattform, aufder: beliebigviele, voneinander unabhängige Apps ausgeführt werden können und das geordnete Miteinander sowie das Einhalten gewisser Regeln koordiniert wird hat im technischen Umfeld, wo gesteuert und geregelt wird, eine große Attraktivität. Man könnte auf einfache Weise Softwarekomponenten, also die Apps, einkaufen, in eine Plattform integrieren und so mit weit geringerem Aufwand Produktvarianten und leistungsfähige Systeme schaffen. Für die Anbieter derartiger Apps wäre dies ein attraktiverweg,das eigene Knowhow zu vermarkten. Das technischeumfeld definiert jedochbedingungen, die eine Implementierung derartiger Apps stark beeinflussen: Im technischen Umfeld steht viel weniger Speicher zur Verfügung als im Smartphone, was üppig dimensionierte Adressräume und das Kopieren von Informationen zwischen Apps von vornherein ausschließt Ein weiterer Nachteil der kopierenden Kommunikation ist die mangelnde Echtzeitfähigkeit und fehlende zeitliche Vorhersagbarkeit, dadie Kommunikationszeit von der Größe der zu kopierenden Daten abhängt Wenn also das Konzept der Plattform und der Apps Einzug in die technische Welt halten soll, müssen neben der gegebenen Unabhängigkeit der Apps weitere Anforderungenerfülltsein: Kommunikation zwischen Apps muss kopierfrei und trotzdem sicher sein Die Kommunikationszeit muss klein und vorhersagbar sein. Speicherbedarf, insbesondere an RAM, muss möglichst geringsein. Reaktionsgeschwindigkeit muss hoch und steuerbar sein. Eine Gewichtung erfolgt durch Priorität. Ausführung zumindest der höchst priorisierten Unterbrechung muss verzögerungsfrei erfolgen. Schnelle Abläufeohne Verzögerungen Tatsächlich müssen in vielen technischen Systemen, wie beispielsweise die Ansteuerungvon Elektromotoren, sehr schnelle Vorgängemöglichst verzögerungsfrei erfolgen, um die Qualität der Regelungzugewährleisten. Die notwendige Messwerterfassung und Regelung des Motors wird deshalb meist durchinterrupts gesteuert. Fast alle größeren Betriebssysteme bewirken zeitliche Verzögerungen der Inter- 20 ELEKTRONIKPRAXIS EmbeddedsoftwareEngineering Report september 2011

Echtzeitverhalten komplexer Systeme optimal mit beiden Methoden analysieren und beherrschen

Echtzeitverhalten komplexer Systeme optimal mit beiden Methoden analysieren und beherrschen Echtzeitverhalten komplexer Systeme optimal mit beiden Methoden analysieren und beherrschen Tapio Kramer, Kramer@INCHRON.com Dr. Ralf Münzenberger, Muenzenberger@INCHRON.com Die Möglichkeiten und Einschränkungen

Mehr

Embedded OS für ARM Cortex Microcontroller

Embedded OS für ARM Cortex Microcontroller Embedded OS für ARM Cortex Microcontroller RTOS Design, Timinganalyse und Test mit Core Simulation und Hardware Debugger Entscheidende Fragen für oder gegen RTOS Lohnt sich der Einsatz eines RTOS auch

Mehr

White Paper. Embedded Treiberframework. Einführung

White Paper. Embedded Treiberframework. Einführung Embedded Treiberframework Einführung White Paper Dieses White Paper beschreibt die Architektur einer Laufzeitumgebung für Gerätetreiber im embedded Umfeld. Dieses Treiberframework ist dabei auf jede embedded

Mehr

Virtualisierung im Echtzeitbereich. Andreas Hollmann FH Landshut EADS Military Air Systems

Virtualisierung im Echtzeitbereich. Andreas Hollmann FH Landshut EADS Military Air Systems Virtualisierung im Echtzeitbereich Andreas Hollmann FH Landshut EADS Military Air Systems 2 Überblick Hintergrund und Motivation Vorstellung von Lösungsansätzen Auswahl und Evaluierung Einschränkungen

Mehr

Absicherung von Automotive Software Funktionen

Absicherung von Automotive Software Funktionen GI Themenabend "Automotive" Absicherung von Automotive Software Funktionen 27.02.2013 Jürgen Schüling Überblick Berner & Mattner Gründung: 1979 Mitarbeiter: 400 Umsatz 2011: Standorte: Angebot: Branchen:

Mehr

Binarloop. Binarloop für die echtzeitfähige und kostengünstige Verifikation hochdynamischer leistungselektronischer Systeme

Binarloop. Binarloop für die echtzeitfähige und kostengünstige Verifikation hochdynamischer leistungselektronischer Systeme für die echtzeitfähige und kostengünstige Verifikation hochdynamischer leistungselektronischer Systeme Funktions- und Sicherheitstests sind unabdingbare Schritte im Entwicklungsprozess leistungselektronischer

Mehr

Dr. Nicholas Merriam Rapita Systems Ltd., IT Centre, York Science Park, Heslington, York, YO10 5DG (UK) nick.merriam@rapitasystems.

Dr. Nicholas Merriam Rapita Systems Ltd., IT Centre, York Science Park, Heslington, York, YO10 5DG (UK) nick.merriam@rapitasystems. Das zeitliche Verhalten von Echtzeitsoftware zu analysieren und sicher zu stellen, dass die Anforderungen an das Echtzeitverhalten erfüllt werden kann sehr aufwendig und teuer sein. In diesem Artikel sollen

Mehr

Parallels Workstation Extreme: Weltweit erste professionelle Virtualisierungslösung für native 3D-Grafik

Parallels Workstation Extreme: Weltweit erste professionelle Virtualisierungslösung für native 3D-Grafik Parallels Workstation Extreme: Weltweit erste professionelle Virtualisierungslösung für native 3D-Grafik Technologie-Allianz mit HP, Intel und NVIDIA ermöglicht Betrieb dedizierter Profi-Grafikkarten im

Mehr

Performance Messungen von FreeRTOS und

Performance Messungen von FreeRTOS und Performance Messungen von FreeRTOS und µc/os-iii auf ARM-Architekturen Tim Wacher (wht4@bfh.ch) Master of Science in Engineering MRU Production Technology 16. August 2011/ CH-3400 Burgdorf Outline 1 Ziel

Mehr

SOFTWARE-ENTWICKLUNG FÜR EMBEDDED SYSTEMS

SOFTWARE-ENTWICKLUNG FÜR EMBEDDED SYSTEMS SOFTWARE-ENTWICKLUNG FÜR EMBEDDED SYSTEMS Stimmungsbild zu den Herausforderungen bei der Software-Entwicklung für Embedded Systems Motivation In dieser Umfrage geht es um die Entwicklung von Software für

Mehr

Testautomatisierung. Schritthalten mit agiler Software-Entwicklung. Matthias Hölzer-Klüpfel

Testautomatisierung. Schritthalten mit agiler Software-Entwicklung. Matthias Hölzer-Klüpfel Testautomatisierung Schritthalten mit agiler Software-Entwicklung Matthias Hölzer-Klüpfel Aufgabenstellung Entwicklung eines innovativen Medizinprodukts in einem Startup-Unternehmen bis zur CE-Kennzeichnung

Mehr

FLASHRECOVER SNAPSHOTS. Sofortige, unlimitierte Snapshots, speziell für 100 % Flash-Speicherung

FLASHRECOVER SNAPSHOTS. Sofortige, unlimitierte Snapshots, speziell für 100 % Flash-Speicherung FLASHRECOVER SNAPSHOTS Sofortige, unlimitierte Snapshots, speziell für 100 % Flash-Speicherung FLASHRECOVER SNAPSHOTS BIETEN EFFIZIENTE, SKALIERBARE UND LEICHT ZU VERWALTENDE SNAPSHOTS OHNE KOMPROMISSE

Mehr

Skript zum Labor Maschinenkonstruktion. Konzipieren mechatronischer Produkte: Modellbasierte Programmierung eines Mikroroboters

Skript zum Labor Maschinenkonstruktion. Konzipieren mechatronischer Produkte: Modellbasierte Programmierung eines Mikroroboters Skript zum Labor Maschinenkonstruktion Konzipieren mechatronischer Produkte: Modellbasierte Programmierung eines Mikroroboters Sommersemester 2012 1. Einführung 1.1. Modellbasierte Entwicklung mechatronischer

Mehr

Echtzeitanforderung und Linux

Echtzeitanforderung und Linux Echtzeitanforderung und Linux Slide 1 - http://www.pengutronix.de - 21.01.2007 Definition Harte Echtzeit I Was zeichnet ein Echtzeitsystem aus? Zeitverhalten ist Teil der System-Spezifikation! Bei Embedded-Systemen

Mehr

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH

Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme. Tillmann Schall, anaptecs GmbH Modellgetriebene Entwicklungsprozesse in der Praxis - eine Bestandsaufnahme Tillmann Schall, anaptecs GmbH : Agenda Grundlagen modellgetriebener Entwicklungsprozesse Schritte zur Einführung Erfahrungen

Mehr

Sowohl RTX64 als auch RTX bieten harten Echtzeitdeterminismus und symmetrische Multiprocessing- Fähigkeiten (SMP).

Sowohl RTX64 als auch RTX bieten harten Echtzeitdeterminismus und symmetrische Multiprocessing- Fähigkeiten (SMP). Produktbeschreibung Februar 2014 RTX RTOS-Plattform Mit der RTX-Echtzeitsoftware von IntervalZero wird aus Microsoft Windows ein Echtzeitbetriebssystem (RTOS). RTX64 von IntervalZero unterstützt 64-Bit-Betriebssysteme

Mehr

Key Note und Abstracts Stream 4

Key Note und Abstracts Stream 4 Key Note und Abstracts Stream 4 Key-Note: Future of Google Search Referent: Emmanuel Mogenet, Engineering Director, Google Zurich Agile Embedded Projekte mit Scrum & Kanban Tips & Tricks aus der Praxis

Mehr

Restbussimulation für FlexRay-Netzwerke

Restbussimulation für FlexRay-Netzwerke Restbussimulation für FlexRay-Netzwerke Fachartikel von: Thomas Waggershauser, IXXAT Automation Weingarten Dr. Robert von Häfen, BMW Group München Im Folgenden werden Möglichkeiten und Vorteile der von

Mehr

Test. Dipl. Wirtsch. Ing. Alexander Werth 9-1

Test. Dipl. Wirtsch. Ing. Alexander Werth 9-1 Test Dipl. Wirtsch. Ing. Alexander Werth 9-1 Phasen der Problemdefinition Anforderungsanalyse Spezifikation Entwurf Implementation Erprobung Wartung Methoden der 9-2 Software Test / Erprobung Messen der

Mehr

Die Integration zukünftiger In-Car Multimedia Systeme unter Verwendung von Virtualisierung und Multi-Core Plattformen

Die Integration zukünftiger In-Car Multimedia Systeme unter Verwendung von Virtualisierung und Multi-Core Plattformen Die Integration zukünftiger In-Car Multimedia Systeme unter Verwendung von Virtualisierung und Multi-Core Plattformen 0. November 0 Sergio Vergata, Andreas Knirsch, Joachim Wietzke Echtzeit 0 Agenda Motivation

Mehr

RAID. Name: Artur Neumann

RAID. Name: Artur Neumann Name: Inhaltsverzeichnis 1 Was ist RAID 3 1.1 RAID-Level... 3 2 Wozu RAID 3 3 Wie werden RAID Gruppen verwaltet 3 3.1 Software RAID... 3 3.2 Hardware RAID... 4 4 Die Verschiedenen RAID-Level 4 4.1 RAID

Mehr

VIRTUELLE INTEGRATION UND TEST VON E/E-FAHRZEUGSYSTEMEN

VIRTUELLE INTEGRATION UND TEST VON E/E-FAHRZEUGSYSTEMEN VIRTUELLE INTEGRATION UND TEST VON E/E-FAHRZEUGSYSTEMEN Durch die Methodik der Virtualisierung lässt sich die Softwarequalität entscheidend erhöhen, und zwar bevor eine Zielhardware überhaupt verfügbar

Mehr

Teststrategie festlegen und Teststufen aufeinander abstimmen

Teststrategie festlegen und Teststufen aufeinander abstimmen Testen Teststrategie festlegen und Teststufen aufeinander abstimmen Bereich Projektplanung und -steuerung Aktivität Projekt planen Ziele Effiziente Testausführung Vermeidung von doppelter Arbeit schnell

Mehr

Die Vision Landschaft und was sie mit Moore s Gesetz zu tun hat

Die Vision Landschaft und was sie mit Moore s Gesetz zu tun hat Die Vision Landschaft und was sie mit Moore s Gesetz zu tun hat Horst A. Mattfeldt Produkt Manager Matrix Vision GmbH V1.0 10/2010 MATRIX VISION GmbH 1 Inhalt/Content: Vom Vision Sensor über Atom Boxen

Mehr

Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching. Rainer Müller

Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching. Rainer Müller Slothful Linux: An Efficient Hybrid Real-Time System by Hardware-Based Task Dispatching Rainer Müller 21. November 2013 Spezialisierung von Betriebssystemen Vielzweckbetriebssysteme (General Purpose OS,

Mehr

Die fünf häufigsten Fehler Von Entwicklern bei der mobilen Programmierung

Die fünf häufigsten Fehler Von Entwicklern bei der mobilen Programmierung Die fünf häufigsten Fehler Von Entwicklern bei der mobilen Programmierung In 2015 werden mehr Tablet-Computer verkauft werden als Desktopund tragbare Computer zusammen Quelle: IDC, Mai 2013 Aufgrund der

Mehr

Projektmanagement. Vorlesung von Thomas Patzelt 10. Vorlesung

Projektmanagement. Vorlesung von Thomas Patzelt 10. Vorlesung Projektmanagement Vorlesung von Thomas Patzelt 10. Vorlesung 1 Test...(4) Oberflächentests testen die Benutzerschnittstelle des Systems, nicht nur auf Fehlerfreiheit sondern z.b. auch auf Konformität mit

Mehr

Optimierung des Energieverbrauchs eingebetteter Software

Optimierung des Energieverbrauchs eingebetteter Software Optimierung des Energieverbrauchs eingebetteter Software Welchen Einfluss hat eine Programmänderung auf den Energiebedarf einer Applikation? Welcher Programmteil verursacht den größten Energieverbrauch?

Mehr

Perzentile mit Hadoop ermitteln

Perzentile mit Hadoop ermitteln Perzentile mit Hadoop ermitteln Ausgangspunkt Ziel dieses Projektes war, einen Hadoop Job zu entwickeln, der mit Hilfe gegebener Parameter Simulationen durchführt und aus den Ergebnissen die Perzentile

Mehr

DRIVE LIKE A VIRTUAL DEVELOPER Die Poleposition für Ihre Softwareentwicklung

DRIVE LIKE A VIRTUAL DEVELOPER Die Poleposition für Ihre Softwareentwicklung DRIVE LIKE A VIRTUAL DEVELOPER Die Poleposition für Ihre Softwareentwicklung Was für ein Tempo! Das Rad dreht sich rasant schnell: Die heutigen Anforderungen an Softwareentwicklung sind hoch und werden

Mehr

Durchgängiger Software- und Systemtest einer hochdynamischen Antriebsregelung

Durchgängiger Software- und Systemtest einer hochdynamischen Antriebsregelung Durchgängiger Software- und Systemtest einer hochdynamischen Antriebsregelung mit Hilfe des Testwerkzeuges Time Partition Testing (TPT) Norbert Büttner PikeTec GmbH Übersicht Integration von TPT in den

Mehr

Uberlegungen Einsatzgebiete Virtualisierungslosungen Fazit Hardwarevirtualisierung. Virtualisierung. Christian Voshage. 11.

Uberlegungen Einsatzgebiete Virtualisierungslosungen Fazit Hardwarevirtualisierung. Virtualisierung. Christian Voshage. 11. slosungen 11. Mai 2009 Inhaltsverzeichnis Uberlegungen slosungen 1 Uberlegungen Grunduberlegungen Vorteile Hardware-Emulation Nachteile 2 Servervirtualisierung Clientvirtualisierung 3 slosungen 4 5 Uberlegungen

Mehr

Der Entwicklungsprozess. Oder wie entwickle ich ein eingebettetes System?

Der Entwicklungsprozess. Oder wie entwickle ich ein eingebettetes System? Der Entwicklungsprozess Oder wie entwickle ich ein eingebettetes System? Einleitung Problemstellung erläutern, Eine Entwicklungsprozess ist ein Prozess, der beschreibt, wie man eine Entwicklung anzugehen

Mehr

Make or Buy. Full Design vs. Module Based Solutions

Make or Buy. Full Design vs. Module Based Solutions Make or Buy Full Design vs. Module Based Solutions Das Unternehmen NetModule Gegründet: 1998 Mitarbeiter: 37 Umsatz: 8 mio ISO 9001/ISO13485 zertifiziert Angebot Expertise und Beratung Entwicklungsdienstleistung

Mehr

Symmetric Multiprocessing mit einer FPGA basierten. Marco Kirschke INF-M3 Seminar Wintersemester 2010/2011 25. November 2010

Symmetric Multiprocessing mit einer FPGA basierten. Marco Kirschke INF-M3 Seminar Wintersemester 2010/2011 25. November 2010 Symmetric Multiprocessing mit einer FPGA basierten MPSoC Plattform Marco Kirschke INF-M3 Seminar Wintersemester 2010/2011 25. November 2010 Inhalt Motivation Vorarbeiten Ziele für die Masterarbeit Vorgehensweise

Mehr

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008

Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Jörg Rödel Virtualization - Whats out there? Virtualisierung hat bereits längere Geschichte auf x86 Startete mit VMware Setzte

Mehr

Vector Software. Test Automation mit VectorCAST während der gesamten Softwareentwicklung W H I T E P A P E R

Vector Software. Test Automation mit VectorCAST während der gesamten Softwareentwicklung W H I T E P A P E R Vector Software W H I T E P A P E R Test Automation mit VectorCAST während der gesamten Softwareentwicklung VectorCAST Produktfamilie Die VectorCAST Produktfamilie automatisiert Testaktivitäten über den

Mehr

Codegenerierung für Mikrocontroller aus einem SimulinkModell (Schritt-für-Schritt-Anleitung)

Codegenerierung für Mikrocontroller aus einem SimulinkModell (Schritt-für-Schritt-Anleitung) Codegenerierung für Mikrocontroller aus einem SimulinkModell (Schritt-für-Schritt-Anleitung) Folgende Schritt-für-Schritt-Anleitung zeigt exemplarisch den Arbeitsablauf der CCodegenerierung für den Mikrocontroller

Mehr

Studienvertiefungsrichtung Informationstechnik

Studienvertiefungsrichtung Informationstechnik Studienvertiefungsrichtung Informationstechnik Prof.Dr.-Ing. Ulrich Sauvagerd Lehrgebiet Informationstechnik Nov. 2006, Seite 1 www.etech.haw-hamburg.de/~sauvagerd Lehrgebiet Informationstechnik Nov. 2006,

Mehr

Ein mobiler Electronic Program Guide für Android

Ein mobiler Electronic Program Guide für Android Whitepaper Telekommunikation Ein mobiler Electronic Program Guide für Android Prototyp für Android Apps 2011 SYRACOM AG 1 Einleitung Apps Anwendungen für mobile Geräte sind derzeit in aller Munde. Durch

Mehr

Projekt für Systemprogrammierung WS 06/07

Projekt für Systemprogrammierung WS 06/07 Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware

Mehr

Übungen zur Softwaretechnik

Übungen zur Softwaretechnik Technische Universität München Fakultät für Informatik Lehrstuhl IV: Software & Systems Engineering Markus Pister, Dr. Bernhard Rumpe WS 2002/2003 Lösungsblatt 1 17. Oktober 2002 www4.in.tum.de/~rumpe/se

Mehr

Remote Communications

Remote Communications HELP.BCFESDEI Release 4.6C SAP AG Copyright Copyright 2001 SAP AG. Alle Rechte vorbehalten. Weitergabe und Vervielfältigung dieser Publikation oder von Teilen daraus sind, zu welchem Zweck und in welcher

Mehr

Ihr Vorteil durch effizientes Testen

Ihr Vorteil durch effizientes Testen EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM XAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM EXAM M EXAM EXAM EXAM EXAM EXAM EXAM EXAM

Mehr

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen 1. Einführung 1.1 Embedded Systeme Embedded Systeme besitzen / benutzen einen Mikrocontroller Embedded Systeme erfüllen meist eine

Mehr

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung The ToolChain Grafisches Debugging mit der QtCreator Entwicklungsumgebung geschrieben von Gregor Rebel 2014-2015 Hintergrund Neben dem textuellen Debuggen in der Textkonsole bieten moderene Entwicklungsumgebungen

Mehr

VirtualBox und OSL Storage Cluster

VirtualBox und OSL Storage Cluster VirtualBox und OSL Storage Cluster A Cluster in a Box A Box in a Cluster Christian Schmidt Systemingenieur VirtualBox und OSL Storage Cluster VirtualBox x86 und AMD/Intel64 Virtualisierung Frei verfügbar

Mehr

Inhaltsverzeichnis. Inhaltsverzeichnis... I. 1 Problemstellung... 1. 2 V-Modell... 1. 2.1 Allgemeines... 1. 2.2 Anwendung des V-Modells...

Inhaltsverzeichnis. Inhaltsverzeichnis... I. 1 Problemstellung... 1. 2 V-Modell... 1. 2.1 Allgemeines... 1. 2.2 Anwendung des V-Modells... Inhaltsverzeichnis Inhaltsverzeichnis... I 1 Problemstellung... 1 2 V-Modell... 1 2.1 Allgemeines... 1 2.2 Anwendung des V-Modells... 3 3 SCRUM-Modell... 4 3.1 Allgemeines... 4 3.2 Anwendung des SCRUM-Modells...

Mehr

Ein Auszug aus... Studie. Content Management Systeme im Vergleich. Empfehlungen und Entscheidungshilfen für Unternehmensbereiche

Ein Auszug aus... Studie. Content Management Systeme im Vergleich. Empfehlungen und Entscheidungshilfen für Unternehmensbereiche Ein Auszug aus... Studie Content Management Systeme im Vergleich Empfehlungen und Entscheidungshilfen für Unternehmensbereiche Die komplette Studie ist bei amazon.de käuflich zu erwerben. Inhaltsverzeichnis

Mehr

Prototypvortrag. Exploiting Cloud and Infrastructure as a Service (IaaS) Solutions for Online Game Service Provisioning. Projektseminar WS 2009/10

Prototypvortrag. Exploiting Cloud and Infrastructure as a Service (IaaS) Solutions for Online Game Service Provisioning. Projektseminar WS 2009/10 Prototypvortrag Exploiting Cloud and Infrastructure as a Service (IaaS) Solutions for Online Game Service Provisioning Projektseminar WS 2009/10 Eugen Fot, Sebastian Kenter, Michael Surmann AG Parallele

Mehr

Projekt im Sommersemester 2008. Complex and Distributed IT-Systems TU Berlin

Projekt im Sommersemester 2008. Complex and Distributed IT-Systems TU Berlin Virtuelle Systeme Projekt im Sommersemester 2008 Complex and Distributed IT-Systems TU Berlin Beispiel: VMWare 24.10.2007 CIT, Einführung Projekt Virtualisierung 2 Virtualisierung 24.10.2007 CIT, Einführung

Mehr

Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden

Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden Messdaten auswerten und visualisieren 5 Tipps, die passende Darstellungstechnik für ein Messsystem zu finden 27.05.13 Autor / Redakteur: Nach Unterlagen von National Instruments / Hendrik Härter Messdaten

Mehr

Matrox Imaging Library MIL die weltweit hochprämierte und industrieerprobte Bildverarbeitungs-Bibliothek

Matrox Imaging Library MIL die weltweit hochprämierte und industrieerprobte Bildverarbeitungs-Bibliothek Matrox Imaging Library MIL die weltweit hochprämierte und industrieerprobte Bildverarbeitungs-Bibliothek Release MIL 9.2 Matrox Imaging Library weltweit ein voller Erfolg! RAUSCHER BILDVERARBEITUNG Telefon

Mehr

Hardware-Interfaces für FlexRay und CAN

Hardware-Interfaces für FlexRay und CAN Hardware-Interfaces für FlexRay und CAN FlexRay, das Bussystem für hohe Datenraten im Fahrzeug, stellt sehr hohe Anforderungen an die Hardwareschnittstellen. Nutzen Sie die Vector FlexRay Interfaces für

Mehr

Virtualisierung ein Überblick

Virtualisierung ein Überblick Virtualisierung ein Überblick Frank Hofmann Potsdam 18. April 2007 Frank Hofmann (Potsdam) Virtualisierung ein Überblick 18. April 2007 1 / 33 Gedanken zum Thema Fragen, die sich jeder stellt Virtualisierung

Mehr

Mikrokernbasierte Betriebssysteme in industriellen Anwendungen

Mikrokernbasierte Betriebssysteme in industriellen Anwendungen Mikrokernbasierte Betriebssysteme in industriellen Anwendungen Diplomverteidigung André Puschmann 1. Dezember 2009 Überblick 1 Einführung 2 Echtzeit- und Verlässlichkeitsanalyse 3 Entwurf/Implementierung

Mehr

Leistungs- und Geschwindigkeitssteigerung. Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur

Leistungs- und Geschwindigkeitssteigerung. Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur Leistungs- und Geschwindigkeitssteigerung von LabVIEW-Projekten Dipl.-Ing. Sebastian F. Kleinau Applikationsingenieur Agenda 1. Einführung 2. Hilfreiche Werkzeuge zur Codeanalyse 3. Benchmarks für LabVIEW-VIs

Mehr

Beobachtergestützte Regelung einer Gasheizung in der Minimal-Invasiven-Medizin (kurz MIM) Felix Menzel, 12.05.2015

Beobachtergestützte Regelung einer Gasheizung in der Minimal-Invasiven-Medizin (kurz MIM) Felix Menzel, 12.05.2015 W.O.M. WORLD OF MEDICINE GmbH Beobachtergestützte Regelung einer Gasheizung in der Minimal-Invasiven-Medizin (kurz MIM) Felix Menzel, 12.05.2015 Regelungssysteme bei WOM (1) Anwendung: Insufflatoren (Laporoskopie)

Mehr

Open Source Automation Development Lab (OSADL) eg

Open Source Automation Development Lab (OSADL) eg Open Source Automation Development Lab (OSADL) eg OSADL "Latest Stable" Echtzeit Linux freigegeben das nächste Release hängt aber von einer verstärkten Unterstützung durch industrielle Anwender ab www.osadl.org

Mehr

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003 Task! evt. parallel zu bearbeitende Ausführungseinheit! Beispiel: Task A Zündung Task B Einspritzung Task C Erfassung Pedalwert Zeit t J. Schäuffele, Th. Zurawka:, Vieweg, 2003 Echtzeitbetriebssysteme

Mehr

Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte

Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte Integration mobiler Endgeräte in Medizinprodukte und Medizintechnik-nahe Produkte Agenda Problemstellung Medizinprodukt App Grundlagen Szenarien (Problemstellungen und Lösungsansätze) 03.06.2013 2 Innovationen

Mehr

Vorstellung Diplomarbeit

Vorstellung Diplomarbeit Vorstellung Diplomarbeit Entwurf und Implementierung eines BUS-Moduls für das Automatisierungswerkzeug ECU-TEST engineering software test Gliederung Einleitung Überblick Testautomatisierung Kurzvorstellung

Mehr

Hybride Apps DPR und Android auf dem Xilinx ZYNQ. Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm

Hybride Apps DPR und Android auf dem Xilinx ZYNQ. Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm Hybride Apps DPR und Android auf dem Xilinx ZYNQ Endric Schubert, Missing Link Electronics Fabian Zentner, Univ. Ulm Konvergenz der Rechenplattformen Processing System Memory Interfaces 7 Series Programmable

Mehr

Cisco erweitert Gigabit-Ethernet-Portfolio

Cisco erweitert Gigabit-Ethernet-Portfolio Seite 1/6 Kleine und mittelständische Unternehmen Neue 1000BaseT-Produkte erleichtern die Migration zur Gigabit-Ethernet- Technologie WIEN. Cisco Systems stellt eine Lösung vor, die mittelständischen Unternehmen

Mehr

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM

SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM SEMINARVORTRAG ANDROID ENTWICKLUNG ETIENNE KÖRNER EMBEDDED SYSTEMS SS2013 - HSRM ÜBERSICHT Android Android Dalvik Virtuelle Maschine Android und Desktop Applikationen Android Entwicklung Tools R Activity

Mehr

Automotive Software Engineering

Automotive Software Engineering Jorg Schauffele Thomas Zurawka Automotive Software Engineering Grundlagen, Prozesse, Methoden und Werkzeuge Mit 278 Abbildungen ATZ-MTZ-Fachbuch vieweg Inhaltsverzeichnis 1 Einfiihrung und Uberblick 1

Mehr

Session 3: Projektvorstellung Transferprojekt itsowl-tt-hapromesy 18. August 2015, Gütersloh. www.its-owl.de

Session 3: Projektvorstellung Transferprojekt itsowl-tt-hapromesy 18. August 2015, Gütersloh. www.its-owl.de Session 3: Projektvorstellung Transferprojekt itsowl-tt-hapromesy 18. August 2015, Gütersloh www.its-owl.de Agenda Abschlusspräsentation itsowl-tt-hapromesy Einführung Zielsetzung Ergebnisse Resümee und

Mehr

HP Service Virtualization. Bernd Schindelasch 19. Juni 2013

HP Service Virtualization. Bernd Schindelasch 19. Juni 2013 HP Service Virtualization Bernd Schindelasch 19. Juni 2013 Agenda EWE TEL GmbH Motivation Proof of Concept Ausblick und Zusammenfassung HP Software Performance Tour 2013: HP Service Virtualization 2 EWE

Mehr

Plug. & Play. Zahlreiche Steuergeräte mit Hilfe automatisierter Sequenzen getestet

Plug. & Play. Zahlreiche Steuergeräte mit Hilfe automatisierter Sequenzen getestet SEITE 34 Delphi Diesel systems Plug & Play Zahlreiche Steuergeräte mit Hilfe automatisierter Sequenzen getestet seite 35 Delphi Diesel Systems entwickelte automatisierte Integrations- und Feature-Tests

Mehr

[DIA] Webinterface 2.4

[DIA] Webinterface 2.4 [DIA] Webinterface 2.4 2 Inhalt Inhalt... 2 1. Einleitung... 3 2. Konzept... 4 2.1 Vorteile und Anwendungen des... 4 2.2 Integration in bestehende Systeme und Strukturen... 4 2.3 Verfügbarkeit... 5 3.

Mehr

Ethernet als Bus für Echtzeitanwendungen im Automobil:

Ethernet als Bus für Echtzeitanwendungen im Automobil: Ethernet als Bus für Echtzeitanwendungen im Automobil: Konzepte aus der Automatisierungsbranche Hochschule für Angewandte Wissenschaften Hamburg Anwendungen 1 WS 08/09 16. Dezember 2008 Wie alles began

Mehr

Microsoft Dynamics NAV Technische Details

Microsoft Dynamics NAV Technische Details Microsoft Dynamics NAV Technische Details INHALT Microsoft Dynamics NAV Technische Details........................................ [3] Infrastruktur.............................................. [3] Systemanforderungen.....................................

Mehr

Virtuelle Maschinen. von Markus Köbele

Virtuelle Maschinen. von Markus Köbele Virtuelle Maschinen von Markus Köbele Was sind virtuelle Maschinen? Rechner, dessen Hardwarekomponenten vollständig durch Software emuliert und virtualisiert werden Anweisungen der virtuellen Maschine

Mehr

sontheim Wir leben Elektronik! We live electronics! Industrie Elektronik GmbH Computer-on-Modules Übersicht unserer Computer-on-Modules

sontheim Wir leben Elektronik! We live electronics! Industrie Elektronik GmbH Computer-on-Modules Übersicht unserer Computer-on-Modules Wir leben Elektronik! We live electronics! sontheim Industrie Elektronik GmbH Computer-on-Modules Übersicht unserer Computer-on-Modules 04 Computer-on-Modules Übersicht unserer Computer-on-Modules Computer-on-Modules

Mehr

Von Applikation zu Desktop Virtualisierung

Von Applikation zu Desktop Virtualisierung Von Applikation zu Desktop Virtualisierung Was kann XenDesktop mehr als XenApp??? Valentine Cambier Channel Development Manager Deutschland Süd Was ist eigentlich Desktop Virtualisierung? Die Desktop-Virtualisierung

Mehr

Netduino Mikroprozessor für.net Entwickler

Netduino Mikroprozessor für.net Entwickler Netduino Mikroprozessor für.net Entwickler Patrick Herting Softwareentwickler BlueTem Software GmbH Blog E-Mail www.wdev.de pher@live.de Ablaufplan - Theorieteil Was ist der Netduino? Welche Modelle gibt

Mehr

Soft-SPS - Was ist eine SPS?

Soft-SPS - Was ist eine SPS? Soft-SPS - Was ist eine SPS? SPS = Speicherprogrammierbare Steuerung PLC = Programmable Logic Control Ursprünglich elektronischer Ersatz von Relaissteuerungen (Schützsteuerung) 1 Soft-SPS - Relais-Steuerung

Mehr

Die Revolution der Automation Software

Die Revolution der Automation Software Anwendungsentwicklung Die Revolution der Automation Software Maschinen und Anlagen müssen immer flexibler und effizienter werden. Das Software- Engineering ist dabei ein immer wichtigerer Zeit- und Kostenfaktor.

Mehr

DC-FW400 SE. 3+1 Port IEEE 1394 FireWire TM PCI-Controller

DC-FW400 SE. 3+1 Port IEEE 1394 FireWire TM PCI-Controller DC-FW400 SE 3+1 Port IEEE 1394 FireWire TM PCI-Controller Wichtige Information zur Datensicherheit Vor der Installation und bei Änderungen der Konfiguration des DC-FW400 SE sollte unbedingt eine Datensicherung

Mehr

Effizient, sicher und flexibel: Desktop-Virtualisierung mit Citrix XenDesktop

Effizient, sicher und flexibel: Desktop-Virtualisierung mit Citrix XenDesktop Effizient, sicher und flexibel: Desktop-Virtualisierung mit XenDesktop Der richtige Desktop für jeden Anwender Wolfgang Traunfellner, Systems GmbH Unsere Vision Eine Welt, in der jeder von jedem Ort aus

Mehr

2 Echtzeitbetriebssysteme

2 Echtzeitbetriebssysteme 35 2 Echtzeitbetriebssysteme In den letzten Jahren hat sich die Automobilindustrie zu einem der wesentlichen Anwender von Echtzeitbetriebssystemen für eingebettete Systeme entwickelt. Relativ zeitig erkannten

Mehr

OSADL begrüßt seine neuen Mitglieder. Pressekonferenz am 22. April 2009. Hannover Messe, Robotation Academy

OSADL begrüßt seine neuen Mitglieder. Pressekonferenz am 22. April 2009. Hannover Messe, Robotation Academy OSADL begrüßt seine neuen Mitglieder Pressekonferenz am 22. April 2009 Hannover Messe, Robotation Academy OSADL begrüßt seine neuen Mitglieder Intel, SERCOS International und SYSGO Schopfloch, 22.04.2009.

Mehr

Testmanagement in IT-Projekten

Testmanagement in IT-Projekten Teil 1: Projektmagazin 05/20009 Teil 2: Projektmagazin 06/2009 1 Test: Prozess, bei dem ein Programm oder ein Software-System ausgeführt wird, um Fehler zu finden Teil 1: Projektmagazin 05/20009 Teil 2:

Mehr

DRESDEN. Ermitteln von Sprunghöhen mit einem Windows Phone. ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht.

DRESDEN. Ermitteln von Sprunghöhen mit einem Windows Phone. ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht. ZfP-Sonderpreis der DGZfP beim Regionalwettbewerb Jugend forscht DRESDEN Ermitteln von Sprunghöhen mit einem Windows Phone Felix Guttbier Schule: Gymnasium Brandis Jugend forscht 2014 ERMITTELN VON SPRUNGHÖHEN

Mehr

Session 8: Projektvorstellung Transferprojekt itsowl-tt-savez 18. August 2015, Gütersloh. www.its-owl.de

Session 8: Projektvorstellung Transferprojekt itsowl-tt-savez 18. August 2015, Gütersloh. www.its-owl.de Session 8: Projektvorstellung Transferprojekt itsowl-tt-savez 18. August 2015, Gütersloh www.its-owl.de Agenda Abschlusspräsentation itsowl-tt-savez Einführung Zielsetzung Ergebnisse Resümee und Ausblick

Mehr

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector

7.4 Analyse anhand der SQL-Trace. 7.3.5 Vorabanalyse mit dem Code Inspector 7.4 Analyse anhand der SQL-Trace 337 7.3.5 Vorabanalyse mit dem Code Inspector Der Code Inspector (SCI) wurde in den vorangegangenen Kapiteln immer wieder erwähnt. Er stellt ein paar nützliche Prüfungen

Mehr

DC-1394 PCIe. IEEE 1394 FireWire TM PCIe Card. Windows 2000 / 2003 / 2008 Windows XP / Vista / 7

DC-1394 PCIe. IEEE 1394 FireWire TM PCIe Card. Windows 2000 / 2003 / 2008 Windows XP / Vista / 7 DC-1394 PCIe IEEE 1394 FireWire TM PCIe Card Wichtige Information zur Datensicherheit Vor der Installation und bei Änderungen der Konfiguration des DC-1394 PCIe sollte unbedingt eine Datensicherung durchgeführt

Mehr

RTLOpen - Eine Methode zur interdisziplinären Entwicklung von software-intensiven Echtzeit-Systemen

RTLOpen - Eine Methode zur interdisziplinären Entwicklung von software-intensiven Echtzeit-Systemen RTLOpen - Eine Methode zur interdisziplinären Entwicklung von software-intensiven Echtzeit-Systemen Thorsten Keuler (thorsten.keuler@iese.fraunhofer.de) IESE Fraunhofer Institut Experimentelles Software

Mehr

Modellbasierte Testautomatisierung von Back-End-Systemen

Modellbasierte Testautomatisierung von Back-End-Systemen FINARIS Produktpräsentation Modellbasierte Testautomatisierung von Back-End-Systemen Hans-Peter Möller (DekaBank) Werner Märkl (FINARIS GmbH) 2 Agenda Seite Einleitung 3 Modellbasiertes Testen in der Datenverarbeitung

Mehr

EasyLab: Modell-basierte Software-Entwicklung für mechatronische Systeme

EasyLab: Modell-basierte Software-Entwicklung für mechatronische Systeme EasyLab: Modell-basierte Software-Entwicklung für mechatronische Systeme Prof. Dr.-Ing. habil. Alois Knoll (k@tum.de) Lehrstuhl für Echtzeitsysteme und Robotik Institut für Informatik Technische Universität

Mehr

KOMPETENZ IN SOFTWARE

KOMPETENZ IN SOFTWARE KOMPETENZ IN SOFTWARE Software- und App-Entwicklung Automotive-Software Elektromobilität Collaboration und Business Intelligence BATTERY STATUS BATTERY STATUS c4c engineering GmbH kompetenz in Software,

Mehr

EMC. Data Lake Foundation

EMC. Data Lake Foundation EMC Data Lake Foundation 180 Wachstum unstrukturierter Daten 75% 78% 80% 71 EB 106 EB 133 EB Weltweit gelieferte Gesamtkapazität Unstrukturierte Daten Quelle März 2014, IDC Structured vs. Unstructured

Mehr

POSIX Echtzeit: Kernel 2.6 und Preempt-RT

POSIX Echtzeit: Kernel 2.6 und Preempt-RT POSIX Echtzeit: Kernel 2.6 und Preempt-RT Slide 1 - http://www.pengutronix.de - 21.01.2007 Echtzeit-Systemplanung Wenn das zeitliche Verhalten spezifiziert ist, kann auch spezifiziert werden, welche Applikationsteile

Mehr

T-Systems. Managed business flexibility.

T-Systems. Managed business flexibility. T-Systems. Managed business flexibility. = Der Wettbewerb wird härter. Werden Sie flexibler! = Im globalen Business wird das Klima rauer. Wer vorn bleiben will, muss jederzeit den Kurs ändern können. Dies

Mehr

Einsatz der Mehrkörpersimulation in Verbindung mit Computertomographie in der Produktentwicklung

Einsatz der Mehrkörpersimulation in Verbindung mit Computertomographie in der Produktentwicklung Einsatz der Mehrkörpersimulation in Verbindung mit Computertomographie in der Produktentwicklung Hintergrund Bei komplexen Baugruppen ergeben sich sehr hohe Anforderungen an die Tolerierung der einzelnen

Mehr

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2

Excel beschleunigen mit dem mit Windows HPC Server 2008 R2 Excel beschleunigen mit dem mit Windows HPC Server 2008 R2 Steffen Krause Technical Evangelist Microsoft Deutschland GmbH http://blogs.technet.com/steffenk Haftungsausschluss Microsoft kann für die Richtigkeit

Mehr

Einblick in die VMware Infrastruktur

Einblick in die VMware Infrastruktur Einblick in die VMware Infrastruktur Rainer Sennwitz Lehrstuhl für Informatik IV Friedrich-Alexander-Universität Erlangen-Nürnberg 4. Juli 2007 Rainer

Mehr

Fragestellung: Wie viele CPU Kerne sollte eine VM unter Virtualbox zugewiesen bekommen?

Fragestellung: Wie viele CPU Kerne sollte eine VM unter Virtualbox zugewiesen bekommen? Fragestellung: Wie viele CPU Kerne sollte eine VM unter Virtualbox zugewiesen bekommen? Umgebung Getestet wurde auf einem Linux-System mit voller invis-server Installation, auf dem eine virtuelle Maschine

Mehr