ChuChu Zeit im Agentensystem.

Slides:



Advertisements
Ähnliche Präsentationen
Threads Richard Göbel.
Advertisements

1 Named Pipes alias FIFO Haben einen Eintrag im Dateisystem und sind somit durch Zugriffsrechte identifizierbar Ermöglichen die Kommunikation zwischen.
OpenMP Präsentation im Rahmen des Seminars
Basisdesign 4. Generation PacMan
Vortrag III Hier in der Vorlesungszeit! Anwesenheitspflicht Jede Gruppe hat 6 Minuten! Stellt eure GUI vor –was ihr besonderes gemacht habt –Spektakuläre.
RelationentheorieObjektorientierte Datenbanken AIFB SS Das ODMG-Objektmodell vs. relationales Modell (1/9) ODMG-Objektmodell Literal_type Atomic_literal.
2.2 Definition eines Datenbankschemas (SQL-DDL)
Diplomarbeit Thema: Untersuchungen zur Spezifikation und Realisierung von Interoperabilitätskonzepten (hauptsächlich) CORBA-basierter Multiagentensysteme.
2 Ihr habt noch Minuten ©CAS 2004 Ihr habt noch Minute ©CAS
Verteilte Systeme Marcel Waldvogel. Marcel Waldvogel, IBM Zurich Research Laboratory, Universität Konstanz, , 2 Verteilte Systeme Entwicklung.
Learning By Doing Parallelverarbeitung Multithreading (Nebenläufigkeit) Alte Idee der Parallelverarbeitung statt rein sequentieller Prozesse Parallelverarbeitung.
Semantic MediaWiki basierten Analyse von Krankenhausprofilen anhand von Geokoordinaten, zur Unterstützung des Strategischen Krankenhaus Managements Markus.
Universität für Bodenkultur Wien, Institut für Siedlungswasserbau, Industriewasserwirtschaft und Gewässerschutz (SIG) Allgemeine Hinweise zum Masterseminar.
Tutorium Software-Engineering SS14 Florian Manghofer.
Einführung in die objektorientierte Programmierung Seminar 3.
An all meine Mail- Freunde, v. I.H. Weiter mit einem Klick…
Datenbanktechnik 1 Datenbanktechnik II Kapitel 3.0 bis 4.0.
Parallele Lösung von Differential-Algebraischen Gleichungssystemen und Sensitivitätssystemen Seminarvortrag Daniel Abele
Center for Biotechnology Bielefeld Bioinformatics Service Netzwerk - Programmierung Threads Alexander Sczyrba Jan Krüger.
Weltenspiel e.V. Fundusverwaltung Erwartungen, Wünsche, Anforderungen Konzeptvorstellung Erklärung am Detail Aktuelles Projekt als Beispiel Fundusverwaltung.
Syncrepl Replikation mit Die 4. Secure Linux Administration Conference 2009 Stefan Kania 10. bis 11. Dezember 2009.
Ein Projekt der FU Berlin Im Auftrag der FU Berlin Gefördert durch Netzwerk für Nachhaltige Schülerfirmen
SE: Systementwurf, © Till Hänisch 2003 Systemarchitektur nach Sommerville, Software Engineering, Addison Wesley.
Anforderungen an die neue Datenstruktur
Mebis Einführung - Dienstbesprechung
Erste Schritte im Internet of Things
Anforderungen an die neue Datenstruktur
Aufgabe 1.
Indico Meeting Dennis Klein
Qualität in der betrieblichen Ausbildung
Projekt: Freie Tauchausbildungsunterlagen
Hello World! Javakurs 2013 Arne Kappen
Dziwok/ Schamal LV: Medien im GW – Unterricht SS 2017
MS Excel-Datei Reparatur und Wiederherstellung
Welche Farbe wählen Sie?
Showcase Forms + BPEL Gerd Volberg + Torsten Winterberg
Klassen selbst programmieren
Brainstorming Öffentlichkeitsarbeit FBAI 2016
Schule bedeutet…. Langeweile Prüfungsangst ein notwendiges Übel
Logo Corporate Center Innovation
DQM (Data Quality Management)
Telling Time in German Deutsch 1 Part 1.
Einfuerung in Kernel Programmierung
 Klicken Sie sich durch …
Projektgruppe Mobility: OSS Liquid
Iscrizioni OnLine Einschreibungen
Inhalt Modellbasierte prädiktive Regelung? Gebäudemodell (= Raummodell) Methodik Simulationsstruktur in TRNSYS Ausgewählte Ergebnisse.
Raphael Fischer Informatik II - Übung 06 Raphael Fischer
Bis Atmung einsetzt / Notarzt eintrifft
Ein Sohn fragt den Vater
Sicheres Arbeiten an Walzwerken der Gummi- und Kunststoff-industrie
1. Die rekursive Datenstruktur Liste 1.3 Rekursive Funktionen
Sicherheitslabor — Einführung
«Delegierter» Methoden Schablone Funktionszeiger
Datenstrukturen und Softwareentwicklung
Ratschläge von Michelin
Kapitel 3 Konfigurierung von Fließproduktionssystemen
Präsentation von Darleen und Michèle
Google-Kalender Präsentation:
Bugtracker Tool.
Radium E & I Check E & I Check
COCOMO-Methode & FPA-Methode
Schätzungsmethoden Experten und Delphi
IOLE Iscrizioni OnLine Einschreibungen.
Robin App User manual - Deutsch
Practical Exercises and Theory
Präsentation Projektmanagment „V – MODELL“
Ein Sohn fragt den Vater
Hack2Sol – Powered by SAP
Fahre die große 1 mit vielen verschiedenen Buntstiften nach.
 Präsentation transkript:

