SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Towards Building a Global Oracle:
A Physical Mashup using Artificial
    Intelligence Technology


 Carolina Fortuna, Blaz Fortuna, Matevz Vucnik,
     Klemen Kenda, Alexandra Moraru and
                 Dunja Mladenic
              http://sensorlab.ijs.si/
               http://sensors.ijs.si/

        Web of Things Workshop, June 19, 2012.
Outline
• The big picture
• System architecture
• System Implementation
  • Sensor Data Acquisition
  • SenseStream
  • The Videk mash-up server
  • Videk API and GUI
• External data sources
  • ResearchCyc
  • Web Services
• Conclusions
The big picture




    Analogy between humans and WoT
The big picture – AI technologies for
physical mash-ups




• WoT mashups can take and use the data at any of these
 stages.
System architecture




• Mashup server containing a stream storing and
  processing engine
• Sensor data
• External web services
• GUI/API
System implementation
 Integrating in
the ecosystem                Stream
                           processing




           Physical data
            acquisition        Contextualization
Sensor data acquisition




    Device Identification Protocol (DIP) sequence diagram
SenseStream




• stream mining and event detection engine
• The central part of the system
   • Data Layer and
   • Mining Algorithms
SenseStream data layer schema
Current State & Aggregates
                                   Calculate on-line (update with
•   CurrentState is partly         last measurement)
    stand-alone object             • Count
    (configuration),               • Average
•   partly included (distributed   • Sum
    within) in Sensor store        • Min
                                   • Max
    records.
                                   • Standard deviation*
•   Stores current aggregates
    – state of the system          Calculate directly on the series
•   Saves aggregates to the        • Median
    aggregate store after          • 1st Quartile
    transition into a new time     • 3rd Quartile
    window
Aggregates
                                     <?xml version="1.0" encoding="utf-8"?>
Primary aggregates                   <configuration>
                                       <timespans>
                                         <timespan id="1" timewindow="3600" />
Calculated from raw                      <timespan id="2" pid="1" timewindow="24" interval="1"/>
                                         <timespan id="3" pid="2" timewindow="7" interval="1"/>
measurements, fine grained.              <timespan id="3" pid="2" timewindow="30" interval="1"/>
                                         <timespan id="4" pid="2" timewindow="365" interval="1"/>
                                       </timespans>
                                       <aggregates>
                                         <aggregate type="MAX"/>
                                         <aggregate type="MIN">

Secondary aggregates                       <timespan id="1" timewindow="3600">
                                           <timespan id="2" pid="1" timewindow="48" interval="24"/>
                                         </aggregate>

Calculated from other aggregates         <aggregate type="AVG"/>
                                         <aggregate type="SUM"/>
                                         <aggregate type="STD"/>
(only possible to use with on-line       <aggregate type="MED"/>
                                         <aggregate type="1QU"/>
type).                                   <aggregate type="3QU"/>
                                         <aggregate type="CNT"/>
                                       </aggregates>
                                       <sensortypes>
                                         <sensortype id="1">
Configure time spans, aggregate            <aggregate type="MAX"/>
                                           <aggregate type="SUM"/>
types, aggregates for certain            </sensortype>
                                       </sensortypes>

sensor types, aggregates for           <sensors>
                                         <sensor id="1">
                                           <aggregate type="MAX"/>
certain sensor.                            <aggregate type="SUM"/>
                                         </sensor>
                                       </sensors>
                                     </configuration>
Time windows & intervals
                                            <timespan id="1" timewindow="3600" />
•   Time windows of aggregates can
    overlap                                 <timespan id="2" pid="1"
                                             timewindow="24" interval="1"/>
•   Overlapping interval is set in
    configuration file (interval)           <timespan id="3" pid="2"
                                             timewindow="7" interval="1"/>
•   For example:
        •   Weekly aggregates can be
            calculated from Monday to                               Overlap/update
            Monday, from Tuesday to         7-day time              interval is 1 day
                                            window
            Tuesday, etc.




    M       T       W      T       F    S      S         M      T          W            time
