SlideShare a Scribd company logo
An Open Proximity Model for
Service Discovery in
Pervasive Computing
               Victor Ramiro Cid

                 Profesor Guía:
                   Éric Tanter

            Miembros de la Comisión:
                 Johan Fabry
               Patricio Inostroza
               Luciano Ahumada




                                       1
Contents

1. Motivation and Context

2. Open Proximity Model

3. Open Proximity Model in AmbientTalk

4. Conclusions and Perspectives




                                         2

                                             2
Motivation and Context




                         3

                             3
Pervasive Computing




                      4

                          4
Pervasive Computing




                      5

                          5
Service Discovery




                    6

                        6
Service Discovery




                    Advertising




                                  6

                                      6
Service Discovery




                    Advertising

   Querying




                                  6

                                      6
Service Discovery




                    Advertising

   Querying




                                  6

                                      6
Service Discovery




                    Advertising

   Querying




                                  6

                                      6
Service Discovery - Client




                             7

                                 7
Service Discovery - Client




                             7

                                 7
Service Discovery - Client




   What about
   the User?


                             7

                                 7
Service Discovery - Client


                                 User
                             Overwhelmed




     We want
      calm!


                                           7

                                               7
Service Discovery - Service




                              8

                                  8
Service Discovery - Service




                              8

                                  8
Service Discovery - Service




                               What about
                              the Service?
                                             8

                                                 8
Service Discovery - Service


                                  Service
                                Overwhelmed




                              We want
                               calm!
                                              8

                                                  8
Motivation




             9

                 9
Motivation

      Designers should divide the work into physical environment with
         boundaries that demarcate their content. [Kindberg 2001]


     The density of interactions with any particular entity falls off as one
                moves away from it. [Satyanarayanan 2001]


          “Scalability is a critical problem in pervasive computing.”
                             [Satyanarayanan 2001]




                                                                               9

                                                                                   9
Motivation

      Designers should divide the work into physical environment with
         boundaries that demarcate their content. [Kindberg 2001]


     The density of interactions with any particular entity falls off as one
                moves away from it. [Satyanarayanan 2001]


          “Scalability is a critical problem in pervasive computing.”

+                            [Satyanarayanan 2001]




             An Open Proximity Model for
             Scoping Service Discovery in
                Pervasive Computing
                                                                               9

                                                                                   9
Contribution
               Distributed
                Systems




                              Software
                             Engineering
Networking

                                      10

                                           10
Contribution
               Distributed
                Systems




                              Software
                             Engineering
Networking

                                      10

                                           10
Open Proximity Model




                       11

                            11
Proximity as a Concept

     Proximity is defined as the state, quality,
       sense, or fact of being near or next




                                                  12

                                                       12
Proximity as a Concept

     Proximity is defined as the state, quality,
       sense, or fact of being near or next


   • Taxonomy

     • Physical and Abstract

     • Objective and Subjective




                                                  12

                                                       12
Proximity as a Concept

     Proximity is defined as the state, quality,
       sense, or fact of being near or next


   • Taxonomy

     • Physical and Abstract

     • Objective and Subjective




                                                  12

                                                       12
Proximity as a Concept

     Proximity is defined as the state, quality,
       sense, or fact of being near or next


   • Taxonomy

     • Physical and Abstract

     • Objective and Subjective




                                                  12

                                                       12
Proximity as a Concept

     Proximity is defined as the state, quality,
       sense, or fact of being near or next


   • Taxonomy

     • Physical and Abstract

     • Objective and Subjective




                                                  12

                                                       12
Proximity relationships (PR)

• Open and Idiosyncratic

• Composable

• Distributed Evaluation

• Dynamic




                               13

                                    13
Proximity relationships (PR)

• Open and Idiosyncratic

• Composable

• Distributed Evaluation

• Dynamic




                               13

                                    13
Proximity relationships (PR)

• Open and Idiosyncratic

• Composable

• Distributed Evaluation

• Dynamic




                               13

                                    13
Proximity relationships (PR)

• Open and Idiosyncratic

• Composable

• Distributed Evaluation

• Dynamic




                               13

                                    13
Proximity relationships (PR)

• Open and Idiosyncratic

• Composable

• Distributed Evaluation

• Dynamic




                               13

                                    13
Open Proximity Model in a nutshell




                                     14

                                          14
Open Proximity Model in a nutshell




                                     14

                                          14
Open Proximity Model in a nutshell




                                     14

                                          14
Open Proximity Model in a nutshell
  Proximity: Accept all incoming jobs from DCC in the 3rd floor




                                                                 14

                                                                      14
Open Proximity Model in a nutshell
  Proximity: Accept all incoming jobs from DCC in the 3rd floor




                                                                 14

                                                                      14
Open Proximity Model in a nutshell
  Proximity: Accept all incoming jobs from DCC in the 3rd floor




                                                                 14

                                                                      14
Open Proximity Model in a nutshell
  Proximity: Accept all incoming jobs from DCC in the 3rd floor




                                                  DCC PDA




                                                                 14

                                                                      14
Open Proximity Model in a nutshell
  Proximity: Accept all incoming jobs from DCC in the 3rd floor




                                                  DCC PDA




                                                                 14

                                                                      14
Open Proximity Model in a nutshell




                      Print Job




                                     14

                                          14
