MCWS mit JAM (Stefan Bosse) [7.2020]

Mobiles Crowdsensing mit JAM Agenten

Einführung

Vorbereitung

  1. Starte die JAM WEB App APP im Browser (Smartphone, Dekstop Rechner, Notebook)
  2. Optional für die Experimentierfreudigen: Starte einen Tor Browser mit Proxykette und lade auch dort die JAM WEB App
  3. Die JAM WEB App muss nicht wieter bedient werden (ist hier nur Kommunikationendpunkt)

JAM Plattform Shell

In diesem Notebook ist eine vollständige JAM Plattform und eine JAM Shell eingebaut!

#aios

Eine Shell erzeugen

 ▸ 
 ✗ 

Shell Initialisierung

 ▸ 
 ✗ 

Shell verbinden

 ▸ 
 ✗ 

Shell Status

 ▸ 
 ✗ 

Geolokalisation

  1. Über die öffentliche IP Adresse und einer ISP Datenbank (Genauigkeit zwischen 10-500km) und Verwendung des ISP Datenbankservers http:\\ip-api.com (Achtung: Ad-Blocker in WEB Browser verhindern den Zugriff auf diesen Datenbankservice). Diese Geolokalisation verwendet keine Daten aus Tracking und Tracing (kein Crowdsensing)!

  2. Über die öffentliche IP Adresse und einen Lokalisationservice von Mozilla https:\\location.services.mozilla.com. Dieser verwendet zur Bestimmung der Nutzerposition (Breiten- und Längengrad) Daten aus Crowdsensing (kollektive Mittelwertdaten, vermutlich nicht personalisiert) und https://api.opencagedata.com zur Bestimmung des Ortskontextes (Ort, Land).

  3. Wenn vorhanden und nutzbar GPS sowie im WEB Browser den HTML5 GeoLocation Service (über diesen wird dann auch GPS des Gerätes verwendet).

Ein einfacher Explorationsagent

#websur

Die Verhaltensbeschreibung des Agentens (Code)

Aktivitäten

init

percept

explore

goback

deliver

Agent

 ▸ 
 ✗ 

Den Agent starten

Agent

 ▸ 
 ✗ 

Ergebnisse abrufen

Agent

 ▸ 
 ✗ 

Ergebnisse darstellen

Ergebnisse

 ▸ 
 ✗ 

Ergebnisse speichern

Speichern

 ▸ 
 ✗ 

Aufgabe


Aufgabe.
  1. Bei der Exploration soll der Agent Markierungen auf jedem besuchten Knoten hinterlassen (aber nicht doppelt). Ergänze obigen Agentecode mit Tupelraumoperationen. Die Lebenszeit der Markierungen soll 600 Sekunden betragen. Die Tupel müssen die ID des Agenten (abfragen mot me()), die Uhrzeit (abfragen mit clock(true), und sein bisherigen Pfad enthalten (also die Variable path). Bei Doppelbesuchen nicht zweimal markieren (vorher testen).

  2. Bei der Exploration soll nach fremden Spuren (also Markierungen anderer Agenten) gesucht werden. Diese sollen genauso wie die Sensordaten erfasst werden.

  3. Die Ergebnisse der Agentensuche sollen erfasst und analysiert werden.

  4. Die Pfade sollen als zeitaufgelöste Trajektorie mit Zeitstempeln versehen werden und aufgezeichnet werden (also der gesamte Pfad vom Start bis zur Rückkehr). Dazu eine neue Variable trace im Agenten anlegen. Wo liegt das Problem bei den Zeistempeln (mittels clock im ms)?

  5. Optional: Wie kann man eine monotone und normierte Zeitserie in einer Trajektorie erstellen? Stichwort Uhrensynchronisation. Nicht trivial!

Antworten
Analyse hier

 ▸ 
 ✗ 



Created by the NoteBook Compiler Ver. 1.3.9 (c) Dr. Stefan Bosse (Wed Jul 15 2020 18:30:02 GMT+0200 (CET))