12.07.2015 Aufrufe

Das Softwaresystem BASEMENT - ETH Zürich

Das Softwaresystem BASEMENT - ETH Zürich

Das Softwaresystem BASEMENT - ETH Zürich

MEHR ANZEIGEN
WENIGER ANZEIGEN
  • Keine Tags gefunden...

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

Numerische Modellierung von Naturgefahrenmit dem <strong>Softwaresystem</strong> <strong>BASEMENT</strong>Workshop vom 6. Oktober 2006 an der VAW <strong>ETH</strong> Zürich<strong>Das</strong> <strong>Softwaresystem</strong> <strong>BASEMENT</strong>David Vetsch


MotivationGenerell:Verbesserung der Dimensionierungswerkzeuge fürflussbauliche Fragestellungen und entsprechendeImplementierung in Form eines Software-Tools...


Motivation…namens <strong>BASEMENT</strong>:omodulares Softwaretool zur Simulation von Strömungs- undTransportprozessen in FliessgewässernoGemeinsame Infrastruktur für die Implementierung undAnwendung von verschiedenen Modelltypen räumlicher undprozessorientierter Natur (Basis für weitere Submodule, wiez.B. Seitenerosion, Murgang, inverse Modellierung)oNachhaltigkeit: objektorientierte Vorgehensweise, verbindlicheDefinition von Schnittstellen und Prozessen, Dokumentation


EntstehungsgeschichteRhone-Thur Projekt 2001-2006www.rhone-thur.eawag.chNachhaltiger Umgang mit Fliessgewässernam Beispiel der Rhone und Thur


EntstehungsgeschichteChance für eine neue Basis:• Auftragsbezogene Softwareentwicklung an der VAWwährend der letzten 30 Jahre• Mangel an Kontinuität und Dokumentation• Rhone-Thur Projekt (BWG als Auftraggeber der VAW)als Möglichkeit zur Entwicklung eines neuen<strong>Softwaresystem</strong>s• Zusammenstellung eines Projektteams mit 4-5Mitarbeitern• Start des Projekts Ende 2002


Anwendungsbereichenumerisches Tool zur Simulation vonFliessgewässern mit Sedimenttransportund Naturgefahren für diecomputergestützte Untersuchung von.... Hochwasserereignissen.. Überschwemmungen.. Geschiebehaushalt.. Flussdeltaentwicklung.. Gerinneaufweitungen.. Flussmorphologie..und entsprechende Erweiterungder numerischen Modelle.


AnforderungenDammbruchKolkZeitÜberschwemmungRaumMorphologischeEntwicklung


AnforderungenKorndurchmesserGeschiebetriebSuspensionstransportMurgängeFeststoffanteil


Projektschwerpunkte• neues <strong>Softwaresystem</strong> basiert auf 2dmb und Floris (Reverse-Engineering), Erfahrung und entsprechende Referenzen• Behebung Stabilitätsprobleme• Auflösung „single point of knowledge“-> Kontinuität-> Dokumentation• Flexibilität des Codes : Erweiterbarkeit und Unterhalt• Kombination von verschiedenen Modellen• Primärer Projektfokus : Numerik mit Qualität


ProjektzielErstellen einer erweiterbarenund dokumentierten Software-Umgebung……zur numerischen Simulation……von Fliessgewässern mit Sedimenttransport,als solide Basis für Dissertationen und Projektbearbeitung.


Warum ein Software-“System“?1d 2d 3dGrad Grad an an Idealisierung // EffizienzAuflösung der der Prozesse -- Berechnungsaufwand


Warum ein Software-“System“?<strong>BASEMENT</strong>NumericalModelsInput / OutputPreProcessingPostProcessingTopographyGISHydrologySedimentologyand Soil Parameters


Warum ein Software-“System“?BASEchain1dBASEplane2dBASEspace3d


Software Engineering• Software-Krise ab Mitte 60iger und in 70iger Jahren• bis Anfang 80iger Jahre = Programmieren• Junge Ingenieursdisziplin (ca. 25 Jahre alt)• Einführung von bewährten Vorgehensweisen und Methodenaus der Praxis ab Anfang 80iger Jahre -> Prozesse• Vergleichbar mit Prozessen aus dem Bauingenieurwesen (z.B.Brückenbau)