Model Components




                   15

                        15
Model Components
  Object




                   15

                        15
Model Components
  Object      Properties




                           15

                                15
Model Components
  Object      Properties   Proximity Function


                                   ƒ




                                                15

                                                     15
Model Components
  Object       Properties       Proximity Function


           +                +           ƒ




                                                     15

                                                          15
Model Components
  Object       Properties       Proximity Function


           +                +           ƒ




                                                     15

                                                          15
Basic evaluation strategy




                        Multicast




                                    16

                                         16
Basic evaluation strategy




                        Multicast




                                    16

                                         16
Basic evaluation strategy




                        Multicast




                                    16

                                         16
Basic evaluation strategy




                        Multicast




                                    16

                                         16
Basic evaluation strategy




                        Multicast




                                    16

                                         16
Basic evaluation strategy




                        Multicast




                                    16

                                         16
Basic evaluation strategy




                        Multicast




                                    16

                                         16
Basic evaluation strategy




                        Multicast




                                    16

                                         16
Basic evaluation strategy




                        Multicast




                                    16

                                         16
Selective evaluation strategy




                        Multicast




                                    17

                                         17
Selective evaluation strategy




                        Multicast




                                    17

                                         17
Selective evaluation strategy




                        Multicast




                                    17

                                         17
Selective evaluation strategy




                        Multicast




                                    17

                                         17
Selective evaluation strategy




                        Multicast




                                    17

                                         17
Selective evaluation strategy




                        Multicast




                                    17

                                         17
Selective evaluation strategy




                        Multicast




                                    17

                                         17
Staged evaluation strategy




                             18

                                  18
Staged evaluation strategy




                             18

                                  18
Staged evaluation strategy




                             18

                                  18
Staged evaluation strategy




                             18

                                  18
Staged evaluation strategy




                             18

                                  18
Staged evaluation strategy




                             18

                                  18
Composite Proximity

• Compose functions as
  boolean formulas                (f1 && f2 ) || (f3 && (f4 || f5 ))
• Tree composite                                  OR

   • Internar nodes: Operations
                                       AND                  AND
   • Leaves: simpler functions

• Short-circuit evaluation        f1         f2        f3         OR

• Distributed evaluation
                                                            f4         f5
• Must be done by the
  programmer

                                                                       19

                                                                            19
Open Proximity Model in AmbientTalk




                                      20

                                           20
AmbientTalk                  AmbientTalk: the project
• Distributed object-oriented language (Prototype-based)


                               •
• Event-driven concurrency based on in 2005[Agha86]
                            Started actors

•                              • Small team: 3-6 peoplefutures
    Asynchronous message sends, with non-blocking
                               • Interpreter
•
                               • Pure Java implementation
    Built-in engine for service discovery of remote objects

•   Extensible language        • Runs on J2ME/CDC phones
    • Powerful reflective and meta-programming layer
                                                     8

    • Block closures, keyworded messages, interface with JVM



                                                                 21

                                                                      21
Service Discovery in AmbientTalk

           def hp := Printer.new(...);
           export: hp as: PrinterServer;




   Querying
                                           Advertising


           when: PrinterServer discovered: {|printer|
             printer<-addJob(job);
           }


                                                         22

                                                              22
Extended Service Discovery in AmbientTalk

          def hp := Printer.new(...);
          export: hp with: s_props in:
          euclidean(s_props,radius);




   Querying
                                         Advertising


           when: PrinterServer discovered: {|printer|
             printer<-addJob(job);
           }with: c_props in: euclidean(c_props,radius);


                                                           23

                                                                23
Properties Syntax

• AT objects with new semantics
  (extended Mirror)

                                  def props := properties:{
• They can capture variables
                                       deftype PeerNode;
  from their lexical scope
                                       def name := “Smith”;
• Changed normal object                def x() {gps.getX()};
  behaviour through MOP                def y() {gps.getY()};
                                  };
  • invokeField

  • pass (serialization)



                                                               24

                                                                    24
Properties Syntax

• AT objects with new semantics
  (extended Mirror)

                                  def props := properties:{
• They can capture variables
                                       deftype PeerNode;
  from their lexical scope
                                       def name := “Smith”;
• Changed normal object                def x() {gps.getX()};
  behaviour through MOP                def y() {gps.getY()};
                                  };
  • invokeField

  • pass (serialization)



                                                               24

                                                                    24
Properties Syntax

• AT objects with new semantics
  (extended Mirror)

                                  def props := properties:{
• They can capture variables
                                       deftype PeerNode;
  from their lexical scope
                                       def name := “Smith”;
• Changed normal object                def x() {gps.getX()};
  behaviour through MOP                def y() {gps.getY()};
                                  };
  • invokeField

  • pass (serialization)



                                                               24

                                                                    24
Properties Syntax

• AT objects with new semantics
  (extended Mirror)

                                  def props := properties:{
• They can capture variables
                                       deftype PeerNode;
  from their lexical scope
                                       def name := “Smith”;
• Changed normal object                def x() {gps.getX()};
  behaviour through MOP                def y() {gps.getY()};
                                  };
  • invokeField

  • pass (serialization)



                                                               24

                                                                    24
Proximity Function Syntax
• They are not sent through the network

• They can capture variables from their lexical scope