Event Detection
•   Easy and fast detection of     Fog forming example
                                   If
    events on current state data       (humidity[AVG,1h] < 90%) &
    (very simple rules)                (humidity[AVG,10m] > 95%)
                                   Then
                                       trigger fog forming risk event.
•   Simple validation of more
    complex event queries (using   Road Icing example
    current state and previous     If
                                       (precipitation[SUM,12h,6h ago] > X) &
    aggregates)                        (temparature[MAX,12h,6h ago] > 0) &
                                       (temperature[MIN, 6h]) < 0)
                                   Then
•   Time can be handled with           trigger road icing risk event.

    ease ...                       Time example
                                   If
                                       (temperature[AVG,1w,3d ago] <-5) &
                                       (temperature[AVG,24h,2d ago] < 5) &
                                       (temperature[AVG,24h,1d ago] < 5) &
                                   Then
                                       trigger lake still frozen event.
Rule generation and export
<And> <Atom>
  <op> <Rel iri="cyc:sensorObservation"/> </op>
  <Var> sensor </Var>
  <Ind iri="cyc:Raindrop"/> </Atom>
<Atom>
  <op> <Rel iri="cyc:doneBy"/> </op>
  <Var> sensor </Var>
  <Var> measurement </Var> </Atom>
<Atom>
  <op> <Rel iri="cyc:measurementResult"/>
</op>
  <Var> measurement </Var>
  <Var> val1 </Var> </Atom>
<Atom>
  <op> <Rel iri="cyc:duration"/> </op>
  <Var> measurement </Var>
               <Ind
type="xs:time">24:00:00</Ind> </Atom>
<Atom>
  <op> <Rel iri="cyc:greaterThan"/> </op>
  <Var> val1 </Var>
  <Ind type="xs:float">250</Ind>
</Atom> </And>
The Videk mash-up server
• acts as a glue between different components and services
  used
• it interfaces with sensors receiving data from these
• parses and multiplexes the data
  • to the back-up database,
  • to SenseStream,
  • to ResearchCyc,
  • to the triple store.
• it exposes the API to be used by external applications
• provides a GUI with widgets which mashes up the data
 and resulting knowledge
Videk API
• http://sensors.ijs.si/xml/current-state the XML structured
  answer includes:
• nodes
  • records (int) - number of nodes
  • node
    •   id (int) - internal id of the node
    •   name (string) - identifier of the node
    •   latitude (double) - latitude of the node
    •   longitude (double) - longitude of the node
    •   sensor
        •   id (int) - internal id of the sensor
        •   sensortypeid (int) - internal id of the type of the sensor
        •   featureofmeasurement (string) - human readable feature of measurement
        •   unitofmeasurement (string) - human readable unit of measurement
        •   lastmeasurement (double) - value of the last measurement from the sensor
        •   measurementtime (time) - MySQL fromatted timestamp of the measurement
Videk GUI




            http://sensors.ijs.si/
External data sources
• Research Cyc for structured knowledge representation
  and reasoning
• Open web services for additional context collection
  • Based on the sensor nodes’ GPS coordinates, Google maps are
    used as the GUI’s background and the right focus on the
    deployment locations is presented.
  • Based on the GPS coordinates, the Geonames service is used to
    retrieve the name of the place where the sensors are deployed and
    relevant information from Wikipedia.
  • Finally, the Panoramio service is invoked to retrieve and render
    pictures of the surrounding area.
ResearchCyc
• the research release of Cyc, an artificial intelligence system
   • comprised of a knowledge base and a reasoning engine
• the idea behind it is to encode knowledge in a structured way
 and reason about it similar to the way the human mind does it.
  • each of us learns the concept of a tree, branch, leaf and fruit.
  • we learn relationships between these concepts: that a tree has
    branches, on a branch grow leaves and fruit.
  • we are able to recognize instances of these: this apple tree, this apple,
    this apple leaf.
• This knowledge builds up in our brains over years and makes it
 possible to understand, communicate and reason.
ResearchCyc



              • We inserted the
                collected meta-data in
                the KB
              • Using NL generation
                rules we provide
                transliteration of the
                logical structures.