Software EngineeringErhebung der Standish Group :CHAOS Report 1994189% über geschätzten Kosten222% der geplanten Zeit94 Restarts pro 100 Projekte42% der spez. Funktionalität


Phasen der ProjektorganisationQualitätssicherungtssicherungAnalyseEntwurfImplementierungTestAnalyseProjektmanagementArbeitsorganisationErmittlung der Anforderungen von zukünftigen Anwendern ->Gewährleisten der NutzungsbedürfnisseEntwurfDetaillierte Planung des Aufbaus des Programms -> Erstellen desBauplansImplementierung und TestProgrammieren, testen und bereinigen der Fehler -> Realisierung


Der prozedurale AnsatzProzessorientierte Methoden / prozeduraler Ansatz :Daten bearbeiten und Datenfluss gewährleistenDaten sind „überall“, d.h. in und ausserhalb von Prozeduren


Der objektorientierte AnsatzDefinition:objektorientiert (OO): Eine Technik oder Programmiersprachebetreffend, die Objekte, Klassen und Vererbung unterstützt. (ISO)Objektorientierte Methoden:• Klare Trennung von Daten undFunktionen• Gruppierung von Eigenschaftenund Fähigkeiten zu sog. Klassen• Zusammenführen durchProgrammlogik


Prinzipien der ObjektorientierungAbstraktionUmgang mit Komplexität :Zuweisen vonEigenschaften undFähigkeiten eines Objekts,Deklaration vonBeziehungen zu anderenObjektenObjektEigenschaftenFähigkeitenWeitere Prinzipien:Datenkapselung, Vererbung, Polymorphismus


Nutzen und Vorteile von OOP• Konsequente Abstraktionzuerst denken und skizzieren, dann programmieren• Software-KomponentenZerlegung in TeilproblemeÜbersicht bei komplexen SystemenWartung und Unterhalt• Erweiterbarkeit : z.B. Modellanpassungen• Dokumentationeinerseits vorgegeben durch Prozessandererseits durch OOP (definierte Schnittstellen)• WiderverwendbarkeitSelbstständigkeit der Objekte, z.B. 1d und 2d


Nutzen und Vorteile von OOP, jedoch…Anwendung einer objektorientierten Methode istkeine Garantie für Qualität(Erfahrung, Konstituierung erst seit Mitte 90iger)


Overhead und MythosVetsch sagt:„Objektorientierte Programme sind schneller als prozedurale.“• VergleichsgrössenAusführungszeit (statische vs. dynamischeSpeicherverwaltung)Berechnungszeit (Funktionsaufrufe, Datenzugriff)• ProgrammierungDatenzugriff über Zeiger, resp. Listen von Zeigernökonomischer Umgang mit Funktionsaufrufen und Vergleichen• CompilerEntwicklung von Compilern für OO-Sprachenoptimierende Compiler


Overhead und MythosVetsch sagt:„Objektorientierte Programme sind schneller als prozedurale.“„Es ist ein Mythos –.. ebenso wie derjenige, dass Entwickler von prozeduralenProgrammen keine Ahnung von Objektorientierung haben.. und dass man mit prozeduralen Ansätzen zwangsläufigunübersichtliche Programme erstellt.“


<strong>BASEMENT</strong> v1.1<strong>BASEMENT</strong> ist ein modulares objektorientiertes<strong>Softwaresystem</strong> mit folgender Spezifikation:• problembezogene Strömungssimulation anhand verschiedenerräumlicher Modelle (1d, 2d)• Modellierung von Geschiebe- und/oder Suspensionstransport• Wahl von verschiedenen numerichen Ansätzen undempirischen Gesetzmässigkeiten je nach Aufgabenstellung• Erweiterbarkeit und Nachhaltigkeit durch transparentenobejktorientierten Systemaufbau


<strong>BASEMENT</strong> v1.1News, Software und Dokumentation• www.basement.ethz.ch• Tragen Sie Sich für den Newsletter ein!• System Manuals v1.1 im Ordner: CHF 98.-

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!