• Special mapping of formal parameters based on name convention

   • The formal parameters are looked up in the target properties set



    def euclidean(props, radius){
        { |x,y,name|
            def d := ((props.x - x).expt(2) +
                      (props.y - y).expt(2)).sqrt();
            (d < radius).and: { (props.name <=> name) != 0 };
        };
    };


                                                                        25

                                                                             25
Proximity Function Syntax
• They are not sent through the network

• They can capture variables from their lexical scope

• Special mapping of formal parameters based on name convention

   • The formal parameters are looked up in the target properties set



    def euclidean(props, radius){
        { |x,y,name|
            def d := ((props.x - x).expt(2) +
                      (props.y - y).expt(2)).sqrt();
            (d < radius).and: { (props.name <=> name) != 0 };
        };
    };


                                                                        25

                                                                             25
Proximity Function Syntax
 • Composite to represent composition of functions

    • Basic functions is a Functor

    • Composite nodes are Boolean operations And/Or

 • Evaluation is bottom-up, optimizing boolean cases (Order matters!)

  def euclidean(props, radius){
      def f := Functor.new(
          {|x,y| ((props.x - x).expt(2) +
                  (props.y - y).expt(2)).sqrt() < radius)});
      def g := Functor.new({|name|
                             (props.name <=> name) != 0 });
      def composite := And.new(f,g);
      composite;
  };
                                                                        26

                                                                             26
Proximity Function Syntax
 • Composite to represent composition of functions

    • Basic functions is a Functor

    • Composite nodes are Boolean operations And/Or

 • Evaluation is bottom-up, optimizing boolean cases (Order matters!)

  def euclidean(props, radius){
      def f := Functor.new(
          {|x,y| ((props.x - x).expt(2) +
                  (props.y - y).expt(2)).sqrt() < radius)});
      def g := Functor.new({|name|
                             (props.name <=> name) != 0 });
      def composite := And.new(f,g);
      composite;
  };
                                                                        26

                                                                             26
Proximity Function Syntax
 • Composite to represent composition of functions

    • Basic functions is a Functor

    • Composite nodes are Boolean operations And/Or

 • Evaluation is bottom-up, optimizing boolean cases (Order matters!)

  def euclidean(props, radius){
      def f := Functor.new(
          {|x,y| ((props.x - x).expt(2) +
                  (props.y - y).expt(2)).sqrt() < radius)});
      def g := Functor.new({|name|
                             (props.name <=> name) != 0 });
      def composite := And.new(f,g);
      composite;
  };
                                                                        26

                                                                             26
Proximity Function Syntax
 • Composite to represent composition of functions

    • Basic functions is a Functor

    • Composite nodes are Boolean operations And/Or

 • Evaluation is bottom-up, optimizing boolean cases (Order matters!)

  def euclidean(props, radius){
      def f := Functor.new(
          {|x,y| ((props.x - x).expt(2) +
                  (props.y - y).expt(2)).sqrt() < radius)});
      def g := Functor.new({|name|
                             (props.name <=> name) != 0 });
      def composite := And.new(f,g);
      composite;
  };
                                                                        26

                                                                             26
Proximity Function Syntax
 • Composite to represent composition of functions

    • Basic functions is a Functor

    • Composite nodes are Boolean operations And/Or

 • Evaluation is bottom-up, optimizing boolean cases (Order matters!)




  def euclidean(props, radius){
      composite: {|x,y| ((props.x - x).expt(2) +
                  (props.y - y).expt(2)).sqrt() < radius)}
                 and: {|name| (props.name <=> name) != 0 };
  };



                                                                        27

                                                                             27
Proximity Function Syntax
 • Composite to represent composition of functions

    • Basic functions is a Functor

    • Composite nodes are Boolean operations And/Or

 • Evaluation is bottom-up, optimizing boolean cases (Order matters!)

                                                                  Syntac
                                                                         tic
                                                                   Sugar
  def euclidean(props, radius){
      composite: {|x,y| ((props.x - x).expt(2) +
                  (props.y - y).expt(2)).sqrt() < radius)}
                 and: {|name| (props.name <=> name) != 0 };
  };



                                                                               27

                                                                                    27
Proximity Function Syntax
 • Composite to represent composition of functions

    • Basic functions is a Functor

    • Composite nodes are Boolean operations And/Or

 • Evaluation is bottom-up, optimizing boolean cases (Order matters!)

                                                                  Syntac
                                                                         tic
                                                                   Sugar
  def euclidean(props, radius){
      composite: {|x,y| ((props.x - x).expt(2) +
                  (props.y - y).expt(2)).sqrt() < radius)}
                 and: {|name| (props.name <=> name) != 0 };
  };



                                                                               27

                                                                                    27
Experiment Setup




                   28

                        28
Experiment Setup

                      8 nodes
                   56 connections

                                       15 nodes
                                    210 connections

    5 nodes
 20 connections



       Connections ≈ O(n ) 2

                                                  28

                                                       28
Major Results

• Network layer used for service discovery in AmbientTalk:

  • Does not meet all requirements needed to extend the service discovery

  • Problems with:

     • Measure data collision

     • Define transmission velocity and retransmission rates

     • Use of Java scheduler to measure time and not real scale time




                                                                            29

                                                                                 29