Summary
• made an analogy between human senses and sensors; and
 between human brain and artificial intelligence technology
  • this analogy leads to the concept of Global Oracle.
• described Videk - a physical mashup which uses artificial
 intelligence technology
  • Videk automatically collects data from sensors.
  • the data is processed and stored by SenseStream while the meta-data
    is fed into ResearchCyc.
  • SenseStream indexes aggregates, performs clustering and learns
    rules which then it exports as RuleML.
  • ResearchCyc performs logical inference on the meta-data and
    transliterates logical sentences.
  • The GUI mashes up sensor data with SenseStream output,
    ResearchCyc output and other external data sources: GoogleMaps,
    Geonames, Wikipedia and Panoramio.
Future work
• extend SenseStream and couple it with ResearchCyc.
• StreamSense
  • add additional mining and learning algorithms which make sense of
    the input sensor data.
  • implement detection of events that comply with the learned rules
    that are currently exported as RuleML.
  • the learned rules, together with richer meta-data automatically
    collected from upcoming sensor deployments will be also be
    inserted into ResearchCyc for reasoning and transliteration.
• all developments will reflect on the GUI and API in time.
Lab: http://sensorlab.ijs.si/
WoT Mash-up: http://sensors.ijs.si/
      Tutorial: http://carolinafortuna.com/web-of-things-tutorial/
      Contact: carolina.fortuna@ijs.si

Weitere ähnliche Inhalte

Ähnlich wie Fortuna 2012 physical_mashup_artificial_intelligence

MongoDB for Time Series Data
MongoDB for Time Series DataMongoDB for Time Series Data
MongoDB for Time Series DataMongoDB
 
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...InfluxData
 
MongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Setting the Stage for Sensor ManagementMongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Setting the Stage for Sensor ManagementMongoDB
 
Become a GC Hero
Become a GC HeroBecome a GC Hero
Become a GC HeroTier1app
 
Remote Log Analytics Using DDS, ELK, and RxJS
Remote Log Analytics Using DDS, ELK, and RxJSRemote Log Analytics Using DDS, ELK, and RxJS
Remote Log Analytics Using DDS, ELK, and RxJSSumant Tambe
 
Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016
Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016
Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016DataStax
 
Storing Cassandra Metrics
Storing Cassandra MetricsStoring Cassandra Metrics
Storing Cassandra MetricsChris Lohfink
 
Amazon CloudWatch - Observability and Monitoring
Amazon CloudWatch - Observability and MonitoringAmazon CloudWatch - Observability and Monitoring
Amazon CloudWatch - Observability and MonitoringRick Hwang
 
Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016
Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016
Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016DataStax
 
Time Series Analysis
Time Series AnalysisTime Series Analysis
Time Series AnalysisQAware GmbH
 
Time Series Processing with Solr and Spark
Time Series Processing with Solr and SparkTime Series Processing with Solr and Spark
Time Series Processing with Solr and SparkJosef Adersberger
 
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...Lucidworks
 
Api Statistics- The Scalable Way
Api Statistics- The Scalable WayApi Statistics- The Scalable Way
Api Statistics- The Scalable WayWSO2
 
MongoDB for Time Series Data: Schema Design
MongoDB for Time Series Data: Schema DesignMongoDB for Time Series Data: Schema Design
MongoDB for Time Series Data: Schema DesignMongoDB
 
Lesson 05 - Time in Distrributed System.pptx
Lesson 05 - Time in Distrributed System.pptxLesson 05 - Time in Distrributed System.pptx
Lesson 05 - Time in Distrributed System.pptxLagamaPasala
 
Embedded Recipes 2018 - Finding sources of Latency In your system - Steven Ro...
Embedded Recipes 2018 - Finding sources of Latency In your system - Steven Ro...Embedded Recipes 2018 - Finding sources of Latency In your system - Steven Ro...
Embedded Recipes 2018 - Finding sources of Latency In your system - Steven Ro...Anne Nicolas
 
Class5_DataloggerProgrammingArduino.pptx
Class5_DataloggerProgrammingArduino.pptxClass5_DataloggerProgrammingArduino.pptx
Class5_DataloggerProgrammingArduino.pptxHebaEng
 
