GithubHelp home page GithubHelp logo

luisaugustomelo / scene-platform Goto Github PK

View Code? Open in Web Editor NEW

This project forked from pextralabs/scene-platform

0.0 1.0 0.0 1.93 MB

Rule-based platform for supporting of situation specification, detection and lifecycle control.

Scala 2.01% Java 97.99%

scene-platform's Introduction

SCENE Platform

Slack Status Travis Status core model

SCENE is a platform for situation management that leverages on JBoss Drools rule engine and its integrated Complex Event Processing features to natively support rule-based situation-awareness.

A situation is a complex event which endures over time as certain conditions involving relevant contexts hold. Such relevant contexts are qualified within a role or part by the very conditions held by them. Take John - an individual whose temperature is being measured over time. Anytime John's temperature is above 37.5 it qualifies him as a febrile person. We can refer the fever as a situation taking place with John taking the part of febrile on it.

The fever pattern can be described in DRL (Drools Rule Language) as:

declare Person
	name: String
	temperature: Double
end

declare Fever extends Situation
	febrile: Person @part @key
end

rule Fever
@role(situation)
	when
		febrile: Person(temperature > 37.5)
	then
		SituationHelper.situationDetected(drools)
end

In order to fully describe a SCENE situation, one must declare a Situation kind (Fever) and specify its properties. The binding classifier @part tags a property as a role (e.g. febrile) to be matched in a further situation identification. There will be conditions in which an individual fulfill a part and the Situation rule entails them as patterns (e.g. what it takes to person turn into febrile). A property tagged as @part in the class must be referred as a binding in the situation rule so the engine knows how to assign every individual to the right part its taking in it.

Features

SCENE offers a mean to describe situation patterns with features like generalization, composability, aggregation and temporal correlation over situations.

Instalation

Maven

<repositories>
	...
	<repository>
		<id>Scene repo</id>
		<url>https://mymavenrepo.com/repo/BG5Za6vz3CyY7SaQjMOa/</url>
	</repository>
</repositories>
<dependency>
	<groupId>br.ufes.inf.lprm</groupId>
	<artifactId>scene-core</artifactId>
	<version>0.10.7</version>
</dependency>

scene-platform's People

Contributors

pereirazc avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.