18
Situation-Aware Application Development with SCENE Isaac S. A. Pereira

Situation-Aware Application Development with SCENE Isaac S. A. Pereira

Embed Size (px)

Citation preview

Page 1: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

Situation-Aware Application Development with SCENE

Isaac S. A. Pereira

Page 2: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

Agenda

From Context to Situations From Drools to SCENE SCENE Features Development Environment Sample Application

Page 3: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

From Context to Situations

Context Composition

Sensor Data

Context

Situation

Page 4: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

From Context to Situations

É um tipo de evento complexo que representa a ocorrência de um estado de interesse sobre entidades de um dado domínio, composta de uma especificação lógica que define as condições das entidades que eventualmente participam da mesma.

Page 5: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

From Context to Situations

Page 6: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

From Drools to SCENE

Pattern-Matching (ReteOO)

Temporal Reasoning

Situations

SCENE

Page 7: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

From Drools to SCENE

SCENE Engine

Drools Engine

Application level

Situation API

Rule EngineEvent Model

Domain Situation Specification

Page 8: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

From Drools to SCENE

SCENE

SCENE-coresituation-api

SiNoS uses for publishing

uses situation

model

Page 9: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

Situation API

From Drools to SCENE

Page 10: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

Situation Design

public MySituation extends SituationType {       @Role(label=“l1”)       private Entity role1;       ...       @Role       private Entity’ roleN;       ...        //GETTERS AND SETTERS}

Page 11: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

Situation Design

rule “MySituation”@role(situation)@type(MySituation) when l1: Entity(<constraint1>,...,<constraintN>)  ... roleN: Entity’(<constraint’1>,...,<constraint’N>) then SituationHelper.situationDetected(drools);end

Page 12: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

Participation

Page 13: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

Temporal Relations

Page 14: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

Temporal Relations

Situations over Sliding Windows

Actually...

Page 15: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

Development

SCENEDrools 5.5.0.Final0.9.1

SiNoS 0.4.5

Page 16: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

mvn archetype:generate-DarchetypeGroupId=br.ufes.inf.lprm-DarchetypeArtifactId=scene-archetype-DarchetypeVersion=0.9.1-DarchetypeRepository=https://raw.github.com/pereirazc/SCENE/mvn-repo

Development

Page 17: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

New ProjectGroupId=br.ufes.inf.lprmArtifactId=seminario

mvn eclipse:eclipse

Development

Page 18: Situation-Aware Application Development with SCENE Isaac S. A. Pereira

Fever Situation

Sample Application