Major Results
                                         AT2                         OPM
                       400.000




                       300.000
      Data sent (KB)




                       200.000




                       100.000




                            0
                                 2   5   10    15     20   25   30    35   40   45   50
                                                    Number of Nodes
                                                                                          30

                                                                                               30
Major Results
                                     BES             SES           StES
                         4.000



                         3.000
        Sent Data (KB)




                         2.000



                         1.000



                            0
                                 0         10           100         1000   10000
                                                Properties array size
                                                                                   31

                                                                                        31
Conclusions and Perspectives




                               32

                                    32
Conclusions

1. Proximity Taxonomy and Proximity Relationships

2. Open Proximity Model

  2.1.Three evaluation strategies proposed

  2.2.trade-off between simplicity and efficiency

3. Open Proximity Model in AmbientTalk

  3.1.Use of reflection and meta-programming facilities is very helpful

  3.2.AmbientTalk’s network layer fails to meet several networks
    requirements

                                                                         33

                                                                              33
Perspectives

1. Improvements on OPM in AmbientTalk

2. A new communication layer for AmbientTalk

3. Publish-Suscribe Service Discovery

4. Context awareness




                                               34

                                                    34
35

     35
GRACIAS!!!


             36

                  36

More Related Content

Viewers also liked

Proximity LLC Mobile Intelligence
Proximity LLC Mobile IntelligenceProximity LLC Mobile Intelligence
Proximity LLC Mobile IntelligenceRichard Blech
 
Discovery of Convoys in Network Proximity Log
Discovery of Convoys in Network Proximity LogDiscovery of Convoys in Network Proximity Log
Discovery of Convoys in Network Proximity Log
Coldbeans Software
 
Linteri RetailShow 2014
Linteri RetailShow 2014Linteri RetailShow 2014
Linteri RetailShow 2014
Lukasz Felsztukier
 
Chryssoula Themelis - Tele Proximity | VocTEL 2015
Chryssoula Themelis - Tele Proximity | VocTEL 2015Chryssoula Themelis - Tele Proximity | VocTEL 2015
Chryssoula Themelis - Tele Proximity | VocTEL 2015
VocTEL Conference
 
Creating a Digital 6th Sense with LTE Direct
Creating a Digital 6th Sense with LTE DirectCreating a Digital 6th Sense with LTE Direct
Creating a Digital 6th Sense with LTE Direct
Qualcomm Research
 
LTE-Direct
LTE-DirectLTE-Direct
LTE-Direct
Jerin Jose
 
Future tech trend for public safety proximity-based service
Future tech trend for public safety proximity-based serviceFuture tech trend for public safety proximity-based service
Future tech trend for public safety proximity-based service
Yi-Hsueh Tsai
 
D2D - Device to Device Communication
D2D - Device to Device CommunicationD2D - Device to Device Communication
D2D - Device to Device Communication
Francisco Bento da Silva Neto
 
An overview of D2D in 3GPP LTE standard
An overview of D2D in 3GPP LTE standardAn overview of D2D in 3GPP LTE standard
An overview of D2D in 3GPP LTE standard
ssk
 

Viewers also liked (9)

Proximity LLC Mobile Intelligence
Proximity LLC Mobile IntelligenceProximity LLC Mobile Intelligence
Proximity LLC Mobile Intelligence
 
Discovery of Convoys in Network Proximity Log
Discovery of Convoys in Network Proximity LogDiscovery of Convoys in Network Proximity Log
Discovery of Convoys in Network Proximity Log
 
Linteri RetailShow 2014
Linteri RetailShow 2014Linteri RetailShow 2014
Linteri RetailShow 2014
 
Chryssoula Themelis - Tele Proximity | VocTEL 2015
Chryssoula Themelis - Tele Proximity | VocTEL 2015Chryssoula Themelis - Tele Proximity | VocTEL 2015
Chryssoula Themelis - Tele Proximity | VocTEL 2015
 
Creating a Digital 6th Sense with LTE Direct
Creating a Digital 6th Sense with LTE DirectCreating a Digital 6th Sense with LTE Direct
Creating a Digital 6th Sense with LTE Direct
 
LTE-Direct
LTE-DirectLTE-Direct
LTE-Direct
 
Future tech trend for public safety proximity-based service
Future tech trend for public safety proximity-based serviceFuture tech trend for public safety proximity-based service
Future tech trend for public safety proximity-based service
 
D2D - Device to Device Communication
D2D - Device to Device CommunicationD2D - Device to Device Communication
D2D - Device to Device Communication
 
An overview of D2D in 3GPP LTE standard
An overview of D2D in 3GPP LTE standardAn overview of D2D in 3GPP LTE standard
An overview of D2D in 3GPP LTE standard
 

Similar to Master defense

Yes But What Do We Do?
Yes But What Do We Do?Yes But What Do We Do?
Yes But What Do We Do?
John Caswell
 
Rick Tilghman, PayPal - Arizona World Usability Day 2012 UX Keynote Presentation
Rick Tilghman, PayPal - Arizona World Usability Day 2012 UX Keynote PresentationRick Tilghman, PayPal - Arizona World Usability Day 2012 UX Keynote Presentation
Rick Tilghman, PayPal - Arizona World Usability Day 2012 UX Keynote Presentation
Theo Mandel, PhD
 
