SlideShare une entreprise Scribd logo
1  sur  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.

Contenu connexe

Tendances

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
 

Tendances (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)
 

Similaire à 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
 

Similaire à 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
 

Dernier

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfPrecisely
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 

Dernier (20)

Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdfHyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
Hyperautomation and AI/ML: A Strategy for Digital Transformation Success.pdf
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 

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.