Python, Plone und Zope in der Luft- und Raumfahrtforschung

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    Favorites, Groups & Events

    Python, Plone und Zope in der Luft- und Raumfahrtforschung - Presentation Transcript

    1. Python, Plone und Zope in der Luft- und Raumfahrtforschung 8. DZUG-Tagung (04.-05.06.2007, PIK, Potsdam) Andreas Schreiber < [email_address] > Deutsches Zentrum für Luft- und Raumfahrt e.V., Köln-Porz http://www.dlr.de/sc/verteiltesysteme
      • Das DLR
      • Deutsches Zentrum für Luft- und Raumfahrt Raumfahrt-Agentur der Bundesrepublik Deutschland
    2. Zahlen zum DLR
      • DLR ist die größte deutsche Forschungseinrichtung
      • 5.300 Mitarbeiter arbeiten in 28 Forschungsinstituten und Einrichtungen
        •  9 Standorten,
        • 7 Außenstellen.
      • Kernkompetenzen des DLR liegt im Bereich Ingenieurwissenschaften
      • Mehr als 1000 DLR-Mitarbeiter entwickeln Software
      •  DLR ist eines der größten Softwarehäuser Deutschlands!
       Köln - Porz  Lampoldshausen  Stuttgart  Oberpfaffenhofen Braunschweig   Göttingen Berlin- -  Adlershof  Bonn Trauen   Hamburg  Neustrelitz Weilheim  Berlin- Charlottenburg   Sankt Augustin  Darmstadt Bremen 
    3. Software-Entwicklungen in Luft- und Raumfahrt Klassifizierung
      • Software für missionskritische Systeme
        • Embedded Software und Real-Time-Software in Satelliten, Flugzeugen, Space Station, …
      • Software mit großen Userzahlen
        • Internet/Intranet/Email, Webshop für Satellitendaten
      • Software mit großem Anteil an der Wertschöpfungskette
        • Prozessunterstützung, Datenmanagement, Modellierungs- und Simulationsumgebungen, …
      • Software deren Effizienz sich unmittelbar auf die Betriebskosten auswirkt
        • Numerische Simulationscodes
    4. Einsatzfelder von Python
      • Art der Software
        • Wissenschaftliche Software und Prototypen
        • Selten Einsatz in Produkten
        • Kein Einsatz in kritischen Systemen
      • Beispiele für Einsatzfelder von Python
        • Web-Anwendungen (  Plone, Zope)
        • Datenmanagement
        • Steuerung von (großen) Simulationen
        • Visualisierung
        • Skript-Schnittstellen für numerische Software
        • Test und Qualitätssicherung von wissenschaftlicher Software
    5. Warum Python in der Luft- und Raumfahrt? Zielgruppe: Ingenieure, Physiker, Mathematiker
      • Beschreibung
        • Objektorientierte vollständige Programmiersprache
        • Klare, einfache Syntax
        • Portabel, verfügbar auf allen Plattformen mit C-Compiler
      • Warum ist Python geeignet für Ingenieure und industrielle Anwender?
        • Sehr einfach zu lernen und zu benutzen ( = steile Lernkurve )
        • Erlaubt eine schnelle Entwicklung ( = geringe Entwicklungszeit )
        • Inherent great maintainability
      “ Python has the cleanest, most-scientist- or engineer friendly syntax and semantics.” (Paul F. Dubois. Ten good practices in scientific programming. Comp. In Sci. Eng., Jan/Feb 1999, pp.7-11)
    6. Beispiele für Einsatz von Python, Plone und Zope Virtual Lab Steuerung großer Simulationen Projekt- Webseite
    7. Virtual Lab Web-basiertes Repository für wissenschaftliche Codes
      • Portal zur Bereitstellung wissenschaftlicher Software
      • Einfache numerische Codes werden integriert („eingestellt“)
      • Nutzer können Eingabedateien hochladen und Rechnungen starten
      • Entwickelt vom DLR-Institut für Methodik der Fernerkundung
      • http://vl.nz.dlr.de/VL
    8. Virtual Lab (2) Technologie
      • Datenbanken
        • Daten: ZODB
        • Metadaten: MySQL
        • User: OpenLDAP
      • Task-Management
        • OpenPBS
      • Web-Schnittstelle
        • ZOPE
    9. Virtual Lab (3) Integration von Codes
      • Integration von Codes geschieht durch Spezifikation von Input und Output des Codes
      • Input Description Language
        • Benutzt Python als Basis
      • Generierung von Eingabeelementen für numerische Werte
      • Beispiel:
      ID(na= 'Lambda' , pe= '_NF and _Lambda_use' , ty= 'FloatType' , de= '0.5' , ce= 'Lambda > 0.0' , un= 'mu_m' , an= 'Input wavelength' ),
    10. Virtual Lab (4) Beispiel: Streuungsberechnung
      • Liste verfügbarer Codes im Virtual Lab
      • Berechnung von Streuungseigenschaften
        • MIESCHKA
        • CYL
      • Durchführung von „ virtuellen Experimenten “
        • Parameter-Eingabe
        • Durchführen einer Rechnung
        • Visualisierung der Ergebnisse
        • Download der Ergebnisse
    11. Virtual Lab (5) Bsp.: Parametersatz für Streuung eines Wassertropfens
    12. Virtual Lab (6) Bsp.: Output der Berechnung
    13. Virtual Lab (7) Bsp.: Einfache Visualisierung der Ergebnisse
    14. Beispiele für Einsatz von Python, Plone und Zope Steuerung großer Simulationen Virtual Lab Projekt- Webseite
    15. Steuerung von großen Simulationen Einführung
      • Software wie Virtual Lab reicht für „kleine“ Simulationsanwendungen
      • Viele komplexere Probleme erfordern hochgenaue numerische Simulationen mit vielen Verarbeitungsschritten („Workflows“)
      • Oft wird multidisziplinär gekoppelt simuliert
        • Strömung – Struktur – Wärme – Flugmechanik – Radarsignatur …
      • Solche Rechnungen werden softwaretechnisch ständig komplexer!
    16. Komplexe Workflows Beispiele aus der Praxis
      • Softwaretechnische Aufgaben:
      • Nutzung von Codes mit umfangreichen Schnittstellen
      • Anstoßen unterschiedlichster Codes in korrekter Reihenfolge
      • Nutzung von Höchstleistungsrechnern und Clustern
      • Transferieren von Daten zwischen den Codes
      • Zusammenarbeit mit Kollegen
      Orbit Model Atmosphere Model Instrument Model Downlink Model L0 Processor L1b Processor L2 Processor L2 Processor Satellitendaten- Prozessing PCrash PCrash PCrash Script DesParO Permas PView PView PView Medina SFE Concept Nasbif Pammed Kopf positionierung DesParO GUI Parameter ASCII File mit Ergebnissen 1 2 n Struktur-Optimierung Geometry Definition Main Analysis Subroutine Structures Aerodynamics Stability & Control Propulsion Induced Drag Friction Drag Wave Drag Field Perf . Weights Wing Weight Noise Flight Perf . Fuel Volume Objective Function & Constraints Optimizer (DOT) Design Variables Balance SFC Engine Weight Engine/Aero Drag Geometry Definition Geometry Definition Main Analysis Subroutine Structures Structures Aerodynamics Stability & Control Stability & Control Propulsion Propulsion Induced Drag Friction Drag Wave Drag Field Perf . . Weights Weights Wing Weight Noise Noise Flight Perf . Flight Perf . Fuel Volume Fuel Volume Objective Function & Constraints Objective Function & Constraints Optimizer (DOT) Design Variables Balance Balance SFC Engine Weight Engine/Aero Drag Engine/Aero Drag Flugzeug-Design
    17. Integrations- uns Simulationsumgebung System zur Steuerung komplexer Simulationen
      • Integrations- und Simulationsumgebung „TENT“ für ingenieurwissenschaftliche Anwendungen.
      • Gesamtsoftware-System entwickelt in Java
      • Python als eingebettete Skriptsprache
        • Integration von Jython
      • Haupt-Anwendungsfälle von Skripten
        • Integration von Applikationen („Wrapper“)
        • Steuerung von Simulationen
        • Formelauswertung
    18. Beispiel: Gekoppelte Simulation in der Luftfahrt Flugmanöverberechnung
      • Interaktive Simulation eines frei fliegenden elastischen Kampfflugzeugs
      • Hochgenaue Simulation erfordert Kopplung von
        • Aerodynamik (Strömung)
        • Flugmechanik
        • Aeroelastik
      • Hohe Rechenzeiten
        • Mehrere Wochen auf großem Cluster
      • Steuerung der Kopplung als Python- Skript in der Simulations-Umgebung
      • http://www.dlr.de/as/sikma
    19. Kopplungs-Steuerung als Python-Skript
    20. Ergebnis der Rechnungen Strömung
    21. Scripting in Applikationen Einbettung von Python-Interpretern
      • Allgemein gilt: Anwendungen können von Haus aus nicht alles!
      • Aber Scripting erlaubt das einfache Hinzufügen fehlender Features
      • Realisierung durch Einbettung („Embedding“) von Python-Interpretern
        • (C-)Python oder Jython
      • Erfahrung: Nutzung von Python erhöht Akzeptanz bei Anwendern
      • Voraussetzung: Das Scripting-API muss einfach sein
    22. Scripting in Applikationen Abstraktion der (komplexen) Framework-Architektur Applikation Framework / Plattform Kenntnis der Architektur notwendig Extension-API Versteckt Komplexität vor dem Benutzer Benutzer-Skripte Architektur- unabhängig Erweiterung
    23. Beispiele für Einsatz von Python, Plone und Zope Virtual Lab Steuerung großer Simulationen Projekt- Webseite
    24. Projekt-Webseiten Nutzung von Plone als CMS
      • Plone wird eingesetzt für (öffentliche) Projekt-Webseiten
      • Weitere eingesetzte Web-Systeme
        • Typo3: Häufig als CMS für Projektseiten verwendet
          • z.B. D-Grid-Site (Grid Computing): http//www.d-grid.de
          • z.B. SESIS-Site (Schiffbau): http://www.sesis.de
        • MS SharePoint Portal Server: Intranet-Anwendungen
        • contentXXL: DLR-Webseite ( http://www.dlr.de )
    25. Einsatz von Plone Vorteile
      • Plone basiert auf Zope, damit auf Python
        • Entwicklung von Erweiterungen sind leicht möglich
        • Viele Ingenieure und Wissenschaftler nutzen bereits Python
      • Plone bietet WebDAV-Zugang
        • WebDAV wird auch für wissenschaftlich-technisches Datenmanagement verwendet
      • Die Bearbeitung von Inhalten ist einfach
        • Geeignet für Gelegenheitsnutzer
        • Erfahrung: Steilere Lernkurve als z.B. bei Typo3
    26. Plone-Beispiel-Seite AeroGrid-Projektseite
      • Webseite des BMBF-Projekts AeroGrid
        • Grid-basierte Zusammenarbeit in der Luftfahrtforschung
      • Information der Öffentlichkeit
      • http://www.aero-grid.de
      • Plone 2.5.2
      • SuSE 9.2 (VMware, ¼ Blade)
        • Betrieb durch T-Systems SfR
      • Anbindung an ActiveDirectory/LDAP des DLR
    27. Turbinensimulation in AeroGrid Simulation -> Entwurf -> Einsatz (Bilder: © DLR bzw. MTU Aero Engines)
    28. AeroGrid-Seite Informationen mit Querverweisen
      • Intensive Nutzung von Stichwörtern und Referenzen
    29. Schlussbemerkungen
      • Es gibt viele weitere Python-Anwendungen
        • im DLR
        • In anderen Luft- und Raumfahrt Organisationen und Firmen
      • Neue eigenständige Projektseiten basieren auf Plone
        • Ehemals: Typo3, PHP
      • In einigen Projekten wird an der Neuimplementierung existierender Software in Python gearbeitet
        • Ehemals: Perl, C, PHP
    30. Ganz am Ende… Hinweise
      • pyCologne: Python User Group Köln
        • Monatliche Treffen von Python-Interessierten aus dem Großraum Köln
        • http://wiki.python.de/User_Group_Köln
        • Dort gibt es auch eine längere Fassung dieses Vortrags ( https://wiki.sistec.dlr.de/AndreasSchreiber/ PythonInDerLuftUndRaumfahrt )
      • Interesse an spannenden Tätigkeiten in Luft- und Raumfahrt?
        • https://wiki.sistec.dlr.de/StellenAusschreibungen
    31.  

    + Andreas SchreiberAndreas Schreiber, 3 years ago

    custom

    1545 views, 0 favs, 1 embeds more stats

    Vortrag 8. DZUG-Tagung (04.-05.06.2007, PIK, Potsda more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1545
      • 1537 on SlideShare
      • 8 from embeds
    • Comments 0
    • Favorites 0
    • Downloads 0
    Most viewed embeds
    • 8 views on https://wiki.sistec.dlr.de

    more

    All embeds
    • 8 views on https://wiki.sistec.dlr.de

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories