Programmierpraktikum Verkehrssimulation

Ähnliche Dokumente
Java und XML 2. Java und XML

Grundlagen der Programmierung

Notationen zur Prozessmodellierung

ActiveX Scripting IE und DHTML (DOM): Architektur, Beispiele (Object Rexx)

Entwicklungstand der GUI

5. Programmierschnittstellen für XML

XML-Frameworks in verschiedenen Programmiersprachen Proseminar Textkodierung und Auszeichnung

inews: XML in der Praxis Konvertierung von Objekten nach XML und zurück Dr. St. Seefeld / INGTES AG

5. Programmierschnittstellen für XML

Zelluläre!Automaten!als! Werkzeug!zur!Simulation!!in! der!biologie!und!im! Straßenverkehr!!! 2013!!!

DIPLOMARBEIT. Entwurf und Implementierung eines modularen USB-Stacks für eingebettete Controller ohne Betriebssystem. Uwe Pfeiffer

CARL HANSER VERLAG. Dirk Ammelburger XML. Grundlagen der Sprache und Anwendungen in der Praxis

Zelluläre Automaten als einfache selbstorganisierende Systeme

Delegation. Aufgabe 7:

Feature Modelle. und ihre Anwendung. Feature Modelle und ihre Anwendungen. Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn

Informatik Aufgaben. 1. Erstelle ein Programm zur Berechnung der Summe der Zahlen von 1 bis n, z.b. n = 100.

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Smartphone Entwicklung mit Android und Java

Software Engineering II

Wiederholung: Beginn

Online-Publishing mit HTML und CSS für Einsteigerinnen

1 Software Engineering 1

ehealth Composite Plattform (ehc) FormsFramework Eine Schlüsseltechnologie zur Umsetzung semantischer Interoperabilität

Lösungsvorschlag für Übungsblatt 4 Software Engineering 1 (WS 2012/13)

GATE General Architecture for Text Engineering. Alexander Hein & Erik Dießler (VL Text Analytics )

Herausforderungen und Ansätze für Kontextmodelle. Prof. Dr. Bernhard Mitschang Industriekolloquium Nexus

Objektorientierte und Funktionale Programmierung SS 2014

DATENSERIALISIERUNG & INTERNETZUGRIFF. Am Beispiel einer RSS-Reader-App

Grid-Systeme. Betrachtung verschiedener Softwareplattformen zur Realisierung von Grids und Vorstellung des Globus Toolkit Grid Systeme 1

Design Patterns 2. Model-View-Controller in der Praxis

Java: Kapitel 9. Java und XML. Programmentwicklung WS 2008/2009. Holger Röder

Die OSGi Service Plattform

Java API for XML Binding

Collaborative Virtual Environments

UML 2 glasklar Praxiswissen für die UML-Modellierung

Auch im Internet sind zahlreiche Informationen über ZA zu finden. Einige interessante Websites sind im Text verlinkt.

Web Service Entwicklung mit Java. Sven Lindow

Installationsanleitung für CAO-FAKTURA Connector.

BIF/SWE 1 - Übungsbeispiel

, Rainer Schmidberger, ISTE. XML und Java. Rainer Schmidberger

Webentwicklung mit Vaadin 7. Theoretische und praktische Einführung in Vaadin 7. Christian Dresen, Michael Gerdes, Sergej Schumilo

2. Repräsentationen von Graphen in Computern

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

A. EDV-Systeme (29 Punkte) I. Nehmen Sie begründet zu folgender Aussage Stellung: Computer können Informationen verarbeiten.

Christer Lorenz Esri Deutschland GmbH 4. April 2016, Rostock-Warnemünde

Softwareentwicklung mit Komponenten

Entwicklungssysteme für Lernumgebungen am Beispiel des Essener-Lern-Modells

XML Informationsmodelle

Simulation von Straßenverkehr

Klausur zur Vorlesung Softwaretechnik

Algorithmen und Datenstrukturen CS1017

X-Technologien. XML and Friends. Jörn Clausen 9. Juli 2001

Handbuch DatInf Measure

OpenCms jbpm Workflow Engine. OpenCms und jbpm Workflow Engine

Software-Verifikation

Software Engineering II

HIT der einfache Schlüssel für eine breite Vielfalt

Realisierung einer Problemlösungsstrategie für Logistikprozesse im Krankenhaus durch agentenbasierte Simulation

Proseminar Informationsmanagement SS Übersicht. Katholische Universität Eichstätt-Ingolstadt. 16. April Organisatorisches

Prüfung Verwalten und Warten einer Microsoft Windows Server Umgebung

Verybench: grafisches Frontend für Testwell CMT++ Code Complexity Measures Tool

Vom Ausdruck ins Internet

Reporting Lösungen für APEX wähle Deine Waffen weise

Objektorientierte Analyse (OOA) Inhaltsübersicht

Metriken und optimale Einsatzszenarien für Garbage Collectoren der Java HotSpot Virtual Machine

Zusicherungen und Laufzeit Überwachungen in der modellbasierten Software Entwicklung

Raber+Märcker Techno Summit 2014 Microsoft Dynamics NAV 2013 R2 Überblick und Hintergründe zu aktuellen Version.

Expose zur Studienarbeit Indizierung von XML-Daten mittels GRIPP

Unterstützung für die Durchführung epidemiologischer Studien - Modys - eine Datenbankapplikation. Achim Reineke, Sönke Knut Voß, Heidi Asendorf

Ruhr.pm XML-Daten verarbeiten mit XML::LibXML Autor: Datum:

DataSpace 2.0 Die sichere Kommunikations-Plattform für Unternehmen und Organisationen. Your Data. Your Control

Modulare Anwendungen und die Lookup API. Geertjan Wielenga NetBeans Team Deutschsprachige Überarbeitung, Aljoscha Rittner NetBeans Dream Team

Algorithmen mit konstantem Platzbedarf: Die Klasse REG

BI Publisher Berichtswesen einfach und sicher. Alexander Klauss Centric IT Solutions GmbH

Fertigprodukte. Bruno Blumenthal und Roger Meyer. 18. Juli Zusammenfassung

Einführung in Generatives Programmieren. Bastian Molkenthin

XML-Programmierschnittstellen: SAX, DOM

Datenmanagement und einfache Automatisierungen in Ingenieursanwendungen mit dem DataFinder Eike Hoffmann 5. April 2006 Frankfurt a.m.

Wir haben die Dienste aus Theorie wird Praxis

Trace- und Zeit-Zusicherungen beim Programmieren mit Vertrag

BIW - Überblick. Präsentation und Discoverer Demonstration - Teil 1 - Humboldt Universität zu Berlin am 10. Juni 2004

Grafische Interaktionssysteme/ dynamische Visualisierung des endlichen Automaten

PHP objektorientiert

Unternehmensplanspiel MARKSTRAT

SWARCO TRAFFIC SYSTEMS GMBH. PRIMOS SMART Zentrale Software Systembeschreibung. PRIMOS_Smart_BD_00

Netzwerk Technologien in LabVIEW

OSGi: Technologiebewertung für den Einsatz in der Automatisierung

Verarbeitung von XML mit SAX und DOM

Jürgen Schwab, debis Systemhaus

Softwareanwendungen für die Integration und Auswertung kombinierbarer Fachmodelle

Transkript:

Programmierpraktikum Verkehrssimulation Einführung in die Thematik Michael Moltenbrey, Dirk Pflüger 24. April 2006 1

Gliederung Motivation Ablauf des Praktikums Aufgabenstellungen Scheinkriterien Gruppeneinteilung Zeitplan Einführung in die Thematik 2

Motivation Verkehr von immer größerer Bedeutung im täglichen Leben Simulation als geeignetes Planungsmittel und zur Erlangung eines tieferen Systemverständnisses Ziele des Praktikums sind u.a.: Verstehen der zugrundeliegenden Modelle Erstellung einer größeren Software Spezifizieren, Entwerfen, Implementieren Teamarbeitstechniken 3

Aufgabenstellung Entwicklung eines mikroskopischen Verkehrssimulators Simulation realistischer Szenarien Erkennen und Lösen von Effizienzproblemen Objekt orientierter Ansatz Einsatz verschiedener Technologien Java XML... 4

Scheinkriterien Teilnahme an allen Terminen und Bearbeitung aller Blätter Präsentation der Teilergebnisse Jedes Blatt unterteilt in Pflichtaufgaben: müssen vollständig bearbeitet werden Zusatzaufgaben: freie Auswahl bei Bearbeitung mindestens die Hälfte aller Zusatzaufgaben muss erfolgreich bearbeitet werden 5

Gruppeneinteilung Bearbeitung der Aufgaben erfolgt in Teams Zwei Personen pro Team Teams bleiben während des gesamten Praktikums bestehen Abgaben erfolgen stets gruppenweise über Webformular Einzelabgaben u. verspätete Abgaben werden nicht angenommen und dementsprechend nicht gewertet Ziele: Erlernen einfacher Teamarbeitstechniken Größeres Projekt in kürzerer Zeit 6

Gruppeneinteilung (2) Einteilung erfolgt jetzt! 7

Zeitplan Aufgabenblätter im 14 Tage Rhythmus Zwei Wochen für Bearbeitung In darauffolgender Woche Präsentation der Lösungen 8

Die Aufgaben Blatt 1 Conways Game of Life Erste Bestandteile der Visualization Engine Visualisierungstechniken in Java Einführung in Parsen von XML mit Java Blatt 2 Aufbau eines XML Parsers für Netzdateien Basisfunktionalität der Simulatorlogik Ringstraße mit einspurigem Verkehr 9

Die Aufgaben (2) Blatt 3 Erweiterung der Simulationslogik Mehrspuriger Verkehr und Überholvorgänge Blatt 4 Modellierung und Implementierung von Kreuzungen mit und ohne Ampeln Kreisverkehre Fertigstellen der Visualization Engine 10