Infrastructure Monitoring with Postgres
Infrastructure Monitoring with PostgresInfrastructure Monitoring with Postgres
Infrastructure Monitoring with PostgresSteven Simpson
 

Ähnlich wie Fortuna 2012 physical_mashup_artificial_intelligence (20)

MongoDB for Time Series Data
MongoDB for Time Series DataMongoDB for Time Series Data
MongoDB for Time Series Data
 
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...
Phil Day [Configured Things] | Policy-Driven Real-Time Data Filtering from Io...
 
MongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Setting the Stage for Sensor ManagementMongoDB for Time Series Data: Setting the Stage for Sensor Management
MongoDB for Time Series Data: Setting the Stage for Sensor Management
 
Become a GC Hero
Become a GC HeroBecome a GC Hero
Become a GC Hero
 
Remote Log Analytics Using DDS, ELK, and RxJS
Remote Log Analytics Using DDS, ELK, and RxJSRemote Log Analytics Using DDS, ELK, and RxJS
Remote Log Analytics Using DDS, ELK, and RxJS
 
Android Sensor System
Android Sensor SystemAndroid Sensor System
Android Sensor System
 
Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016
Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016
Storing Cassandra Metrics (Chris Lohfink, DataStax) | C* Summit 2016
 
Storing Cassandra Metrics
Storing Cassandra MetricsStoring Cassandra Metrics
Storing Cassandra Metrics
 
Amazon CloudWatch - Observability and Monitoring
Amazon CloudWatch - Observability and MonitoringAmazon CloudWatch - Observability and Monitoring
Amazon CloudWatch - Observability and Monitoring
 
Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016
Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016
Monitoring Cassandra at Scale (Jason Cacciatore, Netflix) | C* Summit 2016
 
Time Series Analysis
Time Series AnalysisTime Series Analysis
Time Series Analysis
 
Time Series Processing with Solr and Spark
Time Series Processing with Solr and SparkTime Series Processing with Solr and Spark
Time Series Processing with Solr and Spark
 
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
Time Series Processing with Solr and Spark: Presented by Josef Adersberger, Q...
 
Api Statistics- The Scalable Way
Api Statistics- The Scalable WayApi Statistics- The Scalable Way
Api Statistics- The Scalable Way
 
MongoDB for Time Series Data: Schema Design
MongoDB for Time Series Data: Schema DesignMongoDB for Time Series Data: Schema Design
MongoDB for Time Series Data: Schema Design
 
Lesson 05 - Time in Distrributed System.pptx
Lesson 05 - Time in Distrributed System.pptxLesson 05 - Time in Distrributed System.pptx
Lesson 05 - Time in Distrributed System.pptx
 
Embedded Recipes 2018 - Finding sources of Latency In your system - Steven Ro...
Embedded Recipes 2018 - Finding sources of Latency In your system - Steven Ro...Embedded Recipes 2018 - Finding sources of Latency In your system - Steven Ro...
Embedded Recipes 2018 - Finding sources of Latency In your system - Steven Ro...
 
Analytics with Spark
Analytics with SparkAnalytics with Spark
Analytics with Spark
 
Class5_DataloggerProgrammingArduino.pptx
Class5_DataloggerProgrammingArduino.pptxClass5_DataloggerProgrammingArduino.pptx
Class5_DataloggerProgrammingArduino.pptx
 
Infrastructure Monitoring with Postgres
Infrastructure Monitoring with PostgresInfrastructure Monitoring with Postgres
Infrastructure Monitoring with Postgres
 

Kürzlich hochgeladen

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
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
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
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
 
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
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
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
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
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
 
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
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 

Kürzlich hochgeladen (20)

Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
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
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
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
 
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
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
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
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
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
 
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
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 

