SlideShare ist ein Scribd-Unternehmen logo

Java für eingebettete Systeme

R
R

Java für eingebettete Systeme

1 von 20
Eine Architektur zur dynamischen Rekonfiguration
   eingebetteter signalverarbeitender Systeme


                Dipl.-Inf. Reinhard Meyer



                        22.07.10
Motivation
●    Eingebettete Systeme:
      ●    Anwendung im sicherheitsrelevanten
           Umfeld Automotive, Luft- und Raumfahrt,
           Medizin, ...
      ●    Fortschreitende Miniaturisierung
      ●    Zunahme der Leistungsfähigkeit der
           Hardware
      ●    Implementierung von Funktionalität mit
           steigender Komplexität in Software
      ●    Verwendung von Hochsprachen zur
           Implementierung
                                                     Historie softwarebasierter
      ●    Anpassung des                             Funktionen im Automobil
           Softwareentwicklungsprozesses             [IMMOS04]



22.07.10                                                                          2
Übersicht
 ●   Softwareentwicklung für eingebettete Systeme
       ●   Anforderungen an Entwicklung und Betrieb
       ●   Maßnahmen zur Verbesserung der Softwarequalität
       ●   Warum Java und FPGA ?
       ●   Android-Plattform
       ●   OSGI – Dynamische Rekonfiguration von Software
 ●   Modellierung von verteilten Systemen für die Signalverarbeitung
       ●   Eigenschaften von Werkzeugen der Signalverarbeitung
       ●   Modellierung von Algorithmen
 ●   Konzeptvorschlag
 ●   Zusammenfassung


22.07.10                                                                 3
Softwareentwicklung für
                                                eingebettete Systeme
●
     Anforderungen:
      ●    Entwicklung:
            –   Verteiltheit und Nebenläufigkeit: Aufgaben werden auf verschiedenen
                Plattformen parallel ausgeführt:
                  ●   x86, PPC, DSP, ASIC, FPGA
                  ●   Neuer Trend: Multicore
            –   Echtzeitfähigkeit und Vorhersagbarkeit: Einhaltung von Zeitschranken,
                deterministisches Verhalten
            –   Weitere Eigenschaften: Performance, Datensicherheit, Fehlertoleranz
            –   Variantenmanagement
      ●    Betrieb (Wartung):
            –   Änderung der Funktionalität
            –   Fehlerbeseitigung

22.07.10                                                                                4
Softwareentwicklung für
                                              eingebettete Systeme
 ●    Konzepte zur Erhöhung der                    Modelling Space

      Softwarequalität                                Platform-independent        Platform-specific
                                                            Model (PIM)             Constraints
       ●   Modellgetriebene Entwicklung
            –   Modellbildung und Simulation                    Automated Transformation

            –   Automatisierte Transformation
            –   Plattform-Codegenerierung          Platform 1                   Platform N

       ●   Verwendung einer interpretierten          Platform-specific            Platform-specific
           Sprache                                    Model (PSM)                  Model (PSM)

            –   Plattformunabhängig
                                                          Code            ...          Code
            –   Verlagerung der sicherheits-            Generation                   Generation

                relevanten Konzepte vom
                Programmcode auf den Interpreter    Platform-specific            Platform-specific
                                                          Code                         Code



                                                            Modellgetriebene Entwicklung
22.07.10                                                                                              5
Softwareentwicklung für
                                            eingebettete Systeme
 ●   Charakterisierung
      ●    Modellbasierte Entwicklung
              + Höhere Codequalität durch automatische Codegenerierung
              + Änderbarkeit der Funktionalität im Modell (virtuell)
              + Einheitliches Datenmodell, vereinfachtes Variantenmanagement
              – Erhöhter Verwaltungsaufwand bei heterogenen, komplexen Strukturen
              – Informelle Auf- und Nachbereitung der Daten
      ●    Interpretierte Sprache
              + Zuverlässigkeit: Automatische Speicherverwaltung
              + Sicherheit: Mechanismen vor der Programmausführung
              – Deterministisches Verhalten und Zugriff auf Systemressourcen




22.07.10                                                                            6
Anzeige

Recomendados

Requirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertRequirements Engineering in agilen Projekten - Flexibilität ist gefordert
Requirements Engineering in agilen Projekten - Flexibilität ist gefordertGFU Cyrus AG
 