Die Aufgaben (3) Blatt 5 Nachfragedaten aus XML Datei einlesen und Fahrzeuge generieren und positionieren Activity Manager entwerfen und implementieren Ausführung einer größeren Simulation Blatt 6 Simulation eines gesamten Stadtnetzes! Messungen in Netzen verschiedener Größe 11

Einführung in zelluläre Automaten am Beispiel des Game of Life 12

Gliederung Zelluläre Automaten Conway's Game of Life Regeln Ausprägungen Implementierungs und Entwurfhinweise XML und Java Architektur des Simulators Die Visualization Engine 13

Zelluläre Automaten Modellierung räumlich diskreter dynamischer Systeme Ein zellulärer Automat ist definiert durch Zellraum R Endliche Nachbarschaft N Zustandsmenge Q lokale Übergangsfunktion :Q N Q Zellraum i.d.r. 1 dimensional oder 2 dimensional 14

Zelluläre Automaten (2) Jeder Zelle des Automaten wird Zustand der gegebenen Zustandsmenge Q zugeordnet Zustandsübergang einer Zelle wird über lokale Zustandsübergangsfunktion definiert Einfaches, aber mächtiges Konzept um komplexe Vorgänge zu modellieren Anwendung bspw. in der Verkehrssimulation vgl. Nagel Schreckenberg Modell 15

Conway's Game of Life Beliebtes Einstiegsbeispiel für zelluläre Automaten 1970 von John Conway entwickelt (biolog. Zellwachstum) 2D zellulärer Automat Einfacher Aufbau, sowie einfache Regeln Rechteckiges Spielfeld C: n x m Matrix Jede Zelle kann einen von zwei Zuständen q i annehmen tot lebendig 16

Conway's Game of Life (2) Jede Zelle hat acht Nachbarn Ablauf nach einfachen Regeln Folgegeneration g t+1 wird aus aktueller Generation g t berechnet: g t+1 = f(g t ), paralleles Update aller Zellen Zustand einer Zelle C i,j zum Zeitpunkt t+1 hängt von dem Zustand der Zelle und der direkten Zellnachbarn zum Zeitpunkt t ab 17

Conway's Game of Life (3) Zelle mit genau drei lebenden Nachbarn wird neu geboren Lebende Zellen mit mehr als drei lebenden Nachbarn sterben an Unterernährung 18

Conway's Game of Life (4) Eine lebende Zellen stirbt in der Folgegeneration an Einsamkeit, wenn sie lediglich weniger als zwei lebende Nachbarn hat Diese Regeln sind ausreichend für vielfältige Gestaltsausprägungen im Laufe der Simulation 19

Ausprägungen Einige Strukturen, die im Game of Life entstehen können Gleiter Blinker Segler 20

Implementierungshinweise Naive Methode nicht unbedingt die beste Effizienz und Speicherbedarf sollte im Auge behalten werden Welche Komponenten sind wirklich notwendig? Läßt sich der Zugriff auf die Zellen optimieren? Gibt es noch andere Möglichkeiten die Simulation zu beschleunigen? Visualisierung kann bei ungeschickter Implementierung extrem teuer werden!! 21

Java und XML Die Szenarien, Aktivitäten und Netze unseres Simulators werden mit Hilfe von XML definiert Wichtig ist daher die Erstellung eines geeigneten Parsers Für Java existieren zahlreiche generische XML Parser, die verhältnismäßig leicht angepasst werden können Zwei verschiedene Typen: Simple API for XML (SAX) Document Object Model (DOM) Beide Bestandteil von Sun's Java 2 Plattform (ab JDK 1.4) 22

Simple API for XML Basiert auf einem Ereignismodell Sequentielles Einlesen der XML Datei Ggf. Auslösen eines passenden Events Kein wahlfreier Zugriff möglich Höherer Programmieraufwand im Vergleich zu DOM 23

Document Object Model Objekt orientierte Darstellung einer XML Datei DOM bietet eine API, um den Inhalt einer Datei zu verändern, darauf zuzugreifen,... Das XML Dokument wird in der Form eines Baumes im Speicher gehalten Vereinfachter Zugriff auf Elemente im Vergleich zu SAX Höherer Speicherbedarf 24

Architektur des Simulators 25

Visualization Engine Darstellung des Simulationsablaufs Modularer Aufbau: Unterstützung verschiedener Ausgabemodi soll möglich sein Trace Files On the Fly Visualisierung in GUI... 26

Visualization Engine (2) Visualisierung kann bei großen Netzen die Leistungsfähigkeit des Simulators stark beeinflussen Besondere Aufmerksamkeit muss auf dem Entwurf ressourcenschonender Verfahren liegen Effiziente Implementierungen sind notwendig Datenstrukturen effizient gewählt? Welche Gebiete müssen genau visualisiert werden? Was bei ausschnittsweiser Betrachtung? 27

Visualization Engine (3) Hinweis: Bei durchdachtem Entwurf der Visualisierung des Game of Life Wiederverwendbarkeit vieler Komponenten möglich Erfahrungswerte können eingebracht werden => Deutliche Arbeitsersparnis bei den folgenden Aufgabenblättern 28

Noch Fragen?? 29