Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

18
Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu

Transcript of Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Page 1: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Pluribus Arrival Time Notification System

Ingmar BrounsPeter van Keeken

Lennart KatsHuanwen Qu

Page 2: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Component Architecture

Bus

Sender Receiver

R&S system

Sender Receiver Sender Receiver

Bus stand

Dispatcher

BusCentralized

Decentralized 1

Peer 2 Peer Bus

Integrated Bus

Decentralized 2

Server

Bus Server

Bus Server Bus Stand

Stand

Stand

Stand

Page 3: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Sender & Receiver

Form the communication layer Other entities need not be aware of

the communication mechanism used

Component distribution is therefore transparent to main components

Page 4: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Receiver Overloading

Receivers have a limited number of communication slots

If all slots are taken, receiver will not accept connection requests

Sender will retry connecting after a timeout

Page 5: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Bus unit

Given Bus_ID Input

from GPS: GPS_Location, UTC result passed back by R&S:

Trigger_Location Output: GPS_Location, UTC, Bus_ID

triggered by: time out trigger location

Page 6: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Bus Tracking

Why a trigger location?

Essential:

1. Where is the bus on the route?

2. Where is the bus between stations?

Only regular GPS information is not enough it should have a context.

Page 7: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Bus TrackingEssential: 1. Where is the bus on the route?

Just the difference of two GPS locations is not enough

Road

Bus Stand

Bus route

12

So notifying depends on reaching a critical point, the Bus Stand in this case!

Page 8: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Bus Tracking

Essential: 2. Where is the bus between stations?

So again notifying preferably should happen on reaching a critical point!

1

23

!!!Bus Stand Bus Stand

Page 9: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

R&S System

Input: GPS_Location, UTC, Bus_ID

Output For each bus stand:

(Std_ID, Bus_ID, Line_Nr, Arr_Time)

Specified by other teams

Page 10: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Dispatcher

Given addressOf:: Std_ID Address

Input: (Std_ID, Bus_ID, Line_Nr, Arr_Time)

Output (to addressOf each Std_ID): (Line_Nr, Bus_ID, Arr_Time)

Page 11: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Bus stand

Given: UTC offset Set of arrival times

AT = {(Bus_ID, Line_Nr,Arr_Time)} initially empty

Input: (Bus_ID, Line_Nr, Arr_Time) Output:

AT = {(b,l,a + offset)| (b,l,a) AT : b != Bus_ID /\ l != Line_Nr}

+ {(Bus_ID, Line_Nr, Arr_Time) | Arr_Time != Never }

Page 12: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Bus Stand

Elements of AT will be displayed in chronological order.

If there are no updates for a certain amount of time, “Out of order” will be displayed.

Page 13: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Communication component

Communication Component

Connection Manager

Buffer Strategy

Connection endpoint

Abstract communication component. Sender/Receiver are instances Sender: Connection Manager does connection

request when buffer is flushed. Terminates connection after result has been obtained.

Receiver: Connection Manager sets up connection on connection request

Page 14: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Communication component

When a receiver gets a request from a sender, it will pass the result of that request back over the existing connection.

A sender will pass the result back to the originally calling component.

Page 15: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Communication component

Communication Component

Sender Manager

Buffer Strategy

Connection endpoint

Sender

Some Component

Receiver

request

request Result request

Result request

request Result request

Page 16: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Communication component

Communication Component

Receiver Manager

Connection endpoint

Receiver

Some Component

Sender

request

request Result request

Result request

request Result request

Page 17: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

(GPSLoc, UTC, Busid)

Sender

Buffering Buffer

R&S

For each bus stand output: (Stdid, Busid, Lineid, ArrTime)

(Stdid, Busid, Lineid, ArrTime)

StdId StdId StdId StdId

Time-Out flushes containersExcept when empty

Connection endpoint

(Stdid, Busid, Lineid, ArrTime)

Receiver

Buffer Strategy example

Page 18: Pluribus Arrival Time Notification System Ingmar Brouns Peter van Keeken Lennart Kats Huanwen Qu.

Questions?