Ism presentation 2010
Ism presentation 2010Ism presentation 2010
Ism presentation 2010Daniel Chan
 
Presentation on rex security service
Presentation on rex security servicePresentation on rex security service
Presentation on rex security serviceDeep Rajbhandari
 
Smart analytics - Data Visualisation and Predictive Analytics solutions for F...
Smart analytics - Data Visualisation and Predictive Analytics solutions for F...Smart analytics - Data Visualisation and Predictive Analytics solutions for F...
Smart analytics - Data Visualisation and Predictive Analytics solutions for F...
Srini Bezwada
 
Analytics for fundraisers
Analytics for fundraisersAnalytics for fundraisers
Analytics for fundraisersSrini Bezwada
 
Code Structural Analysis
Code Structural AnalysisCode Structural Analysis
Code Structural Analysis
Eduards Sizovs
 
Code Structural Analysis
Code Structural AnalysisCode Structural Analysis
Code Structural AnalysisDmitry Buzdin
 
User Experience Workshop
User Experience WorkshopUser Experience Workshop
User Experience Workshop
Motivate Design
 
Agile intro module 2
Agile intro   module 2Agile intro   module 2
Agile intro module 2
André Heijstek
 
Fi arch design-principles-new_seeds-v0.7.4
Fi arch design-principles-new_seeds-v0.7.4Fi arch design-principles-new_seeds-v0.7.4
Fi arch design-principles-new_seeds-v0.7.4Ioanna Papafili
 
Dan perron lim
Dan perron limDan perron lim
Dan perron lim
sdeconf
 
Being on Cloud9
Being on Cloud9Being on Cloud9
Being on Cloud9
Gabriele MALTINTI
 
Powerpoint fujitsu
Powerpoint    fujitsuPowerpoint    fujitsu
Powerpoint fujitsu
aiimnevada
 
Predictive Analytics Innovation Summit
Predictive Analytics Innovation SummitPredictive Analytics Innovation Summit
Predictive Analytics Innovation SummitFractal Analytics
 
Peak 10 Overview
Peak 10 OverviewPeak 10 Overview
Peak 10 OverviewKelley Hire
 
Client Engagement Session
Client Engagement SessionClient Engagement Session
Client Engagement SessionJoe Stelliga
 
DATAWEEK KEYNOTE: LARGE SCALE SEARCH, DISCOVERY AND ANALYSIS IN ACTION
DATAWEEK KEYNOTE: LARGE SCALE SEARCH, DISCOVERY AND ANALYSIS IN ACTIONDATAWEEK KEYNOTE: LARGE SCALE SEARCH, DISCOVERY AND ANALYSIS IN ACTION
DATAWEEK KEYNOTE: LARGE SCALE SEARCH, DISCOVERY AND ANALYSIS IN ACTION
ivan provalov
 
The Science behind User Experience Design | Chief Marketing Officer, Executiv...
The Science behind User Experience Design | Chief Marketing Officer, Executiv...The Science behind User Experience Design | Chief Marketing Officer, Executiv...
The Science behind User Experience Design | Chief Marketing Officer, Executiv...
Kaitlan Chu
 
Surrey University Presentation
Surrey University PresentationSurrey University Presentation
Surrey University Presentation
dseConsulting
 

Similar to Master defense (20)

Yes But What Do We Do?
Yes But What Do We Do?Yes But What Do We Do?
Yes But What Do We Do?
 
Rick Tilghman, PayPal - Arizona World Usability Day 2012 UX Keynote Presentation
Rick Tilghman, PayPal - Arizona World Usability Day 2012 UX Keynote PresentationRick Tilghman, PayPal - Arizona World Usability Day 2012 UX Keynote Presentation
Rick Tilghman, PayPal - Arizona World Usability Day 2012 UX Keynote Presentation
 
Ism presentation 2010
Ism presentation 2010Ism presentation 2010
Ism presentation 2010
 
Presentation on rex security service
Presentation on rex security servicePresentation on rex security service
Presentation on rex security service
 
Smart analytics - Data Visualisation and Predictive Analytics solutions for F...
Smart analytics - Data Visualisation and Predictive Analytics solutions for F...Smart analytics - Data Visualisation and Predictive Analytics solutions for F...
Smart analytics - Data Visualisation and Predictive Analytics solutions for F...
 
Analytics for fundraisers
Analytics for fundraisersAnalytics for fundraisers
Analytics for fundraisers
 
Code Structural Analysis
Code Structural AnalysisCode Structural Analysis
Code Structural Analysis
 
Code Structural Analysis
Code Structural AnalysisCode Structural Analysis
Code Structural Analysis
 
User Experience Workshop
User Experience WorkshopUser Experience Workshop
User Experience Workshop
 
Agile intro module 2
Agile intro   module 2Agile intro   module 2
Agile intro module 2
 
Fi arch design-principles-new_seeds-v0.7.4
Fi arch design-principles-new_seeds-v0.7.4Fi arch design-principles-new_seeds-v0.7.4
Fi arch design-principles-new_seeds-v0.7.4
 
Dan perron lim
Dan perron limDan perron lim
Dan perron lim
 
Being on Cloud9
Being on Cloud9Being on Cloud9
Being on Cloud9
 
Powerpoint fujitsu
Powerpoint    fujitsuPowerpoint    fujitsu
Powerpoint fujitsu
 