Fortuna 2012 physical_mashup_artificial_intelligence

  • 1. Towards Building a Global Oracle: A Physical Mashup using Artificial Intelligence Technology Carolina Fortuna, Blaz Fortuna, Matevz Vucnik, Klemen Kenda, Alexandra Moraru and Dunja Mladenic http://sensorlab.ijs.si/ http://sensors.ijs.si/ Web of Things Workshop, June 19, 2012.
  • 2. Outline • The big picture • System architecture • System Implementation • Sensor Data Acquisition • SenseStream • The Videk mash-up server • Videk API and GUI • External data sources • ResearchCyc • Web Services • Conclusions
  • 3. The big picture Analogy between humans and WoT
  • 4. The big picture – AI technologies for physical mash-ups • WoT mashups can take and use the data at any of these stages.
  • 5. System architecture • Mashup server containing a stream storing and processing engine • Sensor data • External web services • GUI/API
  • 6. System implementation Integrating in the ecosystem Stream processing Physical data acquisition Contextualization
  • 7. Sensor data acquisition Device Identification Protocol (DIP) sequence diagram
  • 8. SenseStream • stream mining and event detection engine • The central part of the system • Data Layer and • Mining Algorithms
  • 10. Current State & Aggregates Calculate on-line (update with • CurrentState is partly last measurement) stand-alone object • Count (configuration), • Average • partly included (distributed • Sum within) in Sensor store • Min • Max records. • Standard deviation* • Stores current aggregates – state of the system Calculate directly on the series • Saves aggregates to the • Median aggregate store after • 1st Quartile transition into a new time • 3rd Quartile window
  • 11. Aggregates <?xml version="1.0" encoding="utf-8"?> Primary aggregates <configuration> <timespans> <timespan id="1" timewindow="3600" /> Calculated from raw <timespan id="2" pid="1" timewindow="24" interval="1"/> <timespan id="3" pid="2" timewindow="7" interval="1"/> measurements, fine grained. <timespan id="3" pid="2" timewindow="30" interval="1"/> <timespan id="4" pid="2" timewindow="365" interval="1"/> </timespans> <aggregates> <aggregate type="MAX"/> <aggregate type="MIN"> Secondary aggregates <timespan id="1" timewindow="3600"> <timespan id="2" pid="1" timewindow="48" interval="24"/> </aggregate> Calculated from other aggregates <aggregate type="AVG"/> <aggregate type="SUM"/> <aggregate type="STD"/> (only possible to use with on-line <aggregate type="MED"/> <aggregate type="1QU"/> type). <aggregate type="3QU"/> <aggregate type="CNT"/> </aggregates> <sensortypes> <sensortype id="1"> Configure time spans, aggregate <aggregate type="MAX"/> <aggregate type="SUM"/> types, aggregates for certain </sensortype> </sensortypes> sensor types, aggregates for <sensors> <sensor id="1"> <aggregate type="MAX"/> certain sensor. <aggregate type="SUM"/> </sensor> </sensors> </configuration>
  • 12. Time windows & intervals <timespan id="1" timewindow="3600" /> • Time windows of aggregates can overlap <timespan id="2" pid="1" timewindow="24" interval="1"/> • Overlapping interval is set in configuration file (interval) <timespan id="3" pid="2" timewindow="7" interval="1"/> • For example: • Weekly aggregates can be calculated from Monday to Overlap/update Monday, from Tuesday to 7-day time interval is 1 day window Tuesday, etc. M T W T F S S M T W time
  • 13. Event Detection • Easy and fast detection of Fog forming example If events on current state data (humidity[AVG,1h] < 90%) & (very simple rules) (humidity[AVG,10m] > 95%) Then trigger fog forming risk event. • Simple validation of more complex event queries (using Road Icing example current state and previous If (precipitation[SUM,12h,6h ago] > X) & aggregates) (temparature[MAX,12h,6h ago] > 0) & (temperature[MIN, 6h]) < 0) Then • Time can be handled with trigger road icing risk event. ease ... Time example If (temperature[AVG,1w,3d ago] <-5) & (temperature[AVG,24h,2d ago] < 5) & (temperature[AVG,24h,1d ago] < 5) & Then trigger lake still frozen event.
  • 14. Rule generation and export <And> <Atom> <op> <Rel iri="cyc:sensorObservation"/> </op> <Var> sensor </Var> <Ind iri="cyc:Raindrop"/> </Atom> <Atom> <op> <Rel iri="cyc:doneBy"/> </op> <Var> sensor </Var> <Var> measurement </Var> </Atom> <Atom> <op> <Rel iri="cyc:measurementResult"/> </op> <Var> measurement </Var> <Var> val1 </Var> </Atom> <Atom> <op> <Rel iri="cyc:duration"/> </op> <Var> measurement </Var> <Ind type="xs:time">24:00:00</Ind> </Atom> <Atom> <op> <Rel iri="cyc:greaterThan"/> </op> <Var> val1 </Var> <Ind type="xs:float">250</Ind> </Atom> </And>
  • 15. The Videk mash-up server • acts as a glue between different components and services used • it interfaces with sensors receiving data from these • parses and multiplexes the data • to the back-up database, • to SenseStream, • to ResearchCyc, • to the triple store. • it exposes the API to be used by external applications • provides a GUI with widgets which mashes up the data and resulting knowledge
  • 16. Videk API • http://sensors.ijs.si/xml/current-state the XML structured answer includes: • nodes • records (int) - number of nodes • node • id (int) - internal id of the node • name (string) - identifier of the node • latitude (double) - latitude of the node • longitude (double) - longitude of the node • sensor • id (int) - internal id of the sensor • sensortypeid (int) - internal id of the type of the sensor • featureofmeasurement (string) - human readable feature of measurement • unitofmeasurement (string) - human readable unit of measurement • lastmeasurement (double) - value of the last measurement from the sensor • measurementtime (time) - MySQL fromatted timestamp of the measurement
  • 17. Videk GUI http://sensors.ijs.si/
  • 18. External data sources • Research Cyc for structured knowledge representation and reasoning • Open web services for additional context collection • Based on the sensor nodes’ GPS coordinates, Google maps are used as the GUI’s background and the right focus on the deployment locations is presented. • Based on the GPS coordinates, the Geonames service is used to retrieve the name of the place where the sensors are deployed and relevant information from Wikipedia. • Finally, the Panoramio service is invoked to retrieve and render pictures of the surrounding area.
  • 19. ResearchCyc • the research release of Cyc, an artificial intelligence system • comprised of a knowledge base and a reasoning engine • the idea behind it is to encode knowledge in a structured way and reason about it similar to the way the human mind does it. • each of us learns the concept of a tree, branch, leaf and fruit. • we learn relationships between these concepts: that a tree has branches, on a branch grow leaves and fruit. • we are able to recognize instances of these: this apple tree, this apple, this apple leaf. • This knowledge builds up in our brains over years and makes it possible to understand, communicate and reason.
  • 20. ResearchCyc • We inserted the collected meta-data in the KB • Using NL generation rules we provide transliteration of the logical structures.
  • 21. Summary • made an analogy between human senses and sensors; and between human brain and artificial intelligence technology • this analogy leads to the concept of Global Oracle. • described Videk - a physical mashup which uses artificial intelligence technology • Videk automatically collects data from sensors. • the data is processed and stored by SenseStream while the meta-data is fed into ResearchCyc. • SenseStream indexes aggregates, performs clustering and learns rules which then it exports as RuleML. • ResearchCyc performs logical inference on the meta-data and transliterates logical sentences. • The GUI mashes up sensor data with SenseStream output, ResearchCyc output and other external data sources: GoogleMaps, Geonames, Wikipedia and Panoramio.
  • 22. Future work • extend SenseStream and couple it with ResearchCyc. • StreamSense • add additional mining and learning algorithms which make sense of the input sensor data. • implement detection of events that comply with the learned rules that are currently exported as RuleML. • the learned rules, together with richer meta-data automatically collected from upcoming sensor deployments will be also be inserted into ResearchCyc for reasoning and transliteration. • all developments will reflect on the GUI and API in time.
  • 23. Lab: http://sensorlab.ijs.si/ WoT Mash-up: http://sensors.ijs.si/ Tutorial: http://carolinafortuna.com/web-of-things-tutorial/ Contact: carolina.fortuna@ijs.si