Movicon (TM) PowerHMI brochure - Deutsch
Movicon (TM) PowerHMI brochure - DeutschMovicon (TM) PowerHMI brochure - Deutsch
Movicon (TM) PowerHMI brochure - DeutschPROGEA s.r.l.
 
Softwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsSoftwarequalitätssicherung mit Continuous Integration Tools
Softwarequalitätssicherung mit Continuous Integration ToolsGFU Cyrus AG
 
Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.Cross-Apps-Entwicklung für iPhone, Android und Co.
Cross-Apps-Entwicklung für iPhone, Android und Co.GFU Cyrus AG
 
Software Produktlinien: Einführung und Überblick (Vortrag)
Software Produktlinien: Einführung und Überblick (Vortrag)Software Produktlinien: Einführung und Überblick (Vortrag)
Software Produktlinien: Einführung und Überblick (Vortrag)Johannes Diemke
 
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...
Java Code Quality: Gute Software braucht guten Code - Regeln für verständlich...GFU Cyrus AG
 
IMovicon (TM) 11 Scada/HMI - Product catalogue - Deutsch
IMovicon (TM) 11 Scada/HMI - Product catalogue - DeutschIMovicon (TM) 11 Scada/HMI - Product catalogue - Deutsch
IMovicon (TM) 11 Scada/HMI - Product catalogue - DeutschPROGEA s.r.l.
 

Más contenido relacionado

Destacado

Bonos prelaunch - pdf
Bonos prelaunch - pdfBonos prelaunch - pdf
Bonos prelaunch - pdfunetenet
 
Urban Art Workshop bs soultiger
Urban Art Workshop bs soultigerUrban Art Workshop bs soultiger
Urban Art Workshop bs soultigerjapesch
 
Jederzeit wieder
Jederzeit wiederJederzeit wieder
Jederzeit wiederbjwowl
 
Transverales ciudadania
Transverales  ciudadaniaTransverales  ciudadania
Transverales ciudadaniamilena1016
 
Google Text Und Tabellen
Google Text Und TabellenGoogle Text Und Tabellen
Google Text Und Tabellenharaldhaider
 
Transversales pescc
Transversales  pesccTransversales  pescc
Transversales pesccmilena1016
 
Trabajo practico 5
Trabajo practico 5Trabajo practico 5
Trabajo practico 5Nico Calleri
 
Social media day La Cosa Cine
Social media day  La Cosa CineSocial media day  La Cosa Cine
Social media day La Cosa CineKarina Zilli
 
Minipraease barcamp.co Startup Weekend
Minipraease barcamp.co Startup WeekendMinipraease barcamp.co Startup Weekend
Minipraease barcamp.co Startup WeekendSteffen Peschel
 
Presentación institucional depext
Presentación institucional   depextPresentación institucional   depext
Presentación institucional depextDEPEXT
 
El sistema solar [recuperado]
El sistema solar [recuperado]El sistema solar [recuperado]
El sistema solar [recuperado]rafael_zurdoo
 
SESEC - Vakuum und Reinigung
SESEC - Vakuum und ReinigungSESEC - Vakuum und Reinigung
SESEC - Vakuum und ReinigungDITF Denkendorf
 

Destacado (20)

Bonos prelaunch - pdf
Bonos prelaunch - pdfBonos prelaunch - pdf
Bonos prelaunch - pdf
 
Urban Art Workshop bs soultiger
Urban Art Workshop bs soultigerUrban Art Workshop bs soultiger
Urban Art Workshop bs soultiger
 
Jederzeit wieder
Jederzeit wiederJederzeit wieder
Jederzeit wieder
 
Transverales ciudadania
Transverales  ciudadaniaTransverales  ciudadania
Transverales ciudadania
 
Exoneraciones
ExoneracionesExoneraciones
Exoneraciones
 
Google Text Und Tabellen
Google Text Und TabellenGoogle Text Und Tabellen
Google Text Und Tabellen
 
Brussels
BrusselsBrussels
Brussels
 
Power Point Egipte
Power Point EgiptePower Point Egipte
Power Point Egipte
 
Transversales pescc
Transversales  pesccTransversales  pescc
Transversales pescc
 
Trabajo practico 5
Trabajo practico 5Trabajo practico 5
Trabajo practico 5
 