Predictive Analytics Innovation Summit
Predictive Analytics Innovation SummitPredictive Analytics Innovation Summit
Predictive Analytics Innovation Summit
 
Peak 10 Overview
Peak 10 OverviewPeak 10 Overview
Peak 10 Overview
 
Client Engagement Session
Client Engagement SessionClient Engagement Session
Client Engagement Session
 
DATAWEEK KEYNOTE: LARGE SCALE SEARCH, DISCOVERY AND ANALYSIS IN ACTION
DATAWEEK KEYNOTE: LARGE SCALE SEARCH, DISCOVERY AND ANALYSIS IN ACTIONDATAWEEK KEYNOTE: LARGE SCALE SEARCH, DISCOVERY AND ANALYSIS IN ACTION
DATAWEEK KEYNOTE: LARGE SCALE SEARCH, DISCOVERY AND ANALYSIS IN ACTION
 
The Science behind User Experience Design | Chief Marketing Officer, Executiv...
The Science behind User Experience Design | Chief Marketing Officer, Executiv...The Science behind User Experience Design | Chief Marketing Officer, Executiv...
The Science behind User Experience Design | Chief Marketing Officer, Executiv...
 
Surrey University Presentation
Surrey University PresentationSurrey University Presentation
Surrey University Presentation
 

Recently uploaded

GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Vladimir Iglovikov, Ph.D.
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
KAMESHS29
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
Kari Kakkonen
 

Recently uploaded (20)

GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AIEnchancing adoption of Open Source Libraries. A case study on Albumentations.AI
Enchancing adoption of Open Source Libraries. A case study on Albumentations.AI
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
RESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for studentsRESUME BUILDER APPLICATION Project for students
RESUME BUILDER APPLICATION Project for students
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
Climate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing DaysClimate Impact of Software Testing at Nordic Testing Days
Climate Impact of Software Testing at Nordic Testing Days
 

