appointment maker 2 group d martin matusiak bas geertsema ingmar van der steen peter van dijk
TRANSCRIPT
![Page 1: Appointment Maker 2 Group D Martin Matusiak Bas Geertsema Ingmar van der Steen Peter van Dijk](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697bf891a28abf838c89d99/html5/thumbnails/1.jpg)
Appointment Maker 2 Group D
Martin MatusiakBas Geertsema Ingmar van der SteenPeter van Dijk
![Page 2: Appointment Maker 2 Group D Martin Matusiak Bas Geertsema Ingmar van der Steen Peter van Dijk](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697bf891a28abf838c89d99/html5/thumbnails/2.jpg)
Create meeting
single PDA -> CS create<id, label, t, d, [id]>
broadcast PDA <- CS announce<label, t, d, exp_time>
![Page 3: Appointment Maker 2 Group D Martin Matusiak Bas Geertsema Ingmar van der Steen Peter van Dijk](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697bf891a28abf838c89d99/html5/thumbnails/3.jpg)
Per PDA communicationPDA -> CS part<id, label>
PDA -> CS withdraw<label>
PDA -> CS free<t>
PDA <- CS req<t, d, label>
PDA <- CS book<t,d>
![Page 4: Appointment Maker 2 Group D Martin Matusiak Bas Geertsema Ingmar van der Steen Peter van Dijk](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697bf891a28abf838c89d99/html5/thumbnails/4.jpg)
Transaction rules
PDAs should be online:PDAs going offline during transaction are
considered withdrawn.
After announce message, allow exp_time to receive part or withdraw before transaction starts.
All the participating PDA’s diaries in the transactions are locked until time t is found.
![Page 5: Appointment Maker 2 Group D Martin Matusiak Bas Geertsema Ingmar van der Steen Peter van Dijk](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697bf891a28abf838c89d99/html5/thumbnails/5.jpg)
Message order
1. create
2. announce
3. req || free || part || withdraw
4. book
![Page 6: Appointment Maker 2 Group D Martin Matusiak Bas Geertsema Ingmar van der Steen Peter van Dijk](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697bf891a28abf838c89d99/html5/thumbnails/6.jpg)
Keeping track of timeslots1 2 3 4
invited PDA1 x x
invited PDA2 x
invited PDA3 x
• CS stores derived knowledge about the timeslots from the req/free messages.
• PDA’s diary is locked during transaction, so this knowledge doesn’t expire.
• PDA1, PDA2, PDA3 were all included in the [id] parameter of the create message.
![Page 7: Appointment Maker 2 Group D Martin Matusiak Bas Geertsema Ingmar van der Steen Peter van Dijk](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697bf891a28abf838c89d99/html5/thumbnails/7.jpg)
Handling withdrawal
1 2 3 4
invited PDA1 x x
invited PDA2 x
withdraws PDA3 x
PDA3 sends withdraw message -> use knowledge-base to find an earlier timeslot.
![Page 8: Appointment Maker 2 Group D Martin Matusiak Bas Geertsema Ingmar van der Steen Peter van Dijk](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697bf891a28abf838c89d99/html5/thumbnails/8.jpg)
Handling joining
1 2 3 4
invited PDA1 x x
invited PDA2 x
joins PDA4 ? ? ? ?
• PDA4 was not part of [id] but we allow it to join.
• PDA4 sends part -> CS must now establish availability of PDA4.
![Page 9: Appointment Maker 2 Group D Martin Matusiak Bas Geertsema Ingmar van der Steen Peter van Dijk](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697bf891a28abf838c89d99/html5/thumbnails/9.jpg)
Definitions
ts = requested start-slot of appointment
ta = calculated start-slot of appointment d = duration of appointment PDA = set of PDAs participating P(t) = all participating PDA’s at time t are
available for the given duration d
![Page 10: Appointment Maker 2 Group D Martin Matusiak Bas Geertsema Ingmar van der Steen Peter van Dijk](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697bf891a28abf838c89d99/html5/thumbnails/10.jpg)
Joining and withdrawal
After joining, we should have:|PDA’| = |PDA| + 1
ta’ >= ta
Upon withdrawal, we should have:|PDA’| = |PDA| - 1
ta’ <= ta
![Page 11: Appointment Maker 2 Group D Martin Matusiak Bas Geertsema Ingmar van der Steen Peter van Dijk](https://reader036.vdocuments.us/reader036/viewer/2022082418/5697bf891a28abf838c89d99/html5/thumbnails/11.jpg)
Invariantsbegin : |PDA| = 0 ta = ts
otherwise : |PDA| > 0 ta >= ts
),(Re),('Re: dtqdtqttPDA s
ta >= ts
d
)'(':' tPttt a
We don’t want the diaries to be changed:
There should be no appointment possibility before the calculated appointment time: