Your SlideShare is downloading. ×
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Python, Plone und Zope in der Luft- und Raumfahrtforschung
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Python, Plone und Zope in der Luft- und Raumfahrtforschung

1,621

Published on

Vortrag 8. DZUG-Tagung (04.-05.06.2007, PIK, Potsdam)

Vortrag 8. DZUG-Tagung (04.-05.06.2007, PIK, Potsdam)

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
1,621
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

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
  • 2.
    • Das DLR
    • Deutsches Zentrum für Luft- und Raumfahrt Raumfahrt-Agentur der Bundesrepublik Deutschland
  • 3. 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 
  • 4. 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
  • 5. 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
  • 6. 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)
  • 7. Beispiele für Einsatz von Python, Plone und Zope Virtual Lab Steuerung großer Simulationen Projekt- Webseite
  • 8. 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
  • 9. Virtual Lab (2) Technologie
    • Datenbanken
      • Daten: ZODB
      • Metadaten: MySQL
      • User: OpenLDAP
    • Task-Management
      • OpenPBS
    • Web-Schnittstelle
      • ZOPE
  • 10. 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' ),
  • 11. 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
  • 12. Virtual Lab (5) Bsp.: Parametersatz für Streuung eines Wassertropfens
  • 13. Virtual Lab (6) Bsp.: Output der Berechnung
  • 14. Virtual Lab (7) Bsp.: Einfache Visualisierung der Ergebnisse
  • 15. Beispiele für Einsatz von Python, Plone und Zope Steuerung großer Simulationen Virtual Lab Projekt- Webseite
  • 16. 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!
  • 17. 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
  • 18. 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
  • 19. 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
  • 20. Kopplungs-Steuerung als Python-Skript
  • 21. Ergebnis der Rechnungen Strömung
  • 22. 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
  • 23. 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
  • 24. Beispiele für Einsatz von Python, Plone und Zope Virtual Lab Steuerung großer Simulationen Projekt- Webseite
  • 25. 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 )
  • 26. 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
  • 27. 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
  • 28. Turbinensimulation in AeroGrid Simulation -> Entwurf -> Einsatz (Bilder: © DLR bzw. MTU Aero Engines)
  • 29. AeroGrid-Seite Informationen mit Querverweisen
    • Intensive Nutzung von Stichwörtern und Referenzen
  • 30. 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
  • 31. 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
  • 32.  

×