Master defense

  • 1. An Open Proximity Model for Service Discovery in Pervasive Computing Victor Ramiro Cid Profesor Guía: Éric Tanter Miembros de la Comisión: Johan Fabry Patricio Inostroza Luciano Ahumada 1
  • 2. Contents 1. Motivation and Context 2. Open Proximity Model 3. Open Proximity Model in AmbientTalk 4. Conclusions and Perspectives 2 2
  • 7. Service Discovery Advertising 6 6
  • 8. Service Discovery Advertising Querying 6 6
  • 9. Service Discovery Advertising Querying 6 6
  • 10. Service Discovery Advertising Querying 6 6
  • 11. Service Discovery - Client 7 7
  • 12. Service Discovery - Client 7 7
  • 13. Service Discovery - Client What about the User? 7 7
  • 14. Service Discovery - Client User Overwhelmed We want calm! 7 7
  • 15. Service Discovery - Service 8 8
  • 16. Service Discovery - Service 8 8
  • 17. Service Discovery - Service What about the Service? 8 8
  • 18. Service Discovery - Service Service Overwhelmed We want calm! 8 8
  • 19. Motivation 9 9
  • 20. Motivation Designers should divide the work into physical environment with boundaries that demarcate their content. [Kindberg 2001] The density of interactions with any particular entity falls off as one moves away from it. [Satyanarayanan 2001] “Scalability is a critical problem in pervasive computing.” [Satyanarayanan 2001] 9 9
  • 21. Motivation Designers should divide the work into physical environment with boundaries that demarcate their content. [Kindberg 2001] The density of interactions with any particular entity falls off as one moves away from it. [Satyanarayanan 2001] “Scalability is a critical problem in pervasive computing.” + [Satyanarayanan 2001] An Open Proximity Model for Scoping Service Discovery in Pervasive Computing 9 9
  • 22. Contribution Distributed Systems Software Engineering Networking 10 10
  • 23. Contribution Distributed Systems Software Engineering Networking 10 10
  • 25. Proximity as a Concept Proximity is defined as the state, quality, sense, or fact of being near or next 12 12
  • 26. Proximity as a Concept Proximity is defined as the state, quality, sense, or fact of being near or next • Taxonomy • Physical and Abstract • Objective and Subjective 12 12
  • 27. Proximity as a Concept Proximity is defined as the state, quality, sense, or fact of being near or next • Taxonomy • Physical and Abstract • Objective and Subjective 12 12
  • 28. Proximity as a Concept Proximity is defined as the state, quality, sense, or fact of being near or next • Taxonomy • Physical and Abstract • Objective and Subjective 12 12
  • 29. Proximity as a Concept Proximity is defined as the state, quality, sense, or fact of being near or next • Taxonomy • Physical and Abstract • Objective and Subjective 12 12
  • 30. Proximity relationships (PR) • Open and Idiosyncratic • Composable • Distributed Evaluation • Dynamic 13 13
  • 31. Proximity relationships (PR) • Open and Idiosyncratic • Composable • Distributed Evaluation • Dynamic 13 13
  • 32. Proximity relationships (PR) • Open and Idiosyncratic • Composable • Distributed Evaluation • Dynamic 13 13
  • 33. Proximity relationships (PR) • Open and Idiosyncratic • Composable • Distributed Evaluation • Dynamic 13 13
  • 34. Proximity relationships (PR) • Open and Idiosyncratic • Composable • Distributed Evaluation • Dynamic 13 13
  • 35. Open Proximity Model in a nutshell 14 14
  • 36. Open Proximity Model in a nutshell 14 14
  • 37. Open Proximity Model in a nutshell 14 14
  • 38. Open Proximity Model in a nutshell Proximity: Accept all incoming jobs from DCC in the 3rd floor 14 14
  • 39. Open Proximity Model in a nutshell Proximity: Accept all incoming jobs from DCC in the 3rd floor 14 14
  • 40. Open Proximity Model in a nutshell Proximity: Accept all incoming jobs from DCC in the 3rd floor 14 14
  • 41. Open Proximity Model in a nutshell Proximity: Accept all incoming jobs from DCC in the 3rd floor DCC PDA 14 14
  • 42. Open Proximity Model in a nutshell Proximity: Accept all incoming jobs from DCC in the 3rd floor DCC PDA 14 14
  • 43. Open Proximity Model in a nutshell Print Job 14 14
  • 45. Model Components Object 15 15
  • 46. Model Components Object Properties 15 15
  • 47. Model Components Object Properties Proximity Function ƒ 15 15
  • 48. Model Components Object Properties Proximity Function + + ƒ 15 15
  • 49. Model Components Object Properties Proximity Function + + ƒ 15 15
  • 50. Basic evaluation strategy Multicast 16 16
  • 51. Basic evaluation strategy Multicast 16 16
  • 52. Basic evaluation strategy Multicast 16 16
  • 53. Basic evaluation strategy Multicast 16 16
  • 54. Basic evaluation strategy Multicast 16 16
  • 55. Basic evaluation strategy Multicast 16 16
  • 56. Basic evaluation strategy Multicast 16 16
  • 57. Basic evaluation strategy Multicast 16 16
  • 58. Basic evaluation strategy Multicast 16 16
  • 59. Selective evaluation strategy Multicast 17 17
  • 60. Selective evaluation strategy Multicast 17 17
  • 61. Selective evaluation strategy Multicast 17 17
  • 62. Selective evaluation strategy Multicast 17 17
  • 63. Selective evaluation strategy Multicast 17 17
  • 64. Selective evaluation strategy Multicast 17 17
  • 65. Selective evaluation strategy Multicast 17 17
  • 72. Composite Proximity • Compose functions as boolean formulas (f1 && f2 ) || (f3 && (f4 || f5 )) • Tree composite OR • Internar nodes: Operations AND AND • Leaves: simpler functions • Short-circuit evaluation f1 f2 f3 OR • Distributed evaluation f4 f5 • Must be done by the programmer 19 19
  • 73. Open Proximity Model in AmbientTalk 20 20
  • 74. AmbientTalk AmbientTalk: the project • Distributed object-oriented language (Prototype-based) • • Event-driven concurrency based on in 2005[Agha86] Started actors • • Small team: 3-6 peoplefutures Asynchronous message sends, with non-blocking • Interpreter • • Pure Java implementation Built-in engine for service discovery of remote objects • Extensible language • Runs on J2ME/CDC phones • Powerful reflective and meta-programming layer 8 • Block closures, keyworded messages, interface with JVM 21 21
  • 75. Service Discovery in AmbientTalk def hp := Printer.new(...); export: hp as: PrinterServer; Querying Advertising when: PrinterServer discovered: {|printer| printer<-addJob(job); } 22 22
  • 76. Extended Service Discovery in AmbientTalk def hp := Printer.new(...); export: hp with: s_props in: euclidean(s_props,radius); Querying Advertising when: PrinterServer discovered: {|printer| printer<-addJob(job); }with: c_props in: euclidean(c_props,radius); 23 23
  • 77. Properties Syntax • AT objects with new semantics (extended Mirror) def props := properties:{ • They can capture variables deftype PeerNode; from their lexical scope def name := “Smith”; • Changed normal object def x() {gps.getX()}; behaviour through MOP def y() {gps.getY()}; }; • invokeField • pass (serialization) 24 24
  • 78. Properties Syntax • AT objects with new semantics (extended Mirror) def props := properties:{ • They can capture variables deftype PeerNode; from their lexical scope def name := “Smith”; • Changed normal object def x() {gps.getX()}; behaviour through MOP def y() {gps.getY()}; }; • invokeField • pass (serialization) 24 24
  • 79. Properties Syntax • AT objects with new semantics (extended Mirror) def props := properties:{ • They can capture variables deftype PeerNode; from their lexical scope def name := “Smith”; • Changed normal object def x() {gps.getX()}; behaviour through MOP def y() {gps.getY()}; }; • invokeField • pass (serialization) 24 24
  • 80. Properties Syntax • AT objects with new semantics (extended Mirror) def props := properties:{ • They can capture variables deftype PeerNode; from their lexical scope def name := “Smith”; • Changed normal object def x() {gps.getX()}; behaviour through MOP def y() {gps.getY()}; }; • invokeField • pass (serialization) 24 24
  • 81. Proximity Function Syntax • They are not sent through the network • They can capture variables from their lexical scope • Special mapping of formal parameters based on name convention • The formal parameters are looked up in the target properties set def euclidean(props, radius){ { |x,y,name| def d := ((props.x - x).expt(2) + (props.y - y).expt(2)).sqrt(); (d < radius).and: { (props.name <=> name) != 0 }; }; }; 25 25
  • 82. Proximity Function Syntax • They are not sent through the network • They can capture variables from their lexical scope • Special mapping of formal parameters based on name convention • The formal parameters are looked up in the target properties set def euclidean(props, radius){ { |x,y,name| def d := ((props.x - x).expt(2) + (props.y - y).expt(2)).sqrt(); (d < radius).and: { (props.name <=> name) != 0 }; }; }; 25 25
  • 83. Proximity Function Syntax • Composite to represent composition of functions • Basic functions is a Functor • Composite nodes are Boolean operations And/Or • Evaluation is bottom-up, optimizing boolean cases (Order matters!) def euclidean(props, radius){ def f := Functor.new( {|x,y| ((props.x - x).expt(2) + (props.y - y).expt(2)).sqrt() < radius)}); def g := Functor.new({|name| (props.name <=> name) != 0 }); def composite := And.new(f,g); composite; }; 26 26
  • 84. Proximity Function Syntax • Composite to represent composition of functions • Basic functions is a Functor • Composite nodes are Boolean operations And/Or • Evaluation is bottom-up, optimizing boolean cases (Order matters!) def euclidean(props, radius){ def f := Functor.new( {|x,y| ((props.x - x).expt(2) + (props.y - y).expt(2)).sqrt() < radius)}); def g := Functor.new({|name| (props.name <=> name) != 0 }); def composite := And.new(f,g); composite; }; 26 26
  • 85. Proximity Function Syntax • Composite to represent composition of functions • Basic functions is a Functor • Composite nodes are Boolean operations And/Or • Evaluation is bottom-up, optimizing boolean cases (Order matters!) def euclidean(props, radius){ def f := Functor.new( {|x,y| ((props.x - x).expt(2) + (props.y - y).expt(2)).sqrt() < radius)}); def g := Functor.new({|name| (props.name <=> name) != 0 }); def composite := And.new(f,g); composite; }; 26 26
  • 86. Proximity Function Syntax • Composite to represent composition of functions • Basic functions is a Functor • Composite nodes are Boolean operations And/Or • Evaluation is bottom-up, optimizing boolean cases (Order matters!) def euclidean(props, radius){ def f := Functor.new( {|x,y| ((props.x - x).expt(2) + (props.y - y).expt(2)).sqrt() < radius)}); def g := Functor.new({|name| (props.name <=> name) != 0 }); def composite := And.new(f,g); composite; }; 26 26
  • 87. Proximity Function Syntax • Composite to represent composition of functions • Basic functions is a Functor • Composite nodes are Boolean operations And/Or • Evaluation is bottom-up, optimizing boolean cases (Order matters!) def euclidean(props, radius){ composite: {|x,y| ((props.x - x).expt(2) + (props.y - y).expt(2)).sqrt() < radius)} and: {|name| (props.name <=> name) != 0 }; }; 27 27
  • 88. Proximity Function Syntax • Composite to represent composition of functions • Basic functions is a Functor • Composite nodes are Boolean operations And/Or • Evaluation is bottom-up, optimizing boolean cases (Order matters!) Syntac tic Sugar def euclidean(props, radius){ composite: {|x,y| ((props.x - x).expt(2) + (props.y - y).expt(2)).sqrt() < radius)} and: {|name| (props.name <=> name) != 0 }; }; 27 27
  • 89. Proximity Function Syntax • Composite to represent composition of functions • Basic functions is a Functor • Composite nodes are Boolean operations And/Or • Evaluation is bottom-up, optimizing boolean cases (Order matters!) Syntac tic Sugar def euclidean(props, radius){ composite: {|x,y| ((props.x - x).expt(2) + (props.y - y).expt(2)).sqrt() < radius)} and: {|name| (props.name <=> name) != 0 }; }; 27 27
  • 91. Experiment Setup 8 nodes 56 connections 15 nodes 210 connections 5 nodes 20 connections Connections ≈ O(n ) 2 28 28
  • 92. Major Results • Network layer used for service discovery in AmbientTalk: • Does not meet all requirements needed to extend the service discovery • Problems with: • Measure data collision • Define transmission velocity and retransmission rates • Use of Java scheduler to measure time and not real scale time 29 29
  • 93. Major Results AT2 OPM 400.000 300.000 Data sent (KB) 200.000 100.000 0 2 5 10 15 20 25 30 35 40 45 50 Number of Nodes 30 30
  • 94. Major Results BES SES StES 4.000 3.000 Sent Data (KB) 2.000 1.000 0 0 10 100 1000 10000 Properties array size 31 31
  • 96. Conclusions 1. Proximity Taxonomy and Proximity Relationships 2. Open Proximity Model 2.1.Three evaluation strategies proposed 2.2.trade-off between simplicity and efficiency 3. Open Proximity Model in AmbientTalk 3.1.Use of reflection and meta-programming facilities is very helpful 3.2.AmbientTalk’s network layer fails to meet several networks requirements 33 33
  • 97. Perspectives 1. Improvements on OPM in AmbientTalk 2. A new communication layer for AmbientTalk 3. Publish-Suscribe Service Discovery 4. Context awareness 34 34
  • 98. 35 35
  • 99. GRACIAS!!! 36 36