Social media day La Cosa Cine
Social media day  La Cosa CineSocial media day  La Cosa Cine
Social media day La Cosa Cine
 
Minipraease barcamp.co Startup Weekend
Minipraease barcamp.co Startup WeekendMinipraease barcamp.co Startup Weekend
Minipraease barcamp.co Startup Weekend
 
Presentación institucional depext
Presentación institucional   depextPresentación institucional   depext
Presentación institucional depext
 
Educacion virtual
Educacion virtualEducacion virtual
Educacion virtual
 
Energia renovable
Energia  renovableEnergia  renovable
Energia renovable
 
SWG
SWGSWG
SWG
 
El sistema solar [recuperado]
El sistema solar [recuperado]El sistema solar [recuperado]
El sistema solar [recuperado]
 
SESEC - Vakuum und Reinigung
SESEC - Vakuum und ReinigungSESEC - Vakuum und Reinigung
SESEC - Vakuum und Reinigung
 
Tarea 2
Tarea 2Tarea 2
Tarea 2
 
Modelos administrativos
Modelos administrativosModelos administrativos
Modelos administrativos
 

Ähnlich wie Java für eingebettete Systeme

Testautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeTestautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeNico Orschel
 
2010, susan schwarze
2010, susan schwarze2010, susan schwarze
2010, susan schwarzeOSGi Alliance
 
Portale 2.0 mit Liferay
Portale 2.0 mit LiferayPortale 2.0 mit Liferay
Portale 2.0 mit Liferayinovex GmbH
 
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudAarno Aukia
 
DACHNUG50 Volt MX & AppScan_20230615.pdf
DACHNUG50 Volt MX & AppScan_20230615.pdfDACHNUG50 Volt MX & AppScan_20230615.pdf
DACHNUG50 Volt MX & AppScan_20230615.pdfDNUG e.V.
 
Low-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, Chancen
Low-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, ChancenLow-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, Chancen
Low-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, ChancenIntelliact AG
 
Implementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBRImplementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBRAlexander Hundt
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringQAware GmbH
 
".NET und jetzt!" C# in 21 Tagen oder doch besser Best Practices
".NET und jetzt!" C# in 21 Tagen oder doch besser Best Practices".NET und jetzt!" C# in 21 Tagen oder doch besser Best Practices
".NET und jetzt!" C# in 21 Tagen oder doch besser Best PracticesGFU Cyrus AG
 
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Gregor Biswanger
 
Compliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtCompliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtBATbern
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web ToolkitTorben Brodt
 
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzNode.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzKai Donato
 

Ähnlich wie Java für eingebettete Systeme (20)

Testautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeTestautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für Fortgeschrittende
 
2010, susan schwarze
2010, susan schwarze2010, susan schwarze
2010, susan schwarze
 
Portale 2.0 mit Liferay
Portale 2.0 mit LiferayPortale 2.0 mit Liferay
Portale 2.0 mit Liferay
 
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die CloudApplikationsmodernisierung: Der Weg von Legacy in die Cloud
Applikationsmodernisierung: Der Weg von Legacy in die Cloud
 
imatics FormEngine
imatics FormEngineimatics FormEngine
imatics FormEngine
 
DACHNUG50 Volt MX & AppScan_20230615.pdf
DACHNUG50 Volt MX & AppScan_20230615.pdfDACHNUG50 Volt MX & AppScan_20230615.pdf
DACHNUG50 Volt MX & AppScan_20230615.pdf
 
Low-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, Chancen
Low-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, ChancenLow-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, Chancen
Low-Code- und No-Code-Apps im PLM: Einordnung, Nutzen, Risiken, Chancen
 
Implementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBRImplementierung der Knowledge Engineering Workbench in myCBR
Implementierung der Knowledge Engineering Workbench in myCBR
 
Make Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform EngineeringMake Developers Fly: Principles for Platform Engineering
Make Developers Fly: Principles for Platform Engineering
 
Whitecoast lcty12 x_pages
Whitecoast lcty12 x_pagesWhitecoast lcty12 x_pages
Whitecoast lcty12 x_pages
 
.NET und jetzt!
.NET und jetzt!.NET und jetzt!
.NET und jetzt!
 
GWT
GWTGWT
GWT
 
".NET und jetzt!" C# in 21 Tagen oder doch besser Best Practices
".NET und jetzt!" C# in 21 Tagen oder doch besser Best Practices".NET und jetzt!" C# in 21 Tagen oder doch besser Best Practices
".NET und jetzt!" C# in 21 Tagen oder doch besser Best Practices
 
.NET Gadgeteer
.NET Gadgeteer.NET Gadgeteer
.NET Gadgeteer
 
Global de
Global deGlobal de
Global de
 
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
Roadshow: Einstieg in die Hybrid-App Entwicklung mit dem Intel XDK und Apache...
 
Compliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-AchtCompliance und Governance in der DevOps-Acht
Compliance und Governance in der DevOps-Acht
 
Google Web Toolkit
Google Web ToolkitGoogle Web Toolkit
Google Web Toolkit
 
What is new in Citrix xen App 2
What is new in Citrix xen App 2What is new in Citrix xen App 2
What is new in Citrix xen App 2
 
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven EinsatzNode.js - Von der Entwicklugn bis zum produktiven Einsatz
Node.js - Von der Entwicklugn bis zum produktiven Einsatz
 

Java für eingebettete Systeme

  • 1. Eine Architektur zur dynamischen Rekonfiguration eingebetteter signalverarbeitender Systeme Dipl.-Inf. Reinhard Meyer 22.07.10
  • 2. Motivation ● Eingebettete Systeme: ● Anwendung im sicherheitsrelevanten Umfeld Automotive, Luft- und Raumfahrt, Medizin, ... ● Fortschreitende Miniaturisierung ● Zunahme der Leistungsfähigkeit der Hardware ● Implementierung von Funktionalität mit steigender Komplexität in Software ● Verwendung von Hochsprachen zur Implementierung Historie softwarebasierter ● Anpassung des Funktionen im Automobil Softwareentwicklungsprozesses [IMMOS04] 22.07.10 2
  • 3. Übersicht ● Softwareentwicklung für eingebettete Systeme ● Anforderungen an Entwicklung und Betrieb ● Maßnahmen zur Verbesserung der Softwarequalität ● Warum Java und FPGA ? ● Android-Plattform ● OSGI – Dynamische Rekonfiguration von Software ● Modellierung von verteilten Systemen für die Signalverarbeitung ● Eigenschaften von Werkzeugen der Signalverarbeitung ● Modellierung von Algorithmen ● Konzeptvorschlag ● Zusammenfassung 22.07.10 3
  • 4. Softwareentwicklung für eingebettete Systeme ● Anforderungen: ● Entwicklung: – Verteiltheit und Nebenläufigkeit: Aufgaben werden auf verschiedenen Plattformen parallel ausgeführt: ● x86, PPC, DSP, ASIC, FPGA ● Neuer Trend: Multicore – Echtzeitfähigkeit und Vorhersagbarkeit: Einhaltung von Zeitschranken, deterministisches Verhalten – Weitere Eigenschaften: Performance, Datensicherheit, Fehlertoleranz – Variantenmanagement ● Betrieb (Wartung): – Änderung der Funktionalität – Fehlerbeseitigung 22.07.10 4
  • 5. Softwareentwicklung für eingebettete Systeme ● Konzepte zur Erhöhung der Modelling Space Softwarequalität Platform-independent Platform-specific Model (PIM) Constraints ● Modellgetriebene Entwicklung – Modellbildung und Simulation Automated Transformation – Automatisierte Transformation – Plattform-Codegenerierung Platform 1 Platform N ● Verwendung einer interpretierten Platform-specific Platform-specific Sprache Model (PSM) Model (PSM) – Plattformunabhängig Code ... Code – Verlagerung der sicherheits- Generation Generation relevanten Konzepte vom Programmcode auf den Interpreter Platform-specific Platform-specific Code Code Modellgetriebene Entwicklung 22.07.10 5
  • 6. Softwareentwicklung für eingebettete Systeme ● Charakterisierung ● Modellbasierte Entwicklung + Höhere Codequalität durch automatische Codegenerierung + Änderbarkeit der Funktionalität im Modell (virtuell) + Einheitliches Datenmodell, vereinfachtes Variantenmanagement – Erhöhter Verwaltungsaufwand bei heterogenen, komplexen Strukturen – Informelle Auf- und Nachbereitung der Daten ● Interpretierte Sprache + Zuverlässigkeit: Automatische Speicherverwaltung + Sicherheit: Mechanismen vor der Programmausführung – Deterministisches Verhalten und Zugriff auf Systemressourcen 22.07.10 6
  • 7. Softwareentwicklung für eingebettete Systeme ● Java als Sprache der Wahl: ● Entstehung: Green Hill Projekt, Sun Microsystems, 1992: Touchscreen-basiertes Steuergerät (StarSeven) ● Konzentration auf den Desktop- und Servermarkt, aktuelle Version ist Java 6 ● Laufzeitumgebung: Virtuelle Maschine (VM) + Laufzeitbibliothek mit API, Programmcode wird im Allgemeinen interpretiert ● Plattformunabhängigkeit: Bytecode ist universell, für eine Architektur gibt es die jeweils passende VM, inzwischen Vielzahl an verschiedenen VM Sun Trademark Logo für Java verfügbar 22.07.10 7
  • 8. Softwareentwicklung für eingebettete Systeme ● Warum Java ? ● Vorurteil: „Java ist langsam, speicherintensiv und nicht echtzeitfähig“ – Kompilation von Code statt Interpretation: Hotspot-Compiler, AOT-Compiler mit Early- Binding ermöglichen beschleunigtes Abarbeiten von Programmen – Garbage Collection: Speicherbereinigung als niedrig priorisierter Thread – Verwendung einer reduzierten Laufzeitbibliothek – 2000: Realtime Specification for Java SciMark 2.0 Java (RTSJ) Benchmark Suite 22.07.10 8
  • 9. Softwareentwicklung für eingebettete Systeme ● Android Plattform ● Softwarestack der Open Handset Alliance für mobile Geräte ● Betriebssystem, Middleware und elementare Anwendungen zusammengefasst in einem Framework ● Dalvik VM mit eigenem Bytecode (dex) zur Ausführung von Anwendungen, java-basiert ● Linux-Kernel und native Codebibliotheken für zeitkritische Anwendungen Android Platform, Quelle: http://developer.android.com 22.07.10 9
  • 10. Softwareentwicklung für eingebettete Systeme ● OSGI ● Standard zur dynamischen Rekonfiguration von Software ● Modularisierung von Anwendungen und Dienste (Bundles) in einem Komponentenmodell ● Austausch von Code zur Laufzeit ● Hardware- und Sprachunabhängig ● Implementiert für Java, .Net geplant ● Anwendungen im Automotive-Bereich (BMW), Desktop-Bereich (Eclipse), Heimautomatisierung OSGI Architecture Quelle: http://en.wikipedia.org/wiki/OSGi 22.07.10 10
  • 11. Softwareentwicklung für eingebetteter Systeme ● Warum Java i.V. mit FPGA ? ● Vorteile von Java bei der Softwareentwicklung ● Einheitliches HW/SW-Designmodell ● FPGA: Erhöhung der Rechenleistung durch Ausnutzen der Parallelisierung – Bsp.: Damenproblem (diskrete Optimierung) ● NQueens@home: 25-Damen- Problem – 260 PC in 9 Monaten ● FPGA-Lösung: 26-Damen- Problem – 18 FPGA in 6 Monaten [Preußer09] 22.07.10 11
  • 12. Softwareentwicklung für eingebettete Systeme ● Warum Java i.V. mit FPGA ● JBits SDK – Bitstream-API für Xilinx FPGA – Erzeugung und dynamische Rekonfiguration von Schaltkreisen über das XHWIF ● JHDL – Hardware-Beschreibungssprache – Ziel: Konsistenz von Objektdatenflüssen SW/HW Quelle: JBits 22.07.10 12
  • 13. Werkzeuge der Signalverarbeitung ● Werkzeugeigenschaften ● Homogenität: – Überschaubare Anzahl an verschiedenen Werkzeugarten (Algorithmen) – Hoher Grad an mathematischer Strukturierung ● Optimierung: – Manuelles Tuning (plattformabhängig) – Auto-Tuning: Computer optimiert Algorithmen ● Verteiltheit: The Mathworks – Algorithmen für PC, DSP, ASIC und FPGA Matlab / Simulink 22.07.10 13
  • 14. Werkzeuge der Signalverarbeitung ● ImageJ ● Java, Open-Source, lebendige User-Community ● Flexible, erweiterbare Architektur: – Erstellung benutzerdefinierter Macros und Plug-Ins – JavaScript-Prozessor – Multi-threading-fähig – Server-Remote-Modus ● Verarbeitung von Gleitkomma- Bildformaten (Astronomie, Medizin) ImageJ Toolsuite ● Umfangreiche Bildmanipulationsmöglichkeiten 22.07.10 14
  • 15. Modellierung von Algorithmen in der Signalverarbeitung ● SPIRAL ● Automatische Codegenerierung für schnelle Algorithmen in der Signalverarbeitung ● Heuristische Suchverfahren für den optimalen Algorithmus hinsichtlich der Laufzeit auf einer PC-Architektur ● Beschreibung der Algorithmen (math. Matrix-Faktorisierung) mittels einer Signal Processing Language (SPL) ● Implementation der Algorithmen in C/FORTRAN Architektur von SPIRAL [Püsch05] 22.07.10 15
  • 16. Modellierung von Algorithmen in der Signalverarbeitung ● freeSP ● Ganzheitlicher Ansatz zur Modellierung von verteilten Systemen ● Deskriptive, plattformunabhängige Beschreibung des Systems (XML) ● Zerlegung des Gesamtsystems und Zuordnung zu einzelnen Prozessen ● Implementierung der Algorithmen aus vorgehaltenen Bibliotheken ● Modellierung und Simulation von Nebenläufigkeit mittels Petri- Netzen FreeSP – Grobstruktur [Weiss07] 22.07.10 16
  • 17. Projektvorschlag ● Konzept ● Verteiltes Rechnen auf eingebetteten signalverarbeitenden Systemen ● Workflow 1. Modellierung eines signalverarbeitenden Systems 2. Simulation des Modells 3. Partitionierung in Hard- und Software 4. Transformation auf die Zielplattform ● Modelltransformationen – Erzeugen von Java-Programmcode zur Ausführung auf dem PPC – Übersetzung von parallelisierbaren Teilen der Rechenaufgabe in programmierbare Logik auf einem FPGA 22.07.10 17
  • 18. Projektvorschlag ● Plattform: ● Modellierung: Standard-PC, IDE (Eclipse) ● Ausführung: Virtex-II-FPGA mit Dual- Core-PPC – (Echtzeit-)Betriebssystem – Java VM – eingebettete Laufzeitumgebung – RTR Soft- und Hardware – Onboard-System zur Bildverarbeitung Architektur für FPGA (Ausführung, linke Seite) und PC (Modellierung, rechte Seite) 22.07.10 18
  • 19. Zusammenfassung ● Signalverarbeitende Systeme ● Neue Herausforderung an die Softwareentwicklung in Bezug auf – Verteiltheit und Nebenläufigkeit – Verlässlichkeit (Verfügbarkeit, Sicherheit, Wartbarkeit) – Echtzeitfähigkeit und deterministisches Verhalten – Variantenmanagement ● Modellbasierte Entwicklung und interpretierte Sprachen als Designansatz ● Implementierung dieses Ansatzes anhand einer Bildverarbeitungslösung ● Quantifizierung des Gesamtsystems hinsichtlich Wartbarkeit und Performance 22.07.10 19
  • 20. Quellen ● [IMMOS04] T. Klein, M. Conrad, I. Fey, M. Grochtmann: Modellbasierte Entwicklung eingebetteter Fahrzeugsoftware bei DaimlerChrysler, Proc. Modelling LNI, 2004. ● [JBits] S. Guccione et. Al.: Jbits – A Java Interface for Reconfigurable Computing, Xilinx Inc. ● [Püsch05] M. Püschel et. Al.: SPIRAL: „Code Generation for DSP Transforms“, Proc. IEEE special issue on „Program Generation, Optimization, and Adaptation'', 2005. ● [Preußer09] T. Preußer et. Al.: Putting Queens in Carry-Chains, In: 3rd HiPEAC Workshop on Reconfigurable Computing, Paphos, Cyprus, 2009. ● [Weiss05] A. Weiss: „Deklarative Beschreibung verteilter signalverarbeitender Systeme“, Linux Automation Konferenz, 2005. 22.07.10 20