context-oriented programming …pages.di.unipi.it › throughthefog › wp-content › uploads ›...

22
1 CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO, G. FERRARI, L. GALLETTA

Upload: others

Post on 04-Jul-2020

11 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

1

CONTEXT-ORIENTEDPROGRAMMINGABSTRACTIONSFORFOGC.BODEI,P.DEGANO,G.FERRARI,L.GALLETTA

Page 2: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

2

ML-CODA:AContext-OrientedProgrammingLanguage

FUNCTIONALLANGUAGE

ML

(KERNEL)

CONTEXT

DATALOGKNOWLEDGE

BASE

ML-CODA

BODEI,CANCIANI,DEGANO,GALLETTA,SALVATORI,FERRARI

Page 3: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

3

CONTEXT

ML

(KERNEL)

ABSTRACTIONLAYERVIRTUALIZATIONOFTHE

OPERATIONALENVIRONMENT

PHYSICALENV:POSITION

CONNECTIVITY:

APPPREFSPROFILES

:ML-CODA

Page 4: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

4

ContextDependentBinding

dlet txt=

getTxt ()when only_speech()

in …

(* txt is a parameter: its value depend on the current context *)

CONTEXT

ML-CODA

Page 5: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

5

BehaviouralVariaEons

fun getData()=let url = (_){<-direct_com(). let c = getChan() in receiveData c,<- use_qrcode(),camera(on). let p = take_picture() in decode_qr p }in getRemoteData:

CONTEXT

ML-CODA

Page 6: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

6

BehavioralVariaEons

fun getData()=let url = (_){<-direct_com(). let c = getChan() in receiveData c,<- use_qrcode(),camera(on). let p = take_picture() in decode_qr p }in getRemoteData:

CONTEXT

Adap@vity:appcanmodifyitsbehaviouraccordingtochangesinitscontextML-CODA

Page 7: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

7

ML-CODA

  StaEcMachinery(DFG@IEEE-TSE)o  verifythatdispatchingmechanismalwayssucceed

  SecurityAnalysis(DBGS@JCS)o  detectpotenEalunsafemodicaEons  PrototypeImplementaEon(CDFG@FOCLASA)o  ContextOrientedExtensionofF#

Page 8: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

8

OURF(r)OGGOAL:PROGRAMMINGABSTRACTIONS

inaContext-Awarefashion

Page 9: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

9

ProgrammingModel

•  HowcanweeasilydevelopapplicaEonsonthefogcompuEnginfrastructure?•  Mirko’stalkforfurthermoEvaEons

•  Needarightprogrammingmodelthat•  Providessuitableprogrammingabstrac@ons•  Ensuresdynamicadapta@on•  Supportcontext-awareorchestra@ons•  Supportshierarchicalresources•  Enforcecontext-awaresecurityproper@es•  Supportverifica@on

Page 10: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

10

OurF(r)ROGgoals:byexamples

Page 11: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

11

<Type,Speed,otherinfo>

Page 12: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

12

Page 13: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

13

CONTEXT

TOPOLOGYOFSTLsLOCALSERVICESHIERARCHYINFO

Page 14: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

14

CONTEXT

TOPOLOGYOFSTLsLOCALSERVICESHIERARCHYINFO

COMPUTING&ORCHESTRATION

PUT_DATA()

LOCAL&NONLOCAL

Page 15: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

15

CONTEXT

TOPOLOGYOFSTLsLOCALSERVICESHIERARCHYINFO

COMPUTING&ORCHESTRATION

ORCHESTRATE(param)

Slow-downwarning

Page 16: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

16

CONTEXT

TOPOLOGYOFSTLsLOCALSERVICESHIERARCHYINFO

COMPUTING&ORCHESTRATION

ORCHESTRATE()Slow-downwarning

ORCHESTRATION=LIGHTHOUSE

Page 17: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

17

CONTEXT

TOPOLOGYOFSTLsLOCALSERVICESHIERARCHYINFO

COMPUTING&ORCHESTRATION

ORCHESTRATE()Slow-downwarning

DYNAMICORCHESTRATION=CONTEXTDEPENDENTADAPTATION

Page 18: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

18

CONTEXT

LOCALSERVICESHIERARCHYINFO

POLICIES

COMPUTING&ORCHESTRATION

ACTIVATE_SERVICE()

Page 19: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

19

ARCHITECTURALSTYLE

APPCXT

APPCXT

APPCXT

Page 20: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

20

Context-awareness:adaptaEon

Adapta@onstep

APPCXT

APPCXT

APPCXT

Page 21: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

21

Context-awareness:CoordinaEngParallelism

APPCXT

APPCXT

APPCXT

Page 22: CONTEXT-ORIENTED PROGRAMMING …pages.di.unipi.it › throughthefog › wp-content › uploads › sites › ...CONTEXT-ORIENTED PROGRAMMING ABSTRACTIONS FOR FOG C. BODEI, P. DEGANO,

22

WEARESTILLLOSTINTHEFOG…