Mega Modeling for Scien/fic Big Data Processing Stefano - - PowerPoint PPT Presentation

mega modeling for scien fic big data processing
SMART_READER_LITE
LIVE PREVIEW

Mega Modeling for Scien/fic Big Data Processing Stefano - - PowerPoint PPT Presentation

Mega Modeling for Scien/fic Big Data Processing Stefano Ceri, Emanuele Della Valle (Politecnico di Milano) Dino Pedreschi, Roberto Trasar/


slide-1
SLIDE 1

Mega ¡Modeling ¡ ¡ for ¡Scien/fic ¡“Big ¡Data” ¡Processing ¡

Stefano ¡Ceri, ¡Emanuele ¡Della ¡Valle ¡ (Politecnico ¡di ¡Milano) ¡ Dino ¡Pedreschi, ¡Roberto ¡Trasar/ ¡ (ISTI-­‑CNR ¡and ¡University ¡of ¡Pisa) ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 1 ¡

slide-2
SLIDE 2

The ¡context ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 2 ¡

slide-3
SLIDE 3

Scenario ¡

  • BIG ¡DATA: ¡A ¡new ¡data ¡revolu/on. ¡
  • Data ¡is ¡reshaping ¡every ¡individual ¡and ¡collec/ve ¡

ac/vity ¡of ¡people’s ¡life. ¡

  • ­‑ Sensors ¡and ¡people ¡produce ¡huge ¡amounts ¡of ¡data ¡
  • ­‑ Data ¡is ¡becoming ¡accessible ¡everywhere ¡via ¡the ¡Web ¡
  • Scien/fic ¡big ¡data ¡is ¡changing ¡our ¡aVtude ¡towards ¡

science, ¡from ¡specialized ¡to ¡massive ¡experiments ¡ and ¡from ¡focused ¡to ¡broad ¡ques/ons. ¡ ¡

  • A ¡data-­‑centric ¡vision ¡goes ¡towards ¡Horizon ¡2020’s ¡
  • bjec/ves. ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 3 ¡

slide-4
SLIDE 4

Examples ¡of ¡Big ¡Data ¡

  • A. ¡London ¡Traffic ¡

4 ¡

slide-5
SLIDE 5

Challenges ¡of ¡Scien/fic ¡Big ¡Data ¡Processing ¡

Smart ¡Ci/es ¡

  • Ci/es ¡are ¡becoming ¡smarter, ¡as ¡governments, ¡

businesses, ¡and ¡communi/es ¡increasingly ¡rely ¡on ¡ technology ¡to ¡overcome ¡the ¡challenges ¡from ¡rapid ¡ urbaniza/on. ¡ ¡

  • Typical ¡ques/ons ¡for ¡smart ¡ci/es: ¡

– Where ¡in ¡the ¡city ¡are ¡people ¡converging ¡during ¡a ¡typical ¡ ¡ week ¡day? ¡Or ¡during ¡weekends? ¡ – Is ¡public ¡transporta/on ¡dynamically ¡adap/ng ¡to ¡people’s ¡ ¡ density? ¡ ¡ – Is ¡a ¡traffic ¡jam ¡going ¡to ¡happen ¡on ¡this ¡road? ¡And ¡is ¡it ¡then ¡ convenient ¡to ¡reallocate ¡travellers ¡based ¡upon ¡the ¡ forecast? ¡ – Where ¡are ¡all ¡my ¡friends ¡mee/ng? ¡Can ¡I ¡reach ¡them? ¡ Should ¡I ¡use ¡public ¡transports ¡or ¡go ¡by ¡car? ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 5 ¡

slide-6
SLIDE 6

¡

  • B. ¡Pulse ¡of ¡the ¡Na/on ¡inferred ¡from ¡

Twicer ¡

¡

[source ¡hcp://www.ccs.neu.edu/home/amislove/twicermood/ ¡] ¡

6 ¡

slide-7
SLIDE 7

The social network behind Facebook

  • C. ¡Facebook ¡World’s ¡Geography ¡

7 ¡

slide-8
SLIDE 8

Challenges ¡of ¡Scien/fic ¡Big ¡Data ¡Processing ¡

Social ¡Mining ¡

  • Using ¡user-­‑generated ¡content ¡for ¡discovering ¡and ¡

analyzing ¡emergent ¡social ¡behaviors, ¡by ¡combining ¡ sensing ¡of ¡personal ¡micro-­‑data ¡(tweets, ¡web ¡logs, ¡mobile ¡

phones ¡traces) ¡and ¡par/cipatory ¡sensing ¡(via ¡ crowdsourcing, ¡GWAP,…). ¡

  • Typical ¡ques/ons ¡for ¡social ¡mining: ¡

– Who ¡will ¡win ¡US ¡elec/ons? ¡What’s ¡the ¡elector’s ¡current ¡ inten/on ¡of ¡vote? ¡How ¡reliable ¡is ¡it? ¡ – Which ¡are ¡the ¡indicators ¡of ¡social ¡well-­‑being ¡(beyond ¡GDP) ¡and ¡ how ¡can ¡they ¡be ¡computed ¡and ¡monitored? ¡ – How ¡is ¡the ¡aging ¡popula/on ¡effec/vely ¡helped ¡by ¡the ¡social ¡ par/cipa/on ¡to ¡digital ¡community ¡services? ¡ – What ¡is ¡the ¡link ¡between ¡media ¡ownership ¡and ¡media ¡content? ¡ Is ¡there ¡bias ¡in ¡news ¡repor/ng? ¡And ¡in ¡content ¡reviews? ¡ ¡ – Is ¡an ¡infec/ve ¡disease ¡emerging? ¡How ¡is ¡its ¡diffusion ¡model? ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 8 ¡

slide-9
SLIDE 9
  • D. ¡Genomic ¡Data ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 9 ¡

slide-10
SLIDE 10

Challenges ¡of ¡Scien/fic ¡Big ¡Data ¡Processing ¡

Genomic ¡Compu/ng ¡

  • The ¡context: ¡thanks ¡to ¡Fast ¡DNA ¡Sequencing, ¡“personalized ¡

genomic ¡medicine” ¡will ¡become ¡possible: ¡ ¡

– aner ¡ ¡a ¡blood ¡sample, ¡with ¡a ¡cost ¡below ¡100$ ¡and ¡within ¡hours ¡

  • r ¡minutes ¡of ¡compu/ng ¡/me, ¡have ¡the ¡en/re ¡genome ¡of ¡each ¡

individual ¡available ¡at ¡a ¡genome ¡browser ¡

  • New ¡ques/ons ¡and ¡scenarios: ¡

– Am ¡I ¡the ¡carrier ¡of ¡gene/c ¡muta/ons? ¡Will ¡I ¡develop ¡cancer? ¡ ¡ – How ¡obesity ¡correlates ¡with ¡breast ¡cancer? ¡ – Which ¡computa/onal ¡approach ¡can ¡discriminate ¡between ¡ "driver" ¡or ¡"passenger" ¡cancer ¡DNA ¡muta/ons? ¡ ¡ – How ¡can ¡specific ¡target ¡genes ¡be ¡assigned ¡to ¡epigene/cally ¡ defined ¡regulatory ¡regions? ¡ ¡ – How ¡do ¡epigene/c ¡modifica/ons ¡affect ¡DNA ¡synthesis ¡during ¡ the ¡replica/on ¡of ¡genomes? ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 10 ¡

slide-11
SLIDE 11

All ¡the ¡scenarios ¡require… ¡MODELS ¡

MODEL ¡ ¡

  • Representa/on ¡of ¡the ¡problem ¡space ¡in ¡the ¡ICT ¡

vocabulary ¡(concepts, ¡data, ¡processes, ¡systems). ¡

  • Computa/onal ¡abstrac/ons ¡extrac/ng ¡relevant ¡data ¡

from ¡input ¡data ¡

  • Models ¡can: ¡ ¡

– Based ¡upon ¡analy/cal/sta/s/cal ¡laws ¡ – Based ¡upon ¡simula/ons, ¡extrac/ng ¡general ¡behaviors ¡from ¡ many ¡observa/ons ¡of ¡the ¡behavior ¡of ¡individuals ¡ – Based ¡upon ¡induc/ve ¡methods ¡applied ¡to ¡data ¡

  • Challenge: ¡ ¡convergence ¡of ¡three ¡types ¡of ¡models ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 11 ¡

slide-12
SLIDE 12

Mo/va/ng ¡Context: ¡FutureICT ¡Flagship ¡

  • SCIENCE: ¡The ¡ul/mate ¡goal ¡of ¡the ¡FuturICT ¡flagship ¡

project ¡is ¡to ¡understand ¡and ¡manage ¡complex, ¡global, ¡ socially ¡interac/ve ¡systems, ¡with ¡a ¡focus ¡on ¡ sustainability ¡and ¡resilience. ¡ ¡

  • POLICY: ¡FuturICT ¡will ¡build ¡a ¡Living ¡Earth ¡Plasorm, ¡a ¡

simula/on, ¡visualiza/on ¡and ¡par/cipa/on ¡plasorm ¡to ¡ support ¡decision-­‑making ¡of ¡policy-­‑makers, ¡business ¡ people ¡and ¡ci/zens. ¡ ¡

  • TECHNOLOGY: ¡Integra/ng ¡ICT, ¡Complexity ¡Science ¡and ¡

the ¡Social ¡Sciences ¡will ¡create ¡a ¡paradigm ¡shin, ¡ facilita/ng ¡a ¡symbio/c ¡co-­‑evolu/on ¡of ¡ICT ¡and ¡society. ¡ ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 12 ¡

slide-13
SLIDE 13

FuturICT ¡Vision ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 13 ¡

slide-14
SLIDE 14

A ¡s/mulus ¡from ¡FuturICT ¡vision: ¡ World-­‑of-­‑Modeling ¡Plasorm ¡

THEORY ¡

  • Classify ¡models ¡by ¡type ¡and ¡describe ¡each ¡type’s ¡

proper/es. ¡

– Define ¡(type-­‑aware) ¡strong ¡interoperability ¡within ¡ the ¡elements ¡of ¡the ¡same ¡class ¡ ¡ – Define ¡model ¡interoperability ¡among ¡models ¡of ¡ different ¡classes ¡

PRACTICE ¡

  • Build ¡language ¡abstrac/ons ¡and ¡sonware ¡

plasorms ¡suppor/ng ¡them ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 14 ¡

slide-15
SLIDE 15

Mega-­‑Modeling ¡Concept ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 15 ¡

slide-16
SLIDE 16

Mega-­‑Modeling ¡for ¡Scien/fic ¡Data ¡

  • General ¡goal: ¡Building ¡a ¡model ¡of ¡models ¡-­‑ ¡which ¡

describes ¡each ¡model’s ¡proper/es ¡and ¡interac/ons ¡-­‑ ¡ for ¡suppor/ng ¡opera/ons ¡upon ¡models, ¡such ¡as ¡ selec/on, ¡inspec/on, ¡composi/on, ¡subs/tu/on, ¡ reduc/on, ¡extension, ¡and ¡search. ¡

  • Keywords: ¡big ¡data, ¡data ¡pacerns, ¡management ¡of ¡

complexity, ¡uncertainty, ¡dynamic ¡composi/on, ¡ adapta/on. ¡

  • Chris ¡Welty ¡(Jeopardy): ¡“Increasingly ¡computa/onal ¡

tasks ¡require ¡inexact ¡solu/ons ¡that ¡combine ¡mul/ple ¡ methods ¡in ¡unpredictable ¡ways” ¡(WWW ¡2012, ¡Lyon) ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 16 ¡

slide-17
SLIDE 17

Which ¡scien/fic ¡computa/ons? ¡

  • Mathema=cal ¡model: ¡uses ¡mathema/cal ¡concepts ¡and ¡
  • language. ¡

– Analy=cal ¡Model: ¡mathema/cal ¡models ¡that ¡have ¡a ¡closed ¡ form ¡solu/on ¡ – Numerical ¡Model: ¡mathema/cal ¡models ¡that ¡are ¡solved ¡ by ¡numerical ¡approxima/on ¡

  • Sta=s=cal ¡model: ¡uses ¡sta/s/cal ¡concepts ¡and ¡

language, ¡e.g. ¡probability ¡distribu/on ¡func/ons. ¡

– Data ¡mining ¡model: ¡extracts ¡pacerns ¡from ¡large ¡data ¡sets. ¡ ¡

  • Simula=on ¡model: ¡predicts ¡the ¡expected ¡behavior ¡of ¡a ¡
  • system. ¡ ¡

– Agent-­‑based ¡model: ¡simulates ¡the ¡ac/ons ¡and ¡ interac/ons ¡of ¡autonomous ¡agents ¡(represen/ng ¡ individuals, ¡ ¡groups ¡or ¡organiza/ons) ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 17 ¡

slide-18
SLIDE 18

How ¡should ¡they ¡be ¡modeled? ¡

  • By ¡embedding ¡scien/fic ¡computa/ons ¡within ¡a ¡

conceptual/ontological ¡model ¡of ¡reality ¡that ¡ serves ¡the ¡purpose ¡of ¡defining ¡how ¡ computa/onal ¡models ¡share ¡and ¡exchange ¡ data, ¡with ¡a ¡clear ¡seman/cs ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 18 ¡

slide-19
SLIDE 19

The ¡root: ¡Mega-­‑Programming ¡

  • Wiederhold-­‑Wegner-­‑Ceri, ¡CACM, ¡Nov. ¡1992 ¡
  • Mega-­‑module: ¡ ¡

– Internally ¡homogeneous, ¡independently ¡maintained ¡ sonware ¡system. ¡ – Each ¡mega-­‑module ¡describes ¡its ¡externally ¡accessible ¡data ¡ structures ¡and ¡opera/ons. ¡

  • Megaprogramming ¡language ¡MPL ¡

– A ¡form ¡of ¡programming ¡in ¡the ¡large ¡

  • It ¡developed ¡into: ¡ ¡

– “mediators”, ¡“web ¡services”, ¡“Workflow ¡/ ¡business ¡ process ¡languages”, ¡“seman/c ¡web ¡services”, ¡“web ¡3.0” ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 19 ¡

slide-20
SLIDE 20

Useful ¡ideas ¡of ¡mega-­‑programming ¡

  • Every ¡mega-­‑module ¡exposes ¡a ¡data ¡model ¡and ¡

certain ¡opera/ons ¡to ¡a ¡mega-­‑program: ¡ ¡

– SUPPLY: ¡provide ¡data ¡in ¡model-­‑compa/ble ¡format ¡ – INVOKE: ¡ac/vate ¡computa/on ¡through ¡entry ¡points ¡ – EXTRACT: ¡provides ¡mega-­‑module ¡results ¡ – EXAMINE: ¡makes ¡access ¡to ¡internal ¡state ¡variables ¡ – ESTIMATE: ¡gets ¡informa/on ¡about ¡execu/on ¡ comple/on ¡ – LIMIT: ¡constraints ¡execu/on ¡/me ¡& ¡cost ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 20 ¡

slide-21
SLIDE 21

Previous ¡Uses ¡of ¡Mega-­‑Modeling ¡Term ¡

  • BEZEVIN-­‑VALDURIEZ: ¡“On ¡the ¡need ¡for ¡megamodels” ¡(2004), ¡

emphasis ¡on ¡meta-­‑models ¡and ¡model ¡registry. ¡

  • BEZIVIN: ¡“Model ¡of ¡models” ¡(2004), ¡a ¡model ¡of ¡rela/onships ¡

between ¡models. ¡

  • FAVRE: ¡“Meta-­‑model ¡of ¡model ¡transforma/ons” ¡(2005), ¡

models ¡linked ¡by ¡rela/onships ¡such ¡as ¡representa(onOf, ¡ conformsTo, ¡isTransformedIn. ¡

  • SEIBEL ¡et ¡al. ¡(2010) ¡“dynamic ¡hierarchical ¡data ¡models ¡for ¡

traceability” ¡– ¡emphasis ¡on ¡dependencies ¡between ¡model ¡ ar/facts. ¡ ¡

  • SEIBEL ¡et ¡al. ¡(2011) ¡mega-­‑models ¡for ¡“modeling ¡run/me ¡

behavior” ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 21 ¡

slide-22
SLIDE 22

Data-­‑driven ¡computa/on ¡paradigms ¡

  • Data ¡analysis: ¡ ¡

– process ¡of ¡extrac/ng ¡useful ¡informa/on ¡from ¡ input ¡data ¡by ¡using ¡any ¡kind ¡of ¡model ¡(including ¡ data ¡mining). ¡ ¡

  • Data ¡mining: ¡ ¡

– automa/c ¡or ¡semi-­‑automa/c ¡analysis ¡of ¡large ¡ data ¡sets ¡to ¡extract ¡previously ¡unknown ¡ interes(ng ¡paEerns ¡(emphasis ¡on ¡induc/on). ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 22 ¡

slide-23
SLIDE 23

On ¡the ¡meaning ¡of ¡pacern ¡

  • PaEern ¡type ¡= ¡context-­‑independent ¡data ¡format ¡for ¡

expressing ¡the ¡results ¡of ¡data ¡analysis ¡and ¡data ¡mining ¡ ac/vi/es ¡– ¡e.g. ¡trajectories ¡

  • PaEern ¡instance ¡= ¡context-­‑specific ¡data ¡item ¡compliant ¡to ¡

the ¡pacern ¡type ¡-­‑ ¡e.g. ¡my ¡trajectory ¡from ¡office ¡to ¡home ¡ today ¡

  • PaEern ¡= ¡context-­‑specific ¡popula/on ¡of ¡pacern ¡instances, ¡

featuring ¡an ¡intensional ¡descrip/on ¡ ¡(name, ¡pacern ¡type, ¡ qualifying ¡parameters, ¡including ¡quality ¡parameters) ¡and ¡an ¡ extension ¡(set ¡of ¡pacern ¡instances) ¡– ¡e.g. ¡the ¡cluster ¡of ¡ trajectories ¡leading ¡to ¡Linate ¡airport ¡through ¡the ¡highway ¡

  • PaEern ¡extrac=on ¡= ¡compu/ng ¡pacerns ¡in ¡a ¡given ¡context, ¡

by ¡first ¡evalua/ng ¡pacern ¡instances ¡and ¡then ¡abstrac/ng ¡ the ¡common ¡proper/es ¡that ¡collec/vely ¡describe ¡a ¡ popula/on ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 23 ¡

slide-24
SLIDE 24

The ¡authors’ ¡history ¡of ¡pacerns ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 24 ¡

slide-25
SLIDE 25

MineRule ¡Operator ¡(associa/on ¡rules) ¡ ¡

  • Data ¡type ¡

– Tabular ¡representa/on ¡of ¡associa/on ¡rules ¡(HEAD, ¡ BODY, ¡SUPPORT, ¡CONFIDENCE) ¡

  • Pacern ¡type ¡

– Associa/on ¡rule ¡HEAD ¡-­‑> ¡BODY, ¡featuring ¡sta/s/cal ¡ proper/es ¡of ¡confidence, ¡support ¡

  • Paradigm ¡

– Mine ¡Rule ¡Operator: ¡SQL-­‑based ¡language ¡for ¡ extrac/ng ¡associa/on ¡rules ¡and ¡puVng ¡them ¡into ¡a ¡ tabular ¡format, ¡with ¡built-­‑in ¡variables ¡HEAD, ¡BODY, ¡ SUPPORT, ¡CONFIDENCE ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 25 ¡

slide-26
SLIDE 26

Mine ¡Rule ¡Pacern ¡

MINE ¡RULE ¡PurchaseBasket ¡AS ¡ SELECT ¡DISTINCT ¡l..n ¡item ¡AS ¡BODY, ¡I..1 ¡item ¡AS ¡HEAD, ¡SUPPORT, ¡CONFIDENCE ¡ FROM ¡Purchase ¡ WHERE ¡DATE ¡BETWEEN ¡1-­‑1-­‑2011 ¡AND ¡1-­‑1-­‑2012 ¡ GROUP ¡BY ¡Transac/on ¡ HAVING ¡COUNT(*) ¡>= ¡3 ¡ EXTRACTING ¡RULES ¡WITH ¡SUPPORT: ¡0.2, ¡CONFIDENCE: ¡0.2 ¡ ¡ ¡

body head support confidence ski_pants jacket 0.2 0.25 hiking_boots jacket 0.25 0.3 ski_pants, hiking_boots jacket 0.5 0.3 col_shirt jacket 0.3 0.2 col_shirt ,hiking_boots jacket 0.5 0.2

Associations

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 26 ¡

slide-27
SLIDE 27

¡Stream ¡Reasoning ¡ ¡

  • Data ¡Types ¡

– RDF ¡Stream: ¡unbound ¡sequence ¡of ¡/mestamped ¡RDF ¡ triples ¡ – Window ¡(sliding ¡or ¡tumbling): ¡top ¡por/on ¡of ¡the ¡RDF ¡ stream ¡ – Time ¡stamp ¡func/on: ¡associated ¡to ¡triples ¡ ¡

  • Pacern ¡Type ¡

– Computa/on ¡of ¡a ¡new ¡stream ¡from ¡data ¡and ¡streams ¡

  • Paradigm ¡

– Addi/on ¡to ¡standard ¡Sparql ¡of ¡new ¡data ¡types ¡and ¡of ¡ con/nuous ¡seman/cs ¡(i.e., ¡streams ¡and ¡registered ¡ queries ¡over ¡streams) ¡ ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 27 ¡

slide-28
SLIDE 28

An Example of C-SPARQL Stream

ER 2012 - Stefano Ceri

28

Who ¡are ¡the ¡opinion ¡makers? ¡i.e., ¡the ¡users ¡who ¡are ¡likely ¡to ¡influence ¡the ¡ behaviour ¡of ¡other ¡users ¡who ¡follow ¡them ¡

REGISTER STREAM OpinionMakers COMPUTED EVERY 5m AS CONSTRUCT { ?opinionMaker sd:about ?resource } FROM STREAM <http://streamingsocialdata.org/interactions> [RANGE 30m STEP 5m] WHERE { ?opinionMaker ?opinion ?resource. ?follower sioc:follows ?opinionMaker. ?follower ?opinion ?resource. FILTER ( cs:timestamp(?follower) > cs:timestamp(?opinionMaker) && ?opinion != sd:accesses ) } HAVING ( COUNT(DISTINCT ?follower) > 3 )

slide-29
SLIDE 29

M-­‑Atlas ¡ ¡ Interoperability ¡for ¡trajectories ¡ ¡

  • Data ¡types ¡

– Points, ¡lines, ¡polygons, ¡trajectories ¡(moving ¡points) ¡

  • Pacerns ¡

– Clusters: ¡trajectories ¡of ¡points ¡with ¡the ¡same ¡label ¡ – Flows: ¡trajectories ¡moving ¡between ¡regions ¡ – Flocks: ¡spa/o-­‑temporal ¡coincidence ¡of ¡flows ¡

  • Paradigm ¡ ¡

– SQL-­‑like ¡language ¡for ¡building ¡pacerns ¡and ¡for ¡ querying, ¡transforming, ¡composing ¡and ¡visualizing ¡

  • them. ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 29 ¡

slide-30
SLIDE 30

M-­‑Atlas ¡queries ¡for ¡social ¡mining ¡

How ¡do ¡people ¡leave ¡Milan’s ¡city ¡center ¡toward ¡suburban ¡areas? ¡

CREATE ¡ ¡MODEL ¡ ¡MilanODMatrix ¡ ¡AS ¡ ¡MINE ¡ ¡ODMATRIX ¡ FROM ¡ ¡(SELECT ¡ ¡t.id, ¡ ¡t.trajectory ¡ ¡FROM ¡ ¡TrajectoryTable ¡ ¡t), ¡ (SELECT ¡ ¡orig.id, ¡ ¡orig.area ¡ ¡FROM ¡ ¡MunicipalityTable ¡ ¡orig), ¡ (SELECT ¡ ¡dest.id, ¡ ¡dest.area ¡ ¡FROM ¡ ¡MunicipalityTable ¡ ¡dest) ¡ ¡ ¡ ¡ CREATE ¡ ¡RELATION ¡ ¡CenterToNESuburbTrajectories ¡ ¡USING ¡ ¡ENTAIL ¡ FROM ¡ ¡(SELECT ¡ ¡t.id, ¡ ¡t.trajectory ¡ ¡FROM ¡ ¡TrajectoryTable ¡ ¡t, ¡ ¡MilanODMatrix ¡ ¡m ¡ WHERE ¡ ¡m.origin ¡ ¡= ¡ ¡Milan ¡ ¡AND ¡ m.des/na/on ¡ ¡IN ¡ ¡(Monza, ¡ ¡..., ¡ ¡Brugherio)) ¡ ¡ ¡ ¡ CREATE ¡ ¡MODEL ¡ ¡ClusteringTable ¡ ¡AS ¡ ¡MINE ¡ ¡T-­‑CLUSTERING ¡ FROM ¡ ¡(Select ¡ ¡t.id, ¡ ¡t.trajectory ¡ ¡from ¡ ¡CenterToNESuburbTrajectories ¡ ¡t) ¡ SET ¡ ¡T-­‑CLUSTERING.FUNCTION ¡ ¡= ¡ ¡ROUTE_SIMILARITY ¡ ¡AND ¡ T-­‑CLUSTERING.EPS ¡ ¡= ¡ ¡400 ¡ ¡AND ¡ T-­‑CLUSTERING.MIN_PTS ¡ ¡= ¡ ¡5 ¡

30 ¡

slide-31
SLIDE 31

Search ¡Compu/ng ¡ ¡

  • Data ¡type: ¡

– Ranked ¡data ¡services ¡with ¡input/output ¡parameters ¡

  • Pacern ¡type: ¡

– Service ¡combina/ons ¡obtained ¡by ¡compu/ng ¡top-­‑k ¡ join ¡queries ¡

  • Paradigm: ¡

– SeCoQL, ¡a ¡query ¡language ¡and ¡protocol ¡suppor/ng ¡ ranked ¡queries ¡on ¡services ¡and ¡ ¡exploratory ¡search ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 31 ¡

slide-32
SLIDE 32

Search ¡Compu/ng ¡Queries ¡

DEFINE ¡QUERY ¡NightPlan($X:String, ¡$Y: ¡string, ¡$Z:Integer ¡, ¡$U:String, ¡$V:String) ¡AS ¡ ¡SELECT ¡M.*, ¡T.*, ¡R.*, ¡TotalPrice=T.Price ¡+ ¡R.AvgPrice ¡ ¡FROM ¡((Movie ¡(iGenre: ¡$X, ¡iCountry: ¡Y, ¡iYear: ¡$Z) ¡AS ¡M ¡USING ¡IMDB_MOVIES, ¡ ¡JOIN ¡Theatre ¡(iAddress: ¡$U, ¡iCity: ¡$V, ¡iCountry: ¡$Y) ¡AS ¡T ¡USING ¡GOOGLE_DISPLAYING ¡ON ¡M.Title=T.Title) ¡ ¡JOIN ¡Restaurant ¡(iCountry: ¡$Y, ¡iCategory: ¡"Italian ¡Restaurant") ¡AS ¡R ¡USING ¡YQL_LOCAL ¡ON ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡T.address=R.Address ¡AND ¡T.city=R.City) ¡ ¡WHERE ¡R.Ra/ng>3 ¡ ¡RANK ¡BY ¡(R=0.4, ¡T=0.3, ¡M=0.3) ¡ ¡LIMIT ¡20 ¡TUPLES ¡AND ¡50 ¡CALLS ¡

32 ¡

slide-33
SLIDE 33

CrowdSearcher ¡

  • Data ¡type: ¡ ¡

– List ¡of ¡search ¡items ¡with ¡a ¡regular ¡schema ¡(possibly ¡ produced ¡by ¡a ¡conven/onal ¡search ¡system) ¡

  • Pacern ¡types: ¡ ¡

– Annota/ons ¡on ¡search ¡items ¡(like, ¡dislike, ¡ recommend, ¡tag, ¡score, ¡order, ¡group, ¡top, ¡insert ¡ delete, ¡correct, ¡connect) ¡

  • Paradigm: ¡ ¡

– Use ¡of ¡crowd ¡for ¡adding ¡pacerns ¡to ¡search ¡items ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 33 ¡

slide-34
SLIDE 34

CrowdSearcher ¡Model ¡

  • Data ¡type: ¡collec/on ¡of ¡tuples ¡
  • Query ¡type: ¡Like, ¡Add, ¡Sort ¡/ ¡Rank, ¡Comment, ¡Modify ¡

¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 34 ¡

slide-35
SLIDE 35

Example ¡of ¡crowdsourcing ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 35 ¡

slide-36
SLIDE 36

Crowdsearcing ¡results ¡

slide-37
SLIDE 37

Common ¡aspects ¡of ¡five ¡pacerns ¡

  • High-­‑level ¡data ¡representa/on ¡through ¡

“tables” ¡

  • High-­‑level ¡data ¡manipula/on ¡language ¡as ¡an ¡

extension ¡of ¡major ¡rela/onal ¡languages, ¡one ¡

  • f: ¡SQL, ¡Sparql, ¡Datalog+-­‑ ¡ ¡
  • Recipe: ¡ ¡

– Expose ¡a ¡tabular ¡representa/on ¡ – Use ¡a ¡rela/onal ¡language ¡extension ¡for ¡ computa/on ¡& ¡composi/on ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 37 ¡

slide-38
SLIDE 38

(just ¡a ¡bit ¡more) ¡Systema/c ¡view ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 38 ¡

slide-39
SLIDE 39

Pacerns ¡for ¡classifica/on ¡& ¡clustering ¡

  • CLASSIFICATION. ¡The ¡computa/on ¡extracts ¡classes ¡from ¡a ¡

popula/on, ¡each ¡class ¡has ¡a ¡name ¡and ¡sta/s/cs ¡– ¡from ¡ simple ¡frequencies ¡up. ¡ ¡ ¡Data: ¡ ¡ ¡Popula/on(Item) ¡ ¡Pacern: ¡ ¡Class(Name, ¡AggrStats) ¡

  • CLUSTERING. ¡The ¡computa/on ¡extracts ¡clusters ¡from ¡a ¡

collec/on, ¡each ¡cluster ¡has ¡a ¡name, ¡an ¡extent ¡(consis/ng ¡of ¡ its ¡elements), ¡a ¡centroid ¡element, ¡and ¡sta/s/cs ¡– ¡from ¡ cardinali/es ¡up. ¡ ¡Data: ¡ ¡Collec/on(Item) ¡ ¡Pacern: ¡Cluster(Name, ¡Extent: ¡[Item], ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡CentroidItem, ¡AggrStats) ¡ ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 39 ¡

slide-40
SLIDE 40

Pacerns ¡for ¡Streams ¡

  • STREAMING. ¡Stream ¡compu/ng ¡aggregates ¡data ¡of ¡a ¡given ¡

type ¡from ¡a ¡stream; ¡it ¡associates ¡each ¡type ¡with ¡a ¡valid ¡ /me ¡interval, ¡typically ¡the ¡most ¡recent, ¡and ¡aggregate ¡ proper/es. ¡ ¡Data: ¡ ¡Stream(TimeStamp, ¡Item) ¡ ¡Pacern: ¡StreamStats(ItemType, ¡TimeInterval, ¡AggrStats) ¡ ¡

  • STREAMING ¡WITH ¡WINDOWS. ¡The ¡stream ¡is ¡subdivided ¡in ¡

windows, ¡stream ¡compu/ng ¡associates ¡a ¡given ¡type ¡and ¡ window ¡with ¡aggregate ¡proper/es. ¡ ¡Data: ¡ ¡Stream(Window, ¡StartTimeStamp, ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡EndTimeStamp, ¡Content:[Item]) ¡ ¡Pacern: ¡ ¡WindowedStats(Window, ¡ItemType, ¡AggrStats) ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 40 ¡

slide-41
SLIDE 41

Pacerns ¡for ¡Associa/on ¡Rules ¡

  • ASSOCIATION ¡RULES. ¡They ¡solve ¡the ¡basket ¡analysis ¡problem; ¡

each ¡associa/on ¡rule ¡has ¡an ¡head ¡and ¡a ¡body ¡describing ¡item ¡ sets, ¡and ¡then ¡sta/s/cal ¡proper/es ¡of ¡support ¡and ¡confidence ¡ defining ¡the ¡rule’s ¡interest. ¡ ¡Data ¡ ¡Basket(Tid,Item) ¡ Pacern: ¡ ¡Rule(Head:[Item], ¡Body:[Item], ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Support, ¡Confidence) ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 41 ¡

slide-42
SLIDE 42

Pacerns ¡for ¡Trees ¡

  • TREE. ¡Classical ¡computa/ons ¡provide ¡the ¡descendants ¡
  • r ¡ancestors ¡of ¡a ¡given ¡node, ¡or ¡classify ¡a ¡new ¡node ¡

rela/ve ¡to ¡a ¡taxonomy, ¡by ¡returning ¡ ¡the ¡path ¡from ¡the ¡ root ¡to ¡the ¡most ¡similar ¡node ¡ ¡Data: ¡ ¡Tree ¡(Item, ¡Children: ¡[Item]) ¡ ¡Pacern: ¡Descendants(Item, ¡To: ¡[Item]) ¡ ¡ ¡ ¡ ¡Ancestors(Item, ¡From: ¡[Item]) ¡ ¡ ¡ ¡ ¡Classify ¡(Item, ¡Path[Item]) ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 42 ¡

slide-43
SLIDE 43

Pacerns ¡for ¡Graphs ¡

  • GRAPH. ¡Classical ¡computa/ons ¡provide ¡a ¡decomposi/on ¡of ¡

a ¡graph ¡into ¡components ¡or ¡find ¡the ¡“friend” ¡nodes ¡which ¡ are ¡at ¡a ¡given ¡“nearness” ¡from ¡a ¡given ¡node. ¡ ¡Data: ¡ ¡Graph(FromItem, ¡ToItem) ¡ ¡Pacern: ¡Components(Name, ¡Components: ¡[Node]) ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Friends(FromItem, ¡NearnessLevel, ¡To: ¡[Item]) ¡ ¡

  • DISTANCE-­‑GRAPH. ¡Shortest ¡path ¡between ¡any ¡two ¡items ¡

expressed ¡as ¡a ¡sequence ¡of ¡nodes ¡connec/ng ¡them ¡and ¡a ¡

  • totaldistance. ¡

¡Data: ¡ ¡ ¡D-­‑Graph(FromItem, ¡ToItem, ¡Distance) ¡ ¡Pacern: ¡ ¡ShortestPath(OriginItem, ¡Des/na/onItem, ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Path: ¡[Item], ¡TotalDistance) ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 43 ¡

slide-44
SLIDE 44

Pacerns ¡for ¡Moving ¡Points ¡

  • MOVING ¡POINTS. ¡Reconstruc/on ¡of ¡the ¡trajectories ¡as ¡sequences ¡of ¡

loca/ons ¡which ¡are ¡traversed ¡by ¡the ¡same ¡item. ¡ ¡ ¡Data: ¡ ¡ ¡Point(Item, ¡Time, ¡Loca/on) ¡ ¡ ¡Pacern: ¡ ¡Trajectory(Item, ¡FromLoca/on, ¡ToLoca/on, ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Steps:[Loca/on], ¡StepCount: ¡Number) ¡ ¡

  • FLOCKS. ¡Combina/on ¡of ¡trajectories ¡together ¡to ¡recognize ¡flocks, ¡i.e. ¡

simultaneous ¡movements ¡of ¡groups ¡of ¡individuals ¡across ¡regions. ¡ ¡ ¡Data: ¡ ¡Trajectory(Item, ¡FromLoca/on, ¡ToLoca/on, ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Steps:[Loca/on], ¡StepCount: ¡Number) ¡ ¡Pacern: ¡ ¡Flock(FlockName, ¡FromRegion, ¡ToRegion, ¡TimeInterval, ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Objects: ¡[Items], ¡ObjectCount: ¡Number) ¡

44 ¡

slide-45
SLIDE 45

(eventually) ¡Mega-­‑modules ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 45 ¡

slide-46
SLIDE 46

Mega-­‑modules ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 46 ¡

slide-47
SLIDE 47

Format ¡

  • Data ¡prepara/on ¡

– Purpose: ¡assembling ¡input ¡objects ¡-­‑-­‑-­‑ ¡typically ¡applica/on-­‑specific ¡ – Techniques: ¡abstrac/on, ¡seman/c ¡enrichment, ¡noise ¡reduc/on ¡ – Computa/on ¡complexity: ¡low ¡(a ¡data ¡scan ¡or ¡sort) ¡

  • Data ¡analysis ¡

– Purpose: ¡performing ¡the ¡core ¡scien/fic ¡processing, ¡compu/ng ¡output ¡

  • bjects ¡-­‑-­‑-­‑ ¡applica/on-­‑independent ¡

– Techniques: ¡computa/onal ¡models ¡ ¡ – Computa/on ¡complexity: ¡as ¡required ¡(par//oning ¡and ¡streaming ¡ recommended) ¡

  • Data ¡evalua/on ¡

– Purpose: ¡extrac/ng ¡& ¡presen/ng ¡results ¡-­‑-­‑-­‑ ¡typically ¡applica/on-­‑specific ¡ – Techniques: ¡quality ¡assessment, ¡filtering, ¡significance ¡measuring, ¡ diversifica/on, ¡ranking ¡ – Computa/on ¡complexity: ¡as ¡required ¡(object ¡transforma/ons ¡to ¡fit ¡ needs) ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 47 ¡

slide-48
SLIDE 48

Inspec/ons ¡and ¡controls ¡

  • Megamodule ¡inspec/on ¡

– Aner ¡prepara/on: ¡view ¡of ¡input ¡objects ¡ – Aner ¡execu/on: ¡view ¡of ¡output ¡objects ¡

  • Megamodule ¡controls ¡

– Based ¡upon ¡inspec/on ¡ – May ¡alter ¡behavior, ¡suspend, ¡resume, ¡terminate ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 48 ¡

slide-49
SLIDE 49

Ra/onale ¡

  • Data ¡analysis: ¡reusable ¡transforma/on ¡of ¡

input ¡objects ¡into ¡output ¡objects ¡

– Classical ¡mathema/cal/sta/s/cal ¡algorithms ¡ compute ¡output ¡data ¡ ¡ – Simula/on ¡algorithms ¡predict ¡output ¡data ¡ ¡ – Data ¡mining ¡methods ¡induce ¡output ¡data ¡ ¡

  • Applica/on-­‑independent ¡input ¡and ¡output ¡
  • bjects ¡compliant ¡with ¡pacern ¡types ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 49 ¡

slide-50
SLIDE 50

Rela/onal ¡View ¡of ¡Mega-­‑Modules ¡

  • Input/output ¡objects ¡for ¡data ¡analysis ¡in ¡
  • bject-­‑rela/onal ¡format? ¡

– Poten/al ¡for ¡high-­‑level ¡declara/ve ¡data ¡analysis ¡ descrip/on ¡using ¡extended ¡rela/onal ¡query ¡ language ¡ ¡ – Easing ¡inspec/on ¡and ¡control ¡ – Easing ¡data ¡analysis ¡reuse ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 50 ¡

slide-51
SLIDE 51

Example: ¡M-­‑Atlas ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 51 ¡

slide-52
SLIDE 52

Running ¡Example ¡

  • Data ¡prepara/on ¡

– GPS ¡observa/ons ¡of ¡the ¡same ¡individual ¡are ¡ assembled ¡into ¡a ¡trajectory ¡

  • Data ¡analysis ¡

– Trajectories ¡are ¡assembled ¡and ¡reported ¡as ¡ simultaneous ¡movements ¡of ¡groups ¡of ¡people ¡(flocks) ¡

  • Data ¡evalua/on ¡

– Flocks ¡which ¡are ¡most ¡relevant ¡(above ¡threshold) ¡are ¡ reported ¡upon ¡a ¡map ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 52 ¡

slide-53
SLIDE 53

Composi/on ¡Abstrac/ons ¡

  • Used ¡for ¡assembling ¡mega-­‑modules ¡into ¡

higher ¡order ¡computa/ons ¡

  • If ¡appropriately ¡chosen, ¡are ¡key ¡to ¡mega-­‑

module ¡reuse ¡ ¡

  • Ideal ¡design ¡process ¡= ¡top-­‑down, ¡recursive ¡

applica/on ¡of ¡(de)composi/on ¡abstrac/ons ¡up ¡ to ¡finding ¡the ¡appropriate ¡mega-­‑modules ¡ within ¡a ¡repository ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 53 ¡

slide-54
SLIDE 54

Composi/on ¡Abstrac/ons ¡(so ¡far) ¡

  • General-­‑purpose ¡

– Pipeline ¡ – Parallel/Itera/ve ¡

  • Recurrent ¡

– What-­‑if ¡control ¡ – Drin ¡control ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 54 ¡

slide-55
SLIDE 55

Pipeline ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 55 ¡

slide-56
SLIDE 56

Parallel/Itera/ve ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 56 ¡

slide-57
SLIDE 57

Map-­‑Reduce ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 57 ¡

slide-58
SLIDE 58

What-­‑If ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 58 ¡

slide-59
SLIDE 59

Drin ¡Control ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 59 ¡

slide-60
SLIDE 60

Graph ¡Decomposi/on ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 60 ¡

slide-61
SLIDE 61

Summary ¡of ¡ICT ¡Requirements ¡ ¡ for ¡Scien/fic ¡Big ¡Data ¡Management ¡

  • In ¡the ¡“small” ¡(modules, ¡each ¡processing ¡terabytes ¡of ¡data) ¡

– Iden/fy ¡reusable ¡data ¡formats ¡as ¡pacern ¡types ¡ ¡ – Iden/fy ¡reusable ¡computa/ons ¡as ¡data ¡analysis ¡models ¡ – Iden/fy ¡appropriate ¡data ¡transforma/ons ¡for ¡data ¡prepara/on ¡ – Iden/fy ¡appropriate ¡quality ¡assessments ¡for ¡data ¡evalua/on ¡

  • In ¡the ¡“large” ¡(composing ¡mega-­‑modules) ¡

– Foster ¡composi/on ¡through ¡appropriate ¡composi/on ¡ abstrac/ons ¡+ ¡infrastructures ¡ – Allow ¡for ¡assessing ¡proper/es ¡of ¡the ¡mega-­‑module ¡composi/on ¡

  • Correctness, ¡reliability, ¡etc. ¡

– Allow ¡for ¡inspec/on ¡of ¡mega-­‑modules ¡during ¡processing ¡ ¡

  • Assessing ¡current ¡state, ¡intermediate ¡results, ¡etc. ¡

– Allow ¡for ¡dynamic ¡reconfigura/on ¡of ¡each ¡mega-­‑module ¡

  • Scale ¡up ¡and ¡down ¡in ¡response ¡to ¡the ¡load, ¡recover ¡a ¡computa/on ¡

aner ¡a ¡fault, ¡etc. ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 61 ¡

slide-62
SLIDE 62

Examples ¡of ¡applica/ons ¡through ¡ composi/ons ¡of ¡MegaModules ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 62 ¡

slide-63
SLIDE 63

BOTTARI: ¡restaurant ¡recommender ¡based ¡

  • n ¡geo-­‑aware ¡social ¡media ¡analy/cs ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 63 ¡

slide-64
SLIDE 64

BOTTARI ¡as ¡a ¡Mega-­‑Model ¡Composi/on ¡

  • Explicit ¡module ¡structure ¡with ¡input-­‑output ¡

rela/onships ¡

Inputs BOTTARI

Temporal Model Geo-Spatial Model Predictive Model Social Media Crawler and Miner

Outputs

64 ¡

slide-65
SLIDE 65

BOTTARI ¡Models ¡ ¡

  • Geo-­‑spa(al ¡model ¡

– Input: ¡User ¡posi/on, ¡seman/c ¡+ ¡geo-­‑spa/al ¡descrip/on ¡of ¡restaurants ¡ – Output: ¡a ¡list ¡of ¡matching ¡restaurants ¡ranked ¡by ¡distance ¡from ¡the ¡ user ¡

  • Temporal ¡model ¡

– Input: ¡stream ¡of ¡liked ¡restaurants ¡ – Output: ¡ranking ¡of ¡restaurants ¡in ¡“like” ¡order ¡in ¡the ¡last ¡week/month/ quarter ¡

  • Predic(ve ¡model ¡

– Input: ¡materialized ¡stream ¡of ¡liked ¡restaurants ¡ – Output: ¡predic/on ¡of ¡the ¡restaurant ¡which ¡will ¡be ¡chosen ¡by ¡the ¡user ¡ ¡ as ¡best-­‑fit ¡

  • Social ¡Media ¡Crawler ¡and ¡Miner ¡

– Input: ¡stream ¡of ¡tweets ¡of ¡people ¡about ¡ ¡restaurants ¡ ¡ – Output: ¡stream ¡of ¡most ¡liked ¡restaurant ¡ ¡aner ¡named ¡en/ty ¡ recogni/on ¡ ¡and ¡sen/ment ¡mining ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 65 ¡

slide-66
SLIDE 66

Mega-­‑modulariza/on ¡of ¡Bocari ¡

66 ¡

slide-67
SLIDE 67

Mobility ¡analysis ¡system ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 67 ¡

slide-68
SLIDE 68

Mobility ¡Manager ¡Service ¡ How ¡do ¡driver ¡get ¡to ¡Linate? ¡

GPS ¡Tracks ¡ ¡ Trajectories ¡that ¡ entails ¡the ¡clusters ¡ whose ¡des/na/on ¡is ¡ Linate ¡ Two ¡alterna/ve ¡routes ¡ to ¡Linate ¡Airport ¡ ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 68 ¡

slide-69
SLIDE 69

End-­‑User ¡Service ¡ User’s ¡Mobility ¡Profiling ¡for ¡Car ¡Pooling ¡

69 ¡

Home ¡= ¡most ¡frequent ¡loca/on ¡ Work ¡= ¡second ¡most ¡frequent ¡loca/on ¡

User’s ¡GPS ¡Tracks ¡ ¡ Trajectories ¡that ¡ entail ¡the ¡cluster ¡ “Home-­‑Work” ¡ Trajectories ¡that ¡ entail ¡the ¡cluster ¡ “Work-­‑Home” ¡ Spa/o-­‑Temporal ¡ User’s ¡mobility ¡profile ¡

slide-70
SLIDE 70

Mega-­‑modulariza/on ¡of ¡ ¡ Trajectory ¡Clustering ¡

Input GPS data Clustered Trajectories Cluster Statistics Geography, Zoning and Road Network TRAJECTORY

RECONSTRUCTION

& SELECTION

CLUSTER

EVALUATION

TRAJECTORY CLUSTERING

70 ¡

slide-71
SLIDE 71

Mobility ¡Mng. ¡ Service ¡ End-­‑user ¡ ¡ Service ¡ ¡ ¡

Trajectory ¡Clustering ¡ ¡ Megamodule ¡Usages ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 71 ¡

slide-72
SLIDE 72

Mega-­‑modulariza/on ¡for ¡ ¡ Mobility ¡Manager ¡Service ¡

Trajectory Clusters

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 72 ¡

All Users’ Trajectories

Spatio-temporal Distance function

TRAJECTORY CLUSTERING

Routes to Linate

ROUTES IDENTIFICATION

Destination e.g., Linate Spatio-Temporal Observations

Semantic of a Stop

DATA CLEANING TRAJECTORIES

FILTERING

TRAJECTORIES

RECONSTRUCTION

slide-73
SLIDE 73

Mega-­‑modulariza/on ¡of ¡ ¡ Trajectory ¡Clustering ¡for ¡Car ¡Pooling ¡

User’s Mobility Profile

Spatio-Temporal Thresholds

CLUSTERING DECOMPOSITIO

N

PROFILE AGGREGATION

USER MOBILITY PROFILE COMPUTATION

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 73 ¡

Spatio-temporal Distance function

TRAJECTORY CLUSTERING

Semantic of a Stop

DATA CLEANING TRAJECTORIES

FILTERING

TRAJECTORIES

RECONSTRUCTION

Spatio-Temporal Observations Single User’s Trajectories Single User’s Trajectory Clusters

slide-74
SLIDE 74

Research ¡ques/ons ¡& ¡agenda ¡

  • Express ¡a ¡large ¡collec/on ¡of ¡pacerns ¡through ¡suitable ¡

(rela/onal) ¡language ¡extensions ¡ ¡ ¡

  • Build ¡an ¡ontology ¡of ¡mega-­‑models, ¡support ¡reasoning ¡upon ¡

the ¡ontology ¡for ¡deriving ¡proper/es ¡of ¡mega-­‑models ¡

  • Define/classify ¡composi/on ¡abstrac/ons ¡and ¡define ¡the ¡

mega-­‑modeling ¡composi/on ¡language ¡ ¡

  • Consider ¡research ¡problems ¡related ¡to: ¡

– Op/miza/on ¡(inter ¡vs ¡intra) ¡ – Orchestra/on ¡ – Inspec/on ¡ – Adapta/on ¡

  • Build ¡the ¡sonware ¡engineering ¡tools ¡and ¡environment ¡for ¡

building ¡and ¡composing ¡mega-­‑models ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 74 ¡

slide-75
SLIDE 75

Summary ¡of ¡the ¡talk ¡

  • Mo/va/ons ¡

– Examples ¡of ¡big ¡scien/fic ¡data, ¡FuturICT ¡ – Typical ¡research ¡ques/ons ¡

  • Why ¡MegaModelling? ¡

– History ¡of ¡the ¡term ¡ – What ¡should ¡be ¡solved ¡

  • What ¡is ¡a ¡pacern ¡

– Applica/on-­‑independent ¡, ¡tabular, ¡composable ¡

  • What ¡is ¡a ¡mega-­‑module ¡ ¡

– Ingredients: ¡Prepara/on ¡/ ¡Analysis ¡/ ¡Evalua/on ¡ ¡ – Composi/on ¡abstrac/ons ¡

  • Examples ¡of ¡mega-­‑modulariza/ons ¡
  • To-­‑do ¡list ¡

ER ¡2012 ¡-­‑ ¡Stefano ¡Ceri ¡ 75 ¡