ChuChu Zeit im Agentensystem

Überblick Zeit im Multi-Agenten-System – Randbedingungen für ChuChu Erweiterung der Agenten Details ClockAgent – TimeKQMLAgent Anwendung in TrainAgent/Beispiel 03.12.2018 Zeit im Objektmodell

„Zug Z soll um t Uhr von A nach B fahren“ Idee der Zeit fehlt im Multi-Agenten-Modell Nötig: einheitlicher Zeitbegriff für alle Agenten Gleichzeitigkeit/Nachzeitigkeit  gleiche Zeit Proportional zur Realzeit  Referenzzeit (Agenten u.U. verteilt!) Agentenmodell  Autonomie 03.12.2018 Zeit im Objektmodell

Implementationsentscheidungen Bereitstellung Referenzzeit durch ClockAgent Zeiteinheit: „Spielminute“ = TimeFactor Sekunden (frei wählbar) „Stellgenauigkeit“ in Sekunden  Präzision = 1 sec Für Agenten sichtbare Resolution: TimeFactor sec (änderbar) Möglichst große Autonomie der Agenten: eigene Zeit durch Systemuhr, aber Weltwissen muss anfangs von ClockAgent eingeholt werden 03.12.2018 Zeit im Objektmodell

Klassenhierarchie TimeKQMLAgent Clock KQMLAgent ClockAgent TrainAgent RouteAgent (StationAgent) (Spezialisierungen) 03.12.2018 Zeit im Objektmodell

tsim = (int) ((tSystem(Agent) – t0(Agent)) / f) Zeitübermittlung TimeKQMLAgent Systemzeit tSystem‘ TimeKQMLAgent Systemzeit tSystem‘ Nullzeit t0‘ Umrechnungsfaktor f query time ClockAgent Systemzeit tSystem Nullzeit t0 Umrechnungsfaktor f (tSystem–t0, f) tsim = (int) ((tSystem(Agent) – t0(Agent)) / f) [f] = 1min/s 03.12.2018 Zeit im Objektmodell

ClockAgent CLOCK Systemuhr query time waitForRequests() ERROR receiveKQMLmess() processKQMLmess(...) ERROR TimeRecipients: TRAIN1, TRAIN2,... doWork() sleep(n*60) forall(TimeRec.) tellTime(...) Systemuhr tell time tellTime(receiver) TimeFactor, StartingTime tell time 03.12.2018 Zeit im Objektmodell

TimeKQMLAgent - Initialisierung Tochterklasse, z.B. TrainAgent query time inittime() sendKQMLmess(...) sleep(...) CLOCK TimeInitialized = true TimeFactor = ... StartingTime = ... TimeInitialized = false tell time processTimeMessage() processKQMLmessage() 03.12.2018 Zeit im Objektmodell

TimeKQMLAgent – Funktionalität Aktuelle Zeit int currentTime(); int currentDay(); int currentHour(); int currentMinute(); Umrechnungen int calcDay(int minutes); int calcHour(int minutes); int calcMinute(int minutes); int timeFromHourMin(int hour, int min); String-Konversion int timeFromString(const char* timestring); string timeToString(int time); string daytimeToString(int time); TimeKQMLAgent Tochterklasse TimeFactor StartingTime Systemuhr currentTime() ... 03.12.2018 Zeit im Objektmodell

Anwendung: TrainAgent Bisher: 2 Threads + grafische Steuerung doWork() waitForRequests() Neuer Thread: doSchedule() Terminierte Ereignisse werden KQML-stringcodiert in Listenobjekt Schedule abgelegt doSchedule() überprüft die Liste regelmäßig mittels Vergleich mit currentTime() Bei Übereinstimmung: processKQMLmessage(...) 03.12.2018 Zeit im Objektmodell

...TrainAgent graphisch TRAIN_Z t / doWork() doSchedule() sleep(1) check schedule waitForRequests() travel(A,B,t) processKQMLmessage(...) Wissen Schedule travel(from,to,time=-1) t / travel(A,B) (pathreserve...) 03.12.2018 Zeit im Objektmodell

Zusammenfassung/Ausblick Grundfunktionalität zur agenteninternen Arbeit mit Zeit vorhanden Grundfunktionalität zur Kommunikation über Zeit vorhanden Aber: Wegeplanung/Reservierung muss Reservierungszeit/-zeiträume vorsehen – work in progress 03.12.2018 Zeit im Objektmodell

Threads Threads = konkurrierende Prozesse, die sich einen Adressraum teilen Vorteile: gemeinsamer Zugriff auf Daten möglich meist effizienter (betriebssystemabh.) Nachteil: Synchronisation notwendig! Pthreads: Mutexes sollen Daten vor konkurrierendem Zugriff schützen – „Locking“ 03.12.2018 Zeit im Objektmodell