SlideShare uma empresa Scribd logo
1 de 37
Functional Composition
Ruben Verborgh et al. of Sensor Web APIs
?
What
 makes people
 SMART
Collaboration.
?
What
 makes sensors
 SMART
Collaboration.
Smart collaborations
run themselves.

      manual sensor composition
         intelligence comes from humans

      automatic sensor composition
         intelligence comes from the system
My research is about
intelligent Web APIs.
      Ruben Verborgh, PhD Student
         Ghent University / iMinds

      My dream: intelligent agents
         browsing the Web for us

      Bridging between people and things
          bringing things to the Web
Functional composition
             of sensor Web APIs




     {
         Capturing functionality

         Creating compositions

         Evaluating feasibility
Functional composition
             of sensor Web APIs




     {
         Capturing functionality

         Creating compositions

         Evaluating feasibility
Why describe functionality?
Only functionality
tells the whole story.
How to capture the functionality
of these sensors?
      GPS device
         determines current location

      temperature sensor
         reads current temperature

      pressure sensor
          reads current air pressure
We model sensors
as Web APIs.
     Web APIs = HTTP APIs = REST APIs
        as opposed to “Big” Web services
        resource-oriented

     Sensor measurements are resources
        location
        temperature
        air pressure
We capture the functionality
of Web APIs with RESTdesc.


      RESTdesc describes the functionality

      of hypermedia-driven APIs

      with Notation3 (an RDF superset).
RESTdesc can describe
a temperature sensor.
  !
  ""#$%&$'(")"%*+,%-.%()/0(%1%&$'(2
  """"""""""%*+3'4)/5'&"#3'4)/5'&6
  7
  89
  !
  "":+(%;0%$/"<//.+-%/<'=>)-%"?@A,?2
  """"""""""""<//.+(%;0%$/BCD"#$%&$'(2
  """"""""""""<//.+(%$."E"<//.+F'=G"#/%-.%()/0(%"H6
  ""
  ""#3'4)/5'&"%*+<)$,%-.%()/0(%"#/%-.%()/0(%6
  76
RESTdesc can describe
a temperature sensor.
  !
  ""#$%&$'(")"%*+,%-.%()/0(%1%&$'(2
  """"""""""%*+3'4)/5'&"#3'4)/5'&6
  7
  89
  !
  "":+(%;0%$/"<//.+-%/<'=>)-%"?@A,?2
  """"""""""""<//.+(%;0%$/BCD"#$%&$'(2
  """"""""""""<//.+(%$."E"<//.+F'=G"#/%-.%()/0(%"H6
  ""
  ""#3'4)/5'&"%*+<)$,%-.%()/0(%"#/%-.%()/0(%6
  76
RESTdesc can describe
a temperature sensor.
  !
  ""#$%&$'(")"%*+,%-.%()/0(%1%&$'(2
  """"""""""%*+3'4)/5'&"#3'4)/5'&6
  7
  89
  !
  ""8+(%90%$/"://.+-%/:';<)-%"=>?,=2
  """"""""""""://.+(%90%$/@AB"#$%&$'(2
  """"""""""""://.+(%$."C"://.+D';E"#/%-.%()/0(%"F6
  ""
  ""#3'4)/5'&"%*+<)$,%-.%()/0(%"#/%-.%()/0(%6
  76
RESTdesc can describe
a temperature sensor.
  !
  ""#$%&$'(")"%*+,%-.%()/0(%1%&$'(2
  """"""""""%*+3'4)/5'&"#3'4)/5'&6
  7
  89
  !
  "":+(%;0%$/"<//.+-%/<'=>)-%"?@A,?2
  """"""""""""<//.+(%;0%$/BCD"#$%&$'(2
  """"""""""""<//.+(%$."E"<//.+F'=G"#/%-.%()/0(%"H6
  ""
  ""#3'4)/5'&"%*+:)$,%-.%()/0(%"#/%-.%()/0(%6
  76
RESTdesc provides simple
functional descriptions.
      Hypermedia-driven
         no inputs or outputs, just links

      Capture functionality
         relationship between resources

      Rule-based
          logic implication
Functional composition
             of sensor Web APIs




     {
         Capturing functionality

         Creating compositions

         Evaluating feasibility
Why compose Web APIs?


     To answer a query
     by combining multiple APIs.

     Queries can be complex,

     APIs not necessarily known in advance.
“Reserve a table in a nearby restaurant.
 If weather allows, I want to sit outside.”
What APIs do we have
at our disposition?

      Suppose we have many APIs, including:
         Location API
         Temperature API
         Pressure API
         Restaurant API
What would
   a candidate solution lookoflike? Web a
            Functional Composition Sensor


                            T
     I          L                       R          G
                            P

   “Reserve a table in                 Location API
bining the Location, Temperature, Pressure, and Restauran
     a nearby restaurant.              Temperature API
 dependencies, we can reach the Goal from the Initial state
    If weather allows,                 Pressure API
    I want to sit outside.”            Restaurant API
RESTdesc descriptions enable
automated composition.


      RESTdesc descriptions are rules

      Rules support inference

      Rules can be chained
Does this composition
satisfy the goal?


{        }   Since descriptions are rules,
    =>
{        }   success is defined as entailment.
If success is entailment,
the proof is the composition.

{        }
    =>       The proof of the entailment
{        }
{        }   contains the used rules,
    =>
{        }   thus the needed API requests.
A semantic Web reasoner
   can create the composition.
                 Functional Composition of Sensor Web a
                         {   }
                               =>
                           {        }
               {    }                   {    }
                 =>                       =>
               {    }          T        {    }

     I          L                        R         G
                               P
   “Reserve a table in      {
                              =>
                                 }     Location API
biningnearby restaurant.    {    }     Temperature API
     a the Location, Temperature, Pressure, and Restauran
                                       Pressure API
 dependencies, we can reach the Goal from the Initial state
    If weather allows,
    I want to sit outside.”            Restaurant API
RESTdesc composing behaves
as a good Semantic Web citizen.

      works with generic semantic reasoners
         RESTdesc descriptions are rules
         no specific knowledge needed

      ontologies fill gaps

      domain-independent
Functional composition
             of sensor Web APIs




     {
         Capturing functionality

         Creating compositions

         Evaluating feasibility
Does it scale?
Reasoner-based methods
are often thought of as slow.

      partly perception
          limit reasoner experience

      partly the method
          translation into reasoner domain
We tested composition chains
for performance.

      n APIs with 1/2/3 dependencies
          to test chaining speed

      32 APIs in presence of n dummies
          to test discrimination speed
RESTdesc composition is so fast
that it works on Web scale.
      chain of 512 APIs with 1 dependency
          in 0.4 seconds

      chain of 512 APIs with 3 dependencies
          in 1.6 seconds

      chain of 32 APIs with 512 dummies
          in 0,01 seconds
Efficient implementations
on Arduino boards.


      simple sensors as Web APIs

      described with RESTdesc

      central composer
RESTdesc is an automated solution
for sensor Web API composition.


      Describe REST Web APIs

      Use Semantic Web logic

      Compose with generic reasoners
RESTdesc automatically
   composes sensor Web APIs.

     Curious? Let’s get in touch!

     Visit restdesc.org and

     connect to @RubenVerborgh on Twitter.

Mais conteúdo relacionado

Mais procurados

The Digital Cavemen of Linked Lascaux
The Digital Cavemen of Linked LascauxThe Digital Cavemen of Linked Lascaux
The Digital Cavemen of Linked LascauxRuben Verborgh
 
Initial Usage Analysis of DBpedia's Triple Pattern Fragments
Initial Usage Analysis of DBpedia's Triple Pattern FragmentsInitial Usage Analysis of DBpedia's Triple Pattern Fragments
Initial Usage Analysis of DBpedia's Triple Pattern FragmentsRuben Verborgh
 
Distributed Affordance
Distributed AffordanceDistributed Affordance
Distributed AffordanceRuben Verborgh
 
Linking media, data, and services
Linking media, data, and servicesLinking media, data, and services
Linking media, data, and servicesRuben Verborgh
 
Analyzing Log Data With Apache Spark
Analyzing Log Data With Apache SparkAnalyzing Log Data With Apache Spark
Analyzing Log Data With Apache SparkSpark Summit
 
XMLPipeDB
XMLPipeDBXMLPipeDB
XMLPipeDBbosc
 
The web – A hypermedia story
The web – A hypermedia storyThe web – A hypermedia story
The web – A hypermedia storyRuben Verborgh
 
Galaxy
GalaxyGalaxy
Galaxybosc
 
An E-commerce App in action built on top of a Multi-model Database
An E-commerce App in action built on top of a Multi-model DatabaseAn E-commerce App in action built on top of a Multi-model Database
An E-commerce App in action built on top of a Multi-model DatabaseArangoDB Database
 
Biomart Update
Biomart UpdateBiomart Update
Biomart Updatebosc
 
Hypermedia Cannot be the Engine
Hypermedia Cannot be the EngineHypermedia Cannot be the Engine
Hypermedia Cannot be the EngineRuben Verborgh
 
SPARQL and Linked Data Benchmarking
SPARQL and Linked Data BenchmarkingSPARQL and Linked Data Benchmarking
SPARQL and Linked Data BenchmarkingKristian Alexander
 
Side by Side with Elasticsearch & Solr, Part 2
Side by Side with Elasticsearch & Solr, Part 2Side by Side with Elasticsearch & Solr, Part 2
Side by Side with Elasticsearch & Solr, Part 2Sematext Group, Inc.
 
2014 spark with elastic search
2014   spark with elastic search2014   spark with elastic search
2014 spark with elastic searchHenry Saputra
 
RDF Stream Processing and the role of Semantics
RDF Stream Processing and the role of SemanticsRDF Stream Processing and the role of Semantics
RDF Stream Processing and the role of SemanticsJean-Paul Calbimonte
 
Spark with Elasticsearch
Spark with ElasticsearchSpark with Elasticsearch
Spark with ElasticsearchHolden Karau
 
Airstream: Spark Streaming At Airbnb
Airstream: Spark Streaming At AirbnbAirstream: Spark Streaming At Airbnb
Airstream: Spark Streaming At AirbnbJen Aman
 
Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)Federico Panini
 

Mais procurados (20)

The Digital Cavemen of Linked Lascaux
The Digital Cavemen of Linked LascauxThe Digital Cavemen of Linked Lascaux
The Digital Cavemen of Linked Lascaux
 
Initial Usage Analysis of DBpedia's Triple Pattern Fragments
Initial Usage Analysis of DBpedia's Triple Pattern FragmentsInitial Usage Analysis of DBpedia's Triple Pattern Fragments
Initial Usage Analysis of DBpedia's Triple Pattern Fragments
 
Reasoned SPARQL
Reasoned SPARQLReasoned SPARQL
Reasoned SPARQL
 
Distributed Affordance
Distributed AffordanceDistributed Affordance
Distributed Affordance
 
Linking media, data, and services
Linking media, data, and servicesLinking media, data, and services
Linking media, data, and services
 
Analyzing Log Data With Apache Spark
Analyzing Log Data With Apache SparkAnalyzing Log Data With Apache Spark
Analyzing Log Data With Apache Spark
 
XMLPipeDB
XMLPipeDBXMLPipeDB
XMLPipeDB
 
The web – A hypermedia story
The web – A hypermedia storyThe web – A hypermedia story
The web – A hypermedia story
 
Galaxy
GalaxyGalaxy
Galaxy
 
An E-commerce App in action built on top of a Multi-model Database
An E-commerce App in action built on top of a Multi-model DatabaseAn E-commerce App in action built on top of a Multi-model Database
An E-commerce App in action built on top of a Multi-model Database
 
Biomart Update
Biomart UpdateBiomart Update
Biomart Update
 
Hypermedia Cannot be the Engine
Hypermedia Cannot be the EngineHypermedia Cannot be the Engine
Hypermedia Cannot be the Engine
 
SPARQL and Linked Data Benchmarking
SPARQL and Linked Data BenchmarkingSPARQL and Linked Data Benchmarking
SPARQL and Linked Data Benchmarking
 
Side by Side with Elasticsearch & Solr, Part 2
Side by Side with Elasticsearch & Solr, Part 2Side by Side with Elasticsearch & Solr, Part 2
Side by Side with Elasticsearch & Solr, Part 2
 
Kibana: Real-World Examples
Kibana: Real-World ExamplesKibana: Real-World Examples
Kibana: Real-World Examples
 
2014 spark with elastic search
2014   spark with elastic search2014   spark with elastic search
2014 spark with elastic search
 
RDF Stream Processing and the role of Semantics
RDF Stream Processing and the role of SemanticsRDF Stream Processing and the role of Semantics
RDF Stream Processing and the role of Semantics
 
Spark with Elasticsearch
Spark with ElasticsearchSpark with Elasticsearch
Spark with Elasticsearch
 
Airstream: Spark Streaming At Airbnb
Airstream: Spark Streaming At AirbnbAirstream: Spark Streaming At Airbnb
Airstream: Spark Streaming At Airbnb
 
Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)Elasticsearch quick Intro (English)
Elasticsearch quick Intro (English)
 

Semelhante a Functional Composition of Sensor Web APIs

Deep-Dive for AWS X-Ray - DEV402 - re:Invent 2017
Deep-Dive for AWS X-Ray - DEV402 - re:Invent 2017Deep-Dive for AWS X-Ray - DEV402 - re:Invent 2017
Deep-Dive for AWS X-Ray - DEV402 - re:Invent 2017Amazon Web Services
 
From System Engineer to Gopher
From System Engineer to GopherFrom System Engineer to Gopher
From System Engineer to GopherI-Fan Wang
 
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017Amazon Web Services
 
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...Amazon Web Services
 
Server Side Swift - AppBuilders 2017
Server Side Swift - AppBuilders 2017Server Side Swift - AppBuilders 2017
Server Side Swift - AppBuilders 2017Jens Ravens
 
I Can See Clearly Now - Observing & understanding your Spring applications at...
I Can See Clearly Now - Observing & understanding your Spring applications at...I Can See Clearly Now - Observing & understanding your Spring applications at...
I Can See Clearly Now - Observing & understanding your Spring applications at...Joris Kuipers
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSDanilo Poccia
 
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, EverAltitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, EverFastly
 
Introducing Chef | An IT automation for speed and awesomeness
Introducing Chef | An IT automation for speed and awesomenessIntroducing Chef | An IT automation for speed and awesomeness
Introducing Chef | An IT automation for speed and awesomenessRamit Surana
 
Into The Box | Alexa and ColdBox Api's
Into The Box | Alexa and ColdBox Api'sInto The Box | Alexa and ColdBox Api's
Into The Box | Alexa and ColdBox Api'sOrtus Solutions, Corp
 
RET305-Turbo Charge Your E-Commerce Site wAmazon Cache and Search Solutions.pdf
RET305-Turbo Charge Your E-Commerce Site wAmazon Cache and Search Solutions.pdfRET305-Turbo Charge Your E-Commerce Site wAmazon Cache and Search Solutions.pdf
RET305-Turbo Charge Your E-Commerce Site wAmazon Cache and Search Solutions.pdfAmazon Web Services
 
Design patterns and best practices for data analytics with amazon emr (ABD305)
Design patterns and best practices for data analytics with amazon emr (ABD305)Design patterns and best practices for data analytics with amazon emr (ABD305)
Design patterns and best practices for data analytics with amazon emr (ABD305)Amazon Web Services
 
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...Codemotion
 
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...Codemotion
 
How to Write A Driver for Accelerometer LIS3DSH in Zephyr_.pdf
How to Write A Driver for Accelerometer LIS3DSH in Zephyr_.pdfHow to Write A Driver for Accelerometer LIS3DSH in Zephyr_.pdf
How to Write A Driver for Accelerometer LIS3DSH in Zephyr_.pdfaud Scarlet
 
Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - What’s new in ASP.NET Core 6Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - What’s new in ASP.NET Core 6Tamir Dresher
 

Semelhante a Functional Composition of Sensor Web APIs (20)

Deep-Dive for AWS X-Ray - DEV402 - re:Invent 2017
Deep-Dive for AWS X-Ray - DEV402 - re:Invent 2017Deep-Dive for AWS X-Ray - DEV402 - re:Invent 2017
Deep-Dive for AWS X-Ray - DEV402 - re:Invent 2017
 
From System Engineer to Gopher
From System Engineer to GopherFrom System Engineer to Gopher
From System Engineer to Gopher
 
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017
How to Build a Backend for an Alexa Smart Home Skill - ALX316 - re:Invent 2017
 
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...
Become a Serverless Black Belt: Optimizing Your Serverless Applications - SRV...
 
Server Side Swift - AppBuilders 2017
Server Side Swift - AppBuilders 2017Server Side Swift - AppBuilders 2017
Server Side Swift - AppBuilders 2017
 
I Can See Clearly Now - Observing & understanding your Spring applications at...
I Can See Clearly Now - Observing & understanding your Spring applications at...I Can See Clearly Now - Observing & understanding your Spring applications at...
I Can See Clearly Now - Observing & understanding your Spring applications at...
 
IOT315_AWS IoT Rules Engine
IOT315_AWS IoT Rules EngineIOT315_AWS IoT Rules Engine
IOT315_AWS IoT Rules Engine
 
Continuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWSContinuous Integration and Deployment Best Practices on AWS
Continuous Integration and Deployment Best Practices on AWS
 
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, EverAltitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
Altitude NY 2018: Leveraging Log Streaming to Build the Best Dashboards, Ever
 
Introducing Chef | An IT automation for speed and awesomeness
Introducing Chef | An IT automation for speed and awesomenessIntroducing Chef | An IT automation for speed and awesomeness
Introducing Chef | An IT automation for speed and awesomeness
 
Into The Box | Alexa and ColdBox Api's
Into The Box | Alexa and ColdBox Api'sInto The Box | Alexa and ColdBox Api's
Into The Box | Alexa and ColdBox Api's
 
RET305-Turbo Charge Your E-Commerce Site wAmazon Cache and Search Solutions.pdf
RET305-Turbo Charge Your E-Commerce Site wAmazon Cache and Search Solutions.pdfRET305-Turbo Charge Your E-Commerce Site wAmazon Cache and Search Solutions.pdf
RET305-Turbo Charge Your E-Commerce Site wAmazon Cache and Search Solutions.pdf
 
Web Dev 21-01-2024.pptx
Web Dev 21-01-2024.pptxWeb Dev 21-01-2024.pptx
Web Dev 21-01-2024.pptx
 
Switch to Backend 2023
Switch to Backend 2023Switch to Backend 2023
Switch to Backend 2023
 
Design patterns and best practices for data analytics with amazon emr (ABD305)
Design patterns and best practices for data analytics with amazon emr (ABD305)Design patterns and best practices for data analytics with amazon emr (ABD305)
Design patterns and best practices for data analytics with amazon emr (ABD305)
 
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
 
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
Michelle Garrett - Build the API you want to see in the world (with GraphQL) ...
 
How to Write A Driver for Accelerometer LIS3DSH in Zephyr_.pdf
How to Write A Driver for Accelerometer LIS3DSH in Zephyr_.pdfHow to Write A Driver for Accelerometer LIS3DSH in Zephyr_.pdf
How to Write A Driver for Accelerometer LIS3DSH in Zephyr_.pdf
 
More Asp
More AspMore Asp
More Asp
 
Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - What’s new in ASP.NET Core 6Tamir Dresher - What’s new in ASP.NET Core 6
Tamir Dresher - What’s new in ASP.NET Core 6
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAndikSusilo4
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?XfilesPro
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Azure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & ApplicationAzure Monitor & Application Insight to monitor Infrastructure & Application
Azure Monitor & Application Insight to monitor Infrastructure & Application
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?How to Remove Document Management Hurdles with X-Docs?
How to Remove Document Management Hurdles with X-Docs?
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 

Functional Composition of Sensor Web APIs

  • 1. Functional Composition Ruben Verborgh et al. of Sensor Web APIs
  • 6. Smart collaborations run themselves. manual sensor composition intelligence comes from humans automatic sensor composition intelligence comes from the system
  • 7. My research is about intelligent Web APIs. Ruben Verborgh, PhD Student Ghent University / iMinds My dream: intelligent agents browsing the Web for us Bridging between people and things bringing things to the Web
  • 8. Functional composition of sensor Web APIs { Capturing functionality Creating compositions Evaluating feasibility
  • 9. Functional composition of sensor Web APIs { Capturing functionality Creating compositions Evaluating feasibility
  • 12. How to capture the functionality of these sensors? GPS device determines current location temperature sensor reads current temperature pressure sensor reads current air pressure
  • 13. We model sensors as Web APIs. Web APIs = HTTP APIs = REST APIs as opposed to “Big” Web services resource-oriented Sensor measurements are resources location temperature air pressure
  • 14. We capture the functionality of Web APIs with RESTdesc. RESTdesc describes the functionality of hypermedia-driven APIs with Notation3 (an RDF superset).
  • 15. RESTdesc can describe a temperature sensor. ! ""#$%&$'(")"%*+,%-.%()/0(%1%&$'(2 """"""""""%*+3'4)/5'&"#3'4)/5'&6 7 89 ! "":+(%;0%$/"<//.+-%/<'=>)-%"?@A,?2 """"""""""""<//.+(%;0%$/BCD"#$%&$'(2 """"""""""""<//.+(%$."E"<//.+F'=G"#/%-.%()/0(%"H6 "" ""#3'4)/5'&"%*+<)$,%-.%()/0(%"#/%-.%()/0(%6 76
  • 16. RESTdesc can describe a temperature sensor. ! ""#$%&$'(")"%*+,%-.%()/0(%1%&$'(2 """"""""""%*+3'4)/5'&"#3'4)/5'&6 7 89 ! "":+(%;0%$/"<//.+-%/<'=>)-%"?@A,?2 """"""""""""<//.+(%;0%$/BCD"#$%&$'(2 """"""""""""<//.+(%$."E"<//.+F'=G"#/%-.%()/0(%"H6 "" ""#3'4)/5'&"%*+<)$,%-.%()/0(%"#/%-.%()/0(%6 76
  • 17. RESTdesc can describe a temperature sensor. ! ""#$%&$'(")"%*+,%-.%()/0(%1%&$'(2 """"""""""%*+3'4)/5'&"#3'4)/5'&6 7 89 ! ""8+(%90%$/"://.+-%/:';<)-%"=>?,=2 """"""""""""://.+(%90%$/@AB"#$%&$'(2 """"""""""""://.+(%$."C"://.+D';E"#/%-.%()/0(%"F6 "" ""#3'4)/5'&"%*+<)$,%-.%()/0(%"#/%-.%()/0(%6 76
  • 18. RESTdesc can describe a temperature sensor. ! ""#$%&$'(")"%*+,%-.%()/0(%1%&$'(2 """"""""""%*+3'4)/5'&"#3'4)/5'&6 7 89 ! "":+(%;0%$/"<//.+-%/<'=>)-%"?@A,?2 """"""""""""<//.+(%;0%$/BCD"#$%&$'(2 """"""""""""<//.+(%$."E"<//.+F'=G"#/%-.%()/0(%"H6 "" ""#3'4)/5'&"%*+:)$,%-.%()/0(%"#/%-.%()/0(%6 76
  • 19. RESTdesc provides simple functional descriptions. Hypermedia-driven no inputs or outputs, just links Capture functionality relationship between resources Rule-based logic implication
  • 20. Functional composition of sensor Web APIs { Capturing functionality Creating compositions Evaluating feasibility
  • 21. Why compose Web APIs? To answer a query by combining multiple APIs. Queries can be complex, APIs not necessarily known in advance.
  • 22. “Reserve a table in a nearby restaurant. If weather allows, I want to sit outside.”
  • 23. What APIs do we have at our disposition? Suppose we have many APIs, including: Location API Temperature API Pressure API Restaurant API
  • 24. What would a candidate solution lookoflike? Web a Functional Composition Sensor T I L R G P “Reserve a table in Location API bining the Location, Temperature, Pressure, and Restauran a nearby restaurant. Temperature API dependencies, we can reach the Goal from the Initial state If weather allows, Pressure API I want to sit outside.” Restaurant API
  • 25. RESTdesc descriptions enable automated composition. RESTdesc descriptions are rules Rules support inference Rules can be chained
  • 26. Does this composition satisfy the goal? { } Since descriptions are rules, => { } success is defined as entailment.
  • 27. If success is entailment, the proof is the composition. { } => The proof of the entailment { } { } contains the used rules, => { } thus the needed API requests.
  • 28. A semantic Web reasoner can create the composition. Functional Composition of Sensor Web a { } => { } { } { } => => { } T { } I L R G P “Reserve a table in { => } Location API biningnearby restaurant. { } Temperature API a the Location, Temperature, Pressure, and Restauran Pressure API dependencies, we can reach the Goal from the Initial state If weather allows, I want to sit outside.” Restaurant API
  • 29. RESTdesc composing behaves as a good Semantic Web citizen. works with generic semantic reasoners RESTdesc descriptions are rules no specific knowledge needed ontologies fill gaps domain-independent
  • 30. Functional composition of sensor Web APIs { Capturing functionality Creating compositions Evaluating feasibility
  • 32. Reasoner-based methods are often thought of as slow. partly perception limit reasoner experience partly the method translation into reasoner domain
  • 33. We tested composition chains for performance. n APIs with 1/2/3 dependencies to test chaining speed 32 APIs in presence of n dummies to test discrimination speed
  • 34. RESTdesc composition is so fast that it works on Web scale. chain of 512 APIs with 1 dependency in 0.4 seconds chain of 512 APIs with 3 dependencies in 1.6 seconds chain of 32 APIs with 512 dummies in 0,01 seconds
  • 35. Efficient implementations on Arduino boards. simple sensors as Web APIs described with RESTdesc central composer
  • 36. RESTdesc is an automated solution for sensor Web API composition. Describe REST Web APIs Use Semantic Web logic Compose with generic reasoners
  • 37. RESTdesc automatically composes sensor Web APIs. Curious? Let’s get in touch! Visit restdesc.org and connect to @RubenVerborgh on Twitter.