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

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

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

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

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

Management & Softskills Management für Projekte & Prozesse Agile Entwicklung von Embedded-Systemen

Management & Softskills Management für Projekte & Prozesse Agile Entwicklung von Embedded-Systemen MicroConsult Training: Termine Preise bis Juni 2015 (S. 1) Management & Softskills Management für Projekte & Prozesse Agile Entwicklung von Embedded-Systemen Agiles Testen und Test Driven Development von

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

Erfolgreicher Einsatz von modellbasierter Softwareentwicklung - Praxisbericht

Erfolgreicher Einsatz von modellbasierter Softwareentwicklung - Praxisbericht Platz für ein Bild (optional) Erfolgreicher Einsatz von modellbasierter Softwareentwicklung - Praxisbericht 1.0 1.1 Elektronik? Was heisst modellbasierte Software-Entwicklung für uns? Was sind für eine

Mehr

Entwicklungsbegleitender Test mechatronischer Systeme

Entwicklungsbegleitender Test mechatronischer Systeme Entwicklungsbegleitender Test mechatronischer Systeme Dr. Olaf Maibaum Folie 1 Übersicht Test von Regelungssoftware Testansätze MiL SiL PiL HiL Vergleich der Testansätze Testautomatisierung Testfälle Simulation

Mehr

WCET-Analyseverfahren in der automobilen Softwareentwicklung

WCET-Analyseverfahren in der automobilen Softwareentwicklung WCET-Analyseverfahren in der automobilen Softwareentwicklung Martin Däumler 1 Robert Baumgartl 2 Matthias Werner 1 1 Technische Universität Chemnitz 2 HTW Dresden 28. November 2008 M. Däumler et al (TUC,

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

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7 Echtzeitprogrammierung und Echtzeitverhalten von Frank Erdrich Semester AI 7 Inhalt Einleitung Echtzeit und Echtzeitsysteme Echtzeitprogrammierung Real-Time Operating System Keil RTOS RTX Zusammenfassung

Mehr

Timing-fokussiertes Design eingebetteter Systeme Matthias Dörfel, doerfel@inchron.com Tapio Kramer, kramer@inchron.com

Timing-fokussiertes Design eingebetteter Systeme Matthias Dörfel, doerfel@inchron.com Tapio Kramer, kramer@inchron.com Timing-fokussiertes Design eingebetteter Systeme Matthias Dörfel, doerfel@inchron.com Tapio Kramer, kramer@inchron.com Durch Design-Fehler entstandene Timing-Probleme werden häufig erst sehr spät im Entwicklungsprozess

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

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

Integrierte, universelle Entwicklungsplattform für die fahrzeugbezogene Applikationsentwicklung mit Schnittstellen für FlexRay, CAN, LIN und K-Line

Integrierte, universelle Entwicklungsplattform für die fahrzeugbezogene Applikationsentwicklung mit Schnittstellen für FlexRay, CAN, LIN und K-Line Integrierte, universelle Entwicklungsplattform für die fahrzeugbezogene Applikationsentwicklung mit Schnittstellen für FlexRay, CAN, LIN und K-Line In zunehmendem Maße finden heute PC-basierte Entwicklungs-

Mehr

FRAUNHOFER-INSTITUT FÜR PRODUKTIONSTECHNOLOGIE IPT PROJEKTGRUPPE ENTWURFSTECHNIK MECHATRONIK

FRAUNHOFER-INSTITUT FÜR PRODUKTIONSTECHNOLOGIE IPT PROJEKTGRUPPE ENTWURFSTECHNIK MECHATRONIK FRAUNHOFER-INSTITUT FÜR PRODUKTIONSTECHNOLOGIE IPT PROJEKTGRUPPE ENTWURFSTECHNIK MECHATRONIK DIE METHODE FÜR DEN SOFTWAREENTWURF VERNETZTER MECHATRONISCHER SYSTEME Innovative Funktionen moderner mechatronischer

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

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Jens Kohlmeyer 05. März 2007 Institut für Programmiermethodik und Compilerbau ActiveCharts Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0 Seite 2 Übersicht

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

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

Rapid Prototyping mit CANape Version 1.0 2010-11-22

Rapid Prototyping mit CANape Version 1.0 2010-11-22 Version 1.0 2010-11-22 Inhaltsverzeichnis 1.0 Übersicht...3 2.0 Funktionsentwicklung mit MATLAB...4 3.0 Simulink als Ablaufumgebung CANape als komfortable Bedienoberfläche...4 4.0 CANape als Ablaufumgebung...5

Mehr

Operating System Kernels

Operating System Kernels Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking

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

6 Produktqualität Systeme: Integrationstest [sehr stark gekürzt]

6 Produktqualität Systeme: Integrationstest [sehr stark gekürzt] 1 Software-Qualitätssicherung 2 Integrationsstrategien big bang 6 Produktqualität Systeme: Integrationstest [sehr stark gekürzt] nicht-inkrementell geschäftsprozeßorientiert Prof. Dr. Helmut Balzert Lehrstuhl

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

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

Microsoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt. ECC 2013 Marcel Berger

Microsoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt. ECC 2013 Marcel Berger Microsoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt ECC 2013 Marcel Berger 1 Agenda Motivation Einführung Microsoft.NET Micro Framework Einführung Microsoft.NET Gadgeteer Vorteile Architektur

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

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

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

2008 Jiri Spale, Programmierung in eingebetteten Systemen 1

2008 Jiri Spale, Programmierung in eingebetteten Systemen 1 2008 Jiri Spale, Programmierung in eingebetteten Systemen 1 NetX - Einführung 2008 Jiri Spale, Programmierung in eingebetteten Systemen 2 NetX is... a highly integrated network controller with a new system

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

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

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

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

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

Game Engine Architecture and Development. Platform Unabhängiger Code Multi Threading in Game Engines Profiling

Game Engine Architecture and Development. Platform Unabhängiger Code Multi Threading in Game Engines Profiling Game Engine Architecture and Development Platform Unabhängiger Code Multi Threading in Game Engines Profiling Folien Die Folien werden auf acagamics.de hochgeladen Das Passwort ist 60fps (ohne ) Rückblick:

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

TELEMETRIE EINER ANWENDUNG

TELEMETRIE EINER ANWENDUNG TELEMETRIE EINER ANWENDUNG VISUAL STUDIO APPLICATION INSIGHTS BORIS WEHRLE TELEMETRIE 2 TELEMETRIE WELCHE ZIELE WERDEN VERFOLGT? Erkennen von Zusammenhängen Vorausschauendes Erkennen von Problemen um rechtzeitig

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

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

Finaler Testbericht. Finaler Testbericht. 1 Einführung 2. 1.1 Warum Softwaretests?... 2

Finaler Testbericht. Finaler Testbericht. 1 Einführung 2. 1.1 Warum Softwaretests?... 2 Inhaltsverzeichnis 1 Einführung 2 1.1 Warum Softwaretests?.................................... 2 2 Durchgeführte Tests 2 2.1 Test: allgemeine Funktionalität............................... 2 2.1.1 Beschreibung.....................................

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

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

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

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

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

OTRS-TFS-Konnektor. Whitepaper. Autor: advanto Software GmbH Mittelstraße 10 39114 Magdeburg

OTRS-TFS-Konnektor. Whitepaper. Autor: advanto Software GmbH Mittelstraße 10 39114 Magdeburg OTRS-TFS-Konnektor Whitepaper Autor: advanto Software GmbH Mittelstraße 10 39114 Magdeburg Tel: 0391 59801-0 Fax: 0391 59801-10 info@advanto-software.de Stand: Mai 2015 Inhaltsverzeichnis 1 Idee... 3 2

Mehr

Simulink - Modelle grafisch vergleichen

Simulink - Modelle grafisch vergleichen Simulink - Modelle grafisch vergleichen Effizienzsteigerung bei der modellbasierten Softwareentwicklung Dr. Helmuth Stahl ExpertControl GmbH Email: hstahl@expertcontrol.com Web: www.expertcontrol.com Übersicht

Mehr

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST

J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim Goltz. Workshop Echtzeit Fraunhofer FIRST Modellbasierte Generierung von statischen Schedules für sicherheitskritische, eingebettete Systeme mit Multicore Prozessoren und harten Echtzeitanforderungen J. Reinier van Kampenhout Robert Hilbrich Hans-Joachim

Mehr

HiL Simulation Rapid Control Prototyping

HiL Simulation Rapid Control Prototyping HiL Simulation Rapid Control Prototyping für Standard PC / Multicore Skalierbare Open Source basierte Software Echtzeit Rapid Control Prototyping und HiL-Simulationen auf Standard PC Hardware Die Linux-basierte

Mehr

Redaktioneller Beitrag in Zusammenarbeit mit Texas Instruments, Herrn Florian Gross 06.01.16

Redaktioneller Beitrag in Zusammenarbeit mit Texas Instruments, Herrn Florian Gross 06.01.16 Redaktioneller Beitrag in Zusammenarbeit mit Texas Instruments, Herrn Florian Gross 06.01.16 PHYTEC Messtechnik GmbH Robert-Koch-Straße 39 55129 Mainz Telefon: 06131 9221-32 Telefax: 06131 9221-33 Email:

Mehr

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung

Block R (Rahmen): SE Aktivitäten 21.10.04 2. Vorlesung Methoden des Software Engineering. Block R Rahmen Aktivitäten der Software-Entwicklung Block R (Rahmen): SE Aktivitäten 21.10.04 1 Vorlesung Methoden des Software Engineering Block R Rahmen Aktivitäten der Software-Entwicklung Martin Wirsing Einheit R.2, 21.10.2004 Block R (Rahmen): SE Aktivitäten

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

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12

Softwaretechnik. Vertretung von Prof. Dr. Blume Fomuso Ekellem WS 2011/12 Vertretung von Prof. Dr. Blume WS 2011/12 Inhalt Test, Abnahme und Einführung Wartung- und Pflegephase gp Vorlesung Zusammenfassung Produkte und Recht (Folien von Prof. Blume) 2 , Abnahme und Einführung

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

SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen

SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen WEITER BLICKEN. MEHR ERKENNEN. BESSER ENTSCHEIDEN. Optimierung von Abfragen in MS SQL Server DWH-Umgebungen SOLISYON GMBH CHRISTIAN WOLF, BENJAMIN WEISSMAN VERSION 1.0 OPTIMIERUNG VON ABFRAGEN IN MS SQL

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer Markus Urban.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform

Mehr

Bachelor-/Studienarbeit

Bachelor-/Studienarbeit Bachelor-/Studienarbeit, Zur Wartung und Unterstützung der Entwicklung existiert ein auf RCP/Eclipse basierendes Kontrollprogramm, welches die Kommunikation und Administration der Roboter über einen lokalen

Mehr

FRAUNHOFER-INSTITUT FÜR OFFENE KOMMUNIKATIONSSYSTEME FOKUS SYSTEM QUALITY CENTER

FRAUNHOFER-INSTITUT FÜR OFFENE KOMMUNIKATIONSSYSTEME FOKUS SYSTEM QUALITY CENTER FRAUNHOFER-INSTITUT FÜR OFFENE KOMMUNIKATIONSSYSTEME FOKUS SYSTEM QUALITY CENTER QUALITÄT VON ANFANG AN Strom und Wasser kommen nicht von alleine aus der Steckdose oder dem Wasserhahn. Und auch Verkehrsmittel,

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

Frage und Antworten zum Webcast: Virtual Server 2005 :

Frage und Antworten zum Webcast: Virtual Server 2005 : Frage und Antworten zum Webcast: Virtual Server 2005 : Frage: Läuft die Software nur unter Windows 2003 oder auch unter Windows 2000? Antwort: VS 2005 läuft nur unter Windows Server 2003 und Windows XP

Mehr

Integration Services - Dienstarchitektur

Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Integration Services - Dienstarchitektur Dieser Artikel solle dabei unterstützen, Integration Services in Microsoft SQL Server be sser zu verstehen und damit die

Mehr

Embedded Computing Conference 2014 Embedded UI Qt5

Embedded Computing Conference 2014 Embedded UI Qt5 Embedded Computing Conference 2014 Embedded UI Qt5 2 Embedded User Interfaces in the Smartphone Age The Power of Qt5 and the QNX OS Qt Vorstellung 3 Qt ( cute ) Hat eine lange Geschichte (Beginn der Entwicklung:

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

EINE MODULARE TESTPLATTFORM FÜR DAS PROTOTYPING VON DRAHTLOSEN SYSTEMEN

EINE MODULARE TESTPLATTFORM FÜR DAS PROTOTYPING VON DRAHTLOSEN SYSTEMEN EINE MODULARE TESTPLATTFORM FÜR DAS PROTOTYPING VON DRAHTLOSEN SYSTEMEN Einleitung Zunehmender Einsatz von Kurzstreckenfunk in Form drahtloser Datenkommunikation im Bereich IEEE Standard 802.15.4 - Zigbee

Mehr

Infrastruktur fit machen für Hochverfügbarkeit, Workload Management und Skalierbarkeit

Infrastruktur fit machen für Hochverfügbarkeit, Workload Management und Skalierbarkeit make connections share ideas be inspired Infrastruktur fit machen für Hochverfügbarkeit, Workload Management und Skalierbarkeit Artur Eigenseher, SAS Deutschland Herausforderungen SAS Umgebungen sind in

Mehr

Software-Entwicklung

Software-Entwicklung Software-Entwicklung SEP 96 Geschichte der Programmierung Aufgaben von, Anforderungen an Programme mit der Zeit verändert 1 Programmierung über Lochkarten z.b. für Rechenaufgaben 2 maschinennahe Programmierung

Mehr

Medizinprodukt 1.0. Lehren aus der Neuentwicklung von Medizinprodukte-Software. Matthias Hölzer-Klüpfel

Medizinprodukt 1.0. Lehren aus der Neuentwicklung von Medizinprodukte-Software. Matthias Hölzer-Klüpfel Medizinprodukt 1.0 Lehren aus der Neuentwicklung von Medizinprodukte-Software Matthias Hölzer-Klüpfel Medizinprodukt 4.2 Weiterentwicklung bestehender Produkte Funktionserweiterungen Fehlerkorrekturen

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

Der starke Partner für Ihre IT-Umgebung.

Der starke Partner für Ihre IT-Umgebung. Der starke Partner für Ihre IT-Umgebung. Leistungsfähig. Verlässlich. Mittelständisch. www.michael-wessel.de IT-Service für den Mittelstand Leidenschaft und Erfahrung für Ihren Erfolg. Von der Analyse

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

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

EoL-Testautomation 2.0. Technische Beschreibung. DI Hans-Peter Haberlandner. Blumatix GmbH

EoL-Testautomation 2.0. Technische Beschreibung. DI Hans-Peter Haberlandner. Blumatix GmbH EoL-Testautomation 2.0 Technische Beschreibung DI Hans-Peter Haberlandner Blumatix GmbH EoL-Testautomation 2.0 Technische Beschreibung Die Herausforderung Die Software spielt im Bereich der Testautomation

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

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

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

sascha.zinke@splone.com

sascha.zinke@splone.com Verteiltes Scannen in Industrie- Sascha Zinke sascha.zinke@.com Version 1.0 1 1 4 Zusammenfassung Industrielle Netzwerke stellen für die Sicherheit besondere Herausforderungen dar. War bis jetzt vor allem

Mehr

Saxonia Forum 2015: SMART BUSINESS APPLIKATIONEN: ZIELGRUPPENORIENTIERTE SOFTWARELÖSUNGEN

Saxonia Forum 2015: SMART BUSINESS APPLIKATIONEN: ZIELGRUPPENORIENTIERTE SOFTWARELÖSUNGEN Saxonia Forum 2015: SMART BUSINESS APPLIKATIONEN: ZIELGRUPPENORIENTIERTE SOFTWARELÖSUNGEN 19.Februar 2015 Hamburg 15:00 Uhr bis 18:00 Uhr IHK Hamburg Das Thema: WAS HABEN BACKENDS MIT USER EXPERIENCE ZU

Mehr

FILOU NC. Überblick. Copyright 2012 FILOU Software GmbH. Inhalt

FILOU NC. Überblick. Copyright 2012 FILOU Software GmbH. Inhalt FILOU NC Überblick Copyright 2012 FILOU Software GmbH Inhalt Die FILOUsophie... 2 Was will FILOU-NC können?... 2 Warum nur 2D?... 2 Zielgruppe... 2 Was muss der Anwender können?... 2 FILOU-NC, ein SixPack...

Mehr

User Level Device Driver am Beispiel von TCP

User Level Device Driver am Beispiel von TCP September 17, 2004 Einleitung Motivation für Userlevel Device Driver Probleme von Userlevel Device Driver Motivation für Userlevel Device Driver Modularität, leichterer Austausch/Erneuerung von Komponenten.

Mehr

4 Planung von Anwendungsund

4 Planung von Anwendungsund Einführung 4 Planung von Anwendungsund Datenbereitstellung Prüfungsanforderungen von Microsoft: Planning Application and Data Provisioning o Provision applications o Provision data Lernziele: Anwendungen

Mehr

Die Cloud, die für Ihr Unternehmen geschaffen wurde.

Die Cloud, die für Ihr Unternehmen geschaffen wurde. Die Cloud, die für Ihr Unternehmen geschaffen wurde. Das ist die Microsoft Cloud. Jedes Unternehmen ist einzigartig. Ganz gleich, ob im Gesundheitssektor oder im Einzelhandel, in der Fertigung oder im

Mehr

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger Software Engineering (Übungsblatt 1) Sommersemester 2012, Dr. Andreas Metzger Übungsblatt-Themen: Besonderheiten und Eigenschaften von Software; Interne und Externe Eigenschaften 1 Aufgabe 1.1 Software

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

Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen

Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen Center for Information Services and High Performance Computing (ZIH) Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen Hochgeschwindigkeitskommunikationen 13. Juli 2012 Andy

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

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

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

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

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

Erfolgreicher entwickeln durch systematisches Testen

Erfolgreicher entwickeln durch systematisches Testen Erfolgreicher entwickeln durch systematisches Testen Testen ist eine zentrale Maßnahme bei der Qualitätssicherung von Automobilelektronik. Nur durch systematisches und automatisiertes Testen kann eine

Mehr

Sizing von WebForms-Umgebungen

Sizing von WebForms-Umgebungen Sizing von WebForms-Umgebungen Torsten Schlautmann OPITZ CONSULTING Gummersbach GmbH Seite 1 Agenda Probemdarstellung Grundlegendes Sizing Lasttests zur Validierung Fazit Seite 2 Agenda Probemdarstellung

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

im Griff Nachrichten RTI CAN MultiMessage Blockset testet große CAN-Setups Seite 58

im Griff Nachrichten RTI CAN MultiMessage Blockset testet große CAN-Setups Seite 58 Seite 58 RTI CAN MultiMessage Blockset Nachrichten im Griff RTI CAN MultiMessage Blockset testet große CAN-Setups Seite 59 In der letzten Ausgabe des dspace Magazins wurden toolübergreifende Arbeitsabläufe

Mehr

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP) Oliver Steinhauer.mobile PROFI Mobile Business Agenda MOBILE ENTERPRISE APPLICATION PLATFORM AGENDA 01 Mobile Enterprise Application Platform 02 PROFI News

Mehr

Trusted Network Connect

Trusted Network Connect Trusted Network Connect Workshoptag 22.11.2007 Steffen Bartsch Stephan Gitz Roadmap Ziele der Informationssicherheit Herausforderungen der Informationssicherheit

Mehr