SlideShare une entreprise Scribd logo
1  sur  5
Télécharger pour lire hors ligne
Developers Introduction
Origins of the project
The Department of Information Engineering and Computer Science (DISI) at
the University of Trento, has some research teams working on sensor
networks for home nursering. They needed a Framework capable of easily
integrate different projects developed in heterogeneous languages, make them
work together, to help testing and to produce visual demos for research
partners. This way teams at DISI can focus on the core of their research,
instead of developing custom solutions for every different project.
These are the main Freedomotic goals and requirements: to maintain the
flexible and modular framework that could easily ntegrates and adapts to
different (and potentially unknown) needs.
Freedomotic Architecture
Freedomotic is an automation software composed by a core (the framework)
plus some plugins.
The core part is a framework that:
1. Implements a language independent messaging system based on
Www.freedomotic.com – developers introduction v1.5
Enterprise Integration Pattern. From this follows you can develop in
your favorite language and just exchange messages with the other
software components. The aim of the messaging system is to link all
software modules together in a flexible and abstract way, relating them
using the concept of channels (publish-subscribe to different levels of a
topics hierarchy). Through messaging system travels Events, Triggers
and Commands.
• Events are notification of facts like "the state of an hardware device
is changed", "the user have clicked an object on the GUI" or "an
object changes its behavior from ON to OFF". They can be published
by any component of the system, a sensor, a frontend, the core
itself...
• Triggers listen for events and filter they values (EVENT: "the user
have clicked an object" -> TRIGGER: "if living-room light is clicked")
• Commands are instructions to do something like "turn on living-room
light"
• Reactions bounds trigger and commands to create an automation: "if
living-room light is clicked" THEN "turn on living-room light"
More info about the messaging system can be found here
http://code.google.com/p/freedomotic/wiki/MessagingSystem
2. Maintains an internal data structure representing the environment
(topology, rooms connections as a graph, ...), the objects in zones and
their state (on, off, open, closed, 50%dimmed,...)
3. Creates an abstraction layer, so users and external software modules
can use a high level logic like "turn on kitchen light" instead of "send to
COM1 port the string #*A01AON##". Ss a developer you can leverage
the others plugins features at an high logical level, is just like the
modules can see the same environment map as the user. All data
component (environment, objects, triggers, commands) can be defined
in XML and easily exchanged on the network between different nodes of
the P2P Freedomotic network.
4. Provides a rules engine coupled with a natural language processing
system to let the user writing automations in plain English like "if outside
is dark turn on living-room light". You can add, update and delete this
automations at runtime using any human computer interface like GUIs,
or even speak them.
2
Www.freedomotic.com – developers introduction v1.5
The Plugins System
• Devices: you can integrate any type of hardware automation protocol,
web service or external software using your favorite language. The
purpose of device plugins is to send events to Freedomotic to inform
it about anything it should know like, for example, a hardware device
state change, a SMS reception, a new twitter message, a person
movement to a new location in the environment, etc. It also listens
for commands from Freedomotic like turn on this device, send an
SMS, post a twitter message, ...
• Frontends: it's easy to develop frontends tailored for specific needs by
just reading and publishing events from/to the messaging bus.
Imagine for example a virtual guide system for a museum. It must
3
Www.freedomotic.com – developers introduction v1.5
have: a desktop frontend (eg: in Java) for employees so they can
track visits statistics connected to ERP/CRM software; a
configurators frontend (eg: in C++) which allows them to easily
create the interactive installations; a smartphone frontend for users
with a map interface and virtual guide based on indoor location or QR
code recognition; a web frontend used to promote the exposition with
live data and previews. All this systems must work together and can be
rapidly developed in an independent way thanks to Freedomotic
framework. This means the system can also grow in features as you
go, and can scale thanks to its distributed architecture with automatic
load-balancing of the computational load.
• Objects: developed in Java, they are pieces of software which models
the behavior of objects like lamps, doors, etc... instructing the
framework on how they behave. For example a lamp object plugin
makes the Framework know that a lamp has a boolean behavior called
powered and a dimmed behavior which is represented by an integer
from 0 to 100. In this example a lamp would expose the generic
actions turn on, turn off and dimm which can be mapped to a real
hardware command exposed by a device plugin (turn on -> turn on
x10 device). It also would define the relations between the different
behaviors: If dimmed becomes 0% the lamp is powered=false and if
dimmed > 0% the lamp is powered=true.
Features
• Cross-platform: Freedomotic is written in Java so it can run on
Windows, Linux, Mac, Solaris. Java JRE 6 is required.
• Distributed & Scalable: can be deployed on a network of cheap
peer-to-peer hardware node. It is scalable and can manage from
small apartments to huge buildings providing automatic load
balancing across clusters on the network.
• Modular & Extensible: Freedomotic is modular and can enrich its
features using plugins and crosslanguage API. API are distributed
along with the software to easily create new add-ons. It provides
OSGi Framework features in a simpler way, leveraging well known
OO programming inheritance.
• Cross-language APIs: you can connect different software,
hardware, frontends and services app developed in your preferred
programming language using REST, STOMP or plain Java.
• Not a single frontend: it can run many frontends at the same time,
also from remote. Every frontend can be developed with specific
purpose in mind and every company can build rapidly its own
branded interface hiding the framework beneath.
• Hardware Agnostic: Freedomotic has a hardware abstraction layer
to abstract from hardware infrastructure (sensors and actuators)
4
Www.freedomotic.com – developers introduction v1.5
using events, triggers and commands. An object (eg: a light) is
abstract and not related to any particular building automation
protocol.
• Event Based: Every action in the real environment and every
interaction with the system (eg: a click on the GUI) is mapped to an
event. Events can be intercepted at runtime making the behavior of
the system fully configurable and adaptable to any automation
purpose.
• Semantic-rich: Freedomotic provides a semantic-rich knowledge of
the environment topology, persons and objects in it to implement
intelligence and reasoning systems. No coding is required, the
environment can be described using graphical editors.
Current development stage
Freedomotic is an open source project at a working beta stage. We use the
home automation segment to test and attract users but its range of application
is much wider. The final purpose of the project is to build a sort of Content
Management System (CMS) for building automation. It will abstract and make
easily available the common features required by building automation system
in a way privates and companies can extend it to create custom context
aware/environment aware services.
Contributions
The project is completely Open Source and open to anyone who wants to use
it, report bugs, code, produce videos, example data, or simply talk about
building automation. We are a small community of passionate people who
commit a great part of their spare time to the project and we are always
searching for contributors, partnership and fresh ideas. If you are interested
write at info@freedomotic.com
Resources
• Online Code Repository: code.google.com/p/freedomotic
• Wiki: code.google.com/p/freedomotic/wiki/
• Official website: www.freedomotic.com
• Developers mailing list: https://groups.google.com/forum/#%21forum/freedom-domotics
• Contacts: info@freedomotic.com
5

Contenu connexe

Similaire à Freedomotic v1.5 whitepaper

OS in mobile devices [Android]
OS in mobile devices [Android]OS in mobile devices [Android]
OS in mobile devices [Android]Yatharth Aggarwal
 
ACCESS_WP_Hiker_App_framework-web
ACCESS_WP_Hiker_App_framework-webACCESS_WP_Hiker_App_framework-web
ACCESS_WP_Hiker_App_framework-webPaul Plaquette
 
Android- Introduction for Beginners
Android- Introduction for BeginnersAndroid- Introduction for Beginners
Android- Introduction for BeginnersTripti Tiwari
 
Know all about android development
Know all about android developmentKnow all about android development
Know all about android developmentDeepika Chaudhary
 
Best software development tools in 2021
Best software development tools in 2021Best software development tools in 2021
Best software development tools in 2021Samaritan InfoTech
 
Crash Course in Open Source Cloud Computing
Crash Course in Open Source Cloud ComputingCrash Course in Open Source Cloud Computing
Crash Course in Open Source Cloud ComputingMark Hinkle
 
The Big Picture - Integrating Buzzwords
The Big Picture - Integrating BuzzwordsThe Big Picture - Integrating Buzzwords
The Big Picture - Integrating BuzzwordsAlessandro Giorgetti
 
Automatic answer checker
Automatic answer checkerAutomatic answer checker
Automatic answer checkerYesu Raj
 
Live Mesh Presentation Bruno Svc
Live Mesh Presentation Bruno SvcLive Mesh Presentation Bruno Svc
Live Mesh Presentation Bruno SvcWes Yanaga
 
IT TRENDS AND PERSPECTIVES 2016
IT TRENDS AND PERSPECTIVES 2016IT TRENDS AND PERSPECTIVES 2016
IT TRENDS AND PERSPECTIVES 2016Vaidheswaran CS
 
Electronic Case Management System(eCMS) proposal
Electronic Case Management System(eCMS) proposalElectronic Case Management System(eCMS) proposal
Electronic Case Management System(eCMS) proposalLaud Randy Amofah
 
SOFIA - Smart Objects For Intelligent Applications. INDRA/ESI
SOFIA -  Smart Objects For Intelligent Applications. INDRA/ESISOFIA -  Smart Objects For Intelligent Applications. INDRA/ESI
SOFIA - Smart Objects For Intelligent Applications. INDRA/ESISofia Eu
 
Btec Business Level 3 Unit 14 M1
Btec Business Level 3 Unit 14 M1Btec Business Level 3 Unit 14 M1
Btec Business Level 3 Unit 14 M1Rachel Phillips
 
Front-End Web Development
Front-End Web DevelopmentFront-End Web Development
Front-End Web DevelopmentYash Sati
 
Building Multi-Technology Applications
Building Multi-Technology ApplicationsBuilding Multi-Technology Applications
Building Multi-Technology ApplicationsPrzemysław Ładyński
 

Similaire à Freedomotic v1.5 whitepaper (20)

OS in mobile devices [Android]
OS in mobile devices [Android]OS in mobile devices [Android]
OS in mobile devices [Android]
 
ACCESS_WP_Hiker_App_framework-web
ACCESS_WP_Hiker_App_framework-webACCESS_WP_Hiker_App_framework-web
ACCESS_WP_Hiker_App_framework-web
 
Android- Introduction for Beginners
Android- Introduction for BeginnersAndroid- Introduction for Beginners
Android- Introduction for Beginners
 
Software 2.0 - Transformation of Software Services
Software 2.0 - Transformation of Software ServicesSoftware 2.0 - Transformation of Software Services
Software 2.0 - Transformation of Software Services
 
Know all about android development
Know all about android developmentKnow all about android development
Know all about android development
 
Best software development tools in 2021
Best software development tools in 2021Best software development tools in 2021
Best software development tools in 2021
 
Crash Course in Open Source Cloud Computing
Crash Course in Open Source Cloud ComputingCrash Course in Open Source Cloud Computing
Crash Course in Open Source Cloud Computing
 
The Big Picture - Integrating Buzzwords
The Big Picture - Integrating BuzzwordsThe Big Picture - Integrating Buzzwords
The Big Picture - Integrating Buzzwords
 
Automatic answer checker
Automatic answer checkerAutomatic answer checker
Automatic answer checker
 
Live Mesh Presentation Bruno Svc
Live Mesh Presentation Bruno SvcLive Mesh Presentation Bruno Svc
Live Mesh Presentation Bruno Svc
 
IT TRENDS AND PERSPECTIVES 2016
IT TRENDS AND PERSPECTIVES 2016IT TRENDS AND PERSPECTIVES 2016
IT TRENDS AND PERSPECTIVES 2016
 
Internship msc cs
Internship msc csInternship msc cs
Internship msc cs
 
Electronic Case Management System(eCMS) proposal
Electronic Case Management System(eCMS) proposalElectronic Case Management System(eCMS) proposal
Electronic Case Management System(eCMS) proposal
 
SOFIA - Smart Objects For Intelligent Applications. INDRA/ESI
SOFIA -  Smart Objects For Intelligent Applications. INDRA/ESISOFIA -  Smart Objects For Intelligent Applications. INDRA/ESI
SOFIA - Smart Objects For Intelligent Applications. INDRA/ESI
 
Btec Business Level 3 Unit 14 M1
Btec Business Level 3 Unit 14 M1Btec Business Level 3 Unit 14 M1
Btec Business Level 3 Unit 14 M1
 
Front-End Web Development
Front-End Web DevelopmentFront-End Web Development
Front-End Web Development
 
Building Multi-Technology Applications
Building Multi-Technology ApplicationsBuilding Multi-Technology Applications
Building Multi-Technology Applications
 
dot NET Framework
dot NET Frameworkdot NET Framework
dot NET Framework
 
Mca 504 dotnet_unit1
Mca 504 dotnet_unit1Mca 504 dotnet_unit1
Mca 504 dotnet_unit1
 
Tg02
Tg02Tg02
Tg02
 

Plus de freedomotic

The application of process mining in a simulated smart environment to derive ...
The application of process mining in a simulated smart environment to derive ...The application of process mining in a simulated smart environment to derive ...
The application of process mining in a simulated smart environment to derive ...freedomotic
 
Architettura hardware/software coordinata da smartphone e destinata alla domo...
Architettura hardware/software coordinata da smartphone e destinata alla domo...Architettura hardware/software coordinata da smartphone e destinata alla domo...
Architettura hardware/software coordinata da smartphone e destinata alla domo...freedomotic
 
Componentistica hardware e software coordinata da smartphone e destinata alla...
Componentistica hardware e software coordinata da smartphone e destinata alla...Componentistica hardware e software coordinata da smartphone e destinata alla...
Componentistica hardware e software coordinata da smartphone e destinata alla...freedomotic
 
Sistemi domotici integrati per la gestione intelligente d’ambiente
Sistemi domotici integrati per la gestione intelligente d’ambienteSistemi domotici integrati per la gestione intelligente d’ambiente
Sistemi domotici integrati per la gestione intelligente d’ambientefreedomotic
 
Freedomotic pitch 12.05.16 Smart Home Now Milano
Freedomotic pitch 12.05.16 Smart Home Now MilanoFreedomotic pitch 12.05.16 Smart Home Now Milano
Freedomotic pitch 12.05.16 Smart Home Now Milanofreedomotic
 
Evoluzione di un’applicazione mobile cross platform per il supporto domotico ...
Evoluzione di un’applicazione mobile cross platform per il supporto domotico ...Evoluzione di un’applicazione mobile cross platform per il supporto domotico ...
Evoluzione di un’applicazione mobile cross platform per il supporto domotico ...freedomotic
 
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...freedomotic
 
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...freedomotic
 
Evoluzione di un’applicazione mobile cross platform per il supporto domotico ...
Evoluzione di un’applicazione mobile cross platform per il supporto domotico ...Evoluzione di un’applicazione mobile cross platform per il supporto domotico ...
Evoluzione di un’applicazione mobile cross platform per il supporto domotico ...freedomotic
 
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...freedomotic
 
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...freedomotic
 
Heima Off Grid Casa Auto­‐Suficiente Controlada
Heima Off Grid Casa Auto­‐Suficiente ControladaHeima Off Grid Casa Auto­‐Suficiente Controlada
Heima Off Grid Casa Auto­‐Suficiente Controladafreedomotic
 
Freedomotic v5.5 Changelog
Freedomotic v5.5 ChangelogFreedomotic v5.5 Changelog
Freedomotic v5.5 Changelogfreedomotic
 
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...freedomotic
 

Plus de freedomotic (14)

The application of process mining in a simulated smart environment to derive ...
The application of process mining in a simulated smart environment to derive ...The application of process mining in a simulated smart environment to derive ...
The application of process mining in a simulated smart environment to derive ...
 
Architettura hardware/software coordinata da smartphone e destinata alla domo...
Architettura hardware/software coordinata da smartphone e destinata alla domo...Architettura hardware/software coordinata da smartphone e destinata alla domo...
Architettura hardware/software coordinata da smartphone e destinata alla domo...
 
Componentistica hardware e software coordinata da smartphone e destinata alla...
Componentistica hardware e software coordinata da smartphone e destinata alla...Componentistica hardware e software coordinata da smartphone e destinata alla...
Componentistica hardware e software coordinata da smartphone e destinata alla...
 
Sistemi domotici integrati per la gestione intelligente d’ambiente
Sistemi domotici integrati per la gestione intelligente d’ambienteSistemi domotici integrati per la gestione intelligente d’ambiente
Sistemi domotici integrati per la gestione intelligente d’ambiente
 
Freedomotic pitch 12.05.16 Smart Home Now Milano
Freedomotic pitch 12.05.16 Smart Home Now MilanoFreedomotic pitch 12.05.16 Smart Home Now Milano
Freedomotic pitch 12.05.16 Smart Home Now Milano
 
Evoluzione di un’applicazione mobile cross platform per il supporto domotico ...
Evoluzione di un’applicazione mobile cross platform per il supporto domotico ...Evoluzione di un’applicazione mobile cross platform per il supporto domotico ...
Evoluzione di un’applicazione mobile cross platform per il supporto domotico ...
 
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
 
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
 
Evoluzione di un’applicazione mobile cross platform per il supporto domotico ...
Evoluzione di un’applicazione mobile cross platform per il supporto domotico ...Evoluzione di un’applicazione mobile cross platform per il supporto domotico ...
Evoluzione di un’applicazione mobile cross platform per il supporto domotico ...
 
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: Applicazione mobile cross-platform di supporto ai non vedenti pe...
 
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
SpokenHouse: applicazione mobile cross-platform di supporto ai non vedenti pe...
 
Heima Off Grid Casa Auto­‐Suficiente Controlada
Heima Off Grid Casa Auto­‐Suficiente ControladaHeima Off Grid Casa Auto­‐Suficiente Controlada
Heima Off Grid Casa Auto­‐Suficiente Controlada
 
Freedomotic v5.5 Changelog
Freedomotic v5.5 ChangelogFreedomotic v5.5 Changelog
Freedomotic v5.5 Changelog
 
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...
Tesi: Definizione e sviluppo di un sistema di configurazione per Private Assi...
 

Dernier

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplatePresentation.STUDIO
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Hararemasabamasaba
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastPapp Krisztián
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfayushiqss
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfonteinmasabamasaba
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisamasabamasaba
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durbanmasabamasaba
 

Dernier (20)

Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdfThe Top App Development Trends Shaping the Industry in 2024-25 .pdf
The Top App Development Trends Shaping the Industry in 2024-25 .pdf
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
%in kaalfontein+277-882-255-28 abortion pills for sale in kaalfontein
 
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa%in tembisa+277-882-255-28 abortion pills for sale in tembisa
%in tembisa+277-882-255-28 abortion pills for sale in tembisa
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Generic or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban%in Durban+277-882-255-28 abortion pills for sale in Durban
%in Durban+277-882-255-28 abortion pills for sale in Durban
 

Freedomotic v1.5 whitepaper

  • 1. Developers Introduction Origins of the project The Department of Information Engineering and Computer Science (DISI) at the University of Trento, has some research teams working on sensor networks for home nursering. They needed a Framework capable of easily integrate different projects developed in heterogeneous languages, make them work together, to help testing and to produce visual demos for research partners. This way teams at DISI can focus on the core of their research, instead of developing custom solutions for every different project. These are the main Freedomotic goals and requirements: to maintain the flexible and modular framework that could easily ntegrates and adapts to different (and potentially unknown) needs. Freedomotic Architecture Freedomotic is an automation software composed by a core (the framework) plus some plugins. The core part is a framework that: 1. Implements a language independent messaging system based on
  • 2. Www.freedomotic.com – developers introduction v1.5 Enterprise Integration Pattern. From this follows you can develop in your favorite language and just exchange messages with the other software components. The aim of the messaging system is to link all software modules together in a flexible and abstract way, relating them using the concept of channels (publish-subscribe to different levels of a topics hierarchy). Through messaging system travels Events, Triggers and Commands. • Events are notification of facts like "the state of an hardware device is changed", "the user have clicked an object on the GUI" or "an object changes its behavior from ON to OFF". They can be published by any component of the system, a sensor, a frontend, the core itself... • Triggers listen for events and filter they values (EVENT: "the user have clicked an object" -> TRIGGER: "if living-room light is clicked") • Commands are instructions to do something like "turn on living-room light" • Reactions bounds trigger and commands to create an automation: "if living-room light is clicked" THEN "turn on living-room light" More info about the messaging system can be found here http://code.google.com/p/freedomotic/wiki/MessagingSystem 2. Maintains an internal data structure representing the environment (topology, rooms connections as a graph, ...), the objects in zones and their state (on, off, open, closed, 50%dimmed,...) 3. Creates an abstraction layer, so users and external software modules can use a high level logic like "turn on kitchen light" instead of "send to COM1 port the string #*A01AON##". Ss a developer you can leverage the others plugins features at an high logical level, is just like the modules can see the same environment map as the user. All data component (environment, objects, triggers, commands) can be defined in XML and easily exchanged on the network between different nodes of the P2P Freedomotic network. 4. Provides a rules engine coupled with a natural language processing system to let the user writing automations in plain English like "if outside is dark turn on living-room light". You can add, update and delete this automations at runtime using any human computer interface like GUIs, or even speak them. 2
  • 3. Www.freedomotic.com – developers introduction v1.5 The Plugins System • Devices: you can integrate any type of hardware automation protocol, web service or external software using your favorite language. The purpose of device plugins is to send events to Freedomotic to inform it about anything it should know like, for example, a hardware device state change, a SMS reception, a new twitter message, a person movement to a new location in the environment, etc. It also listens for commands from Freedomotic like turn on this device, send an SMS, post a twitter message, ... • Frontends: it's easy to develop frontends tailored for specific needs by just reading and publishing events from/to the messaging bus. Imagine for example a virtual guide system for a museum. It must 3
  • 4. Www.freedomotic.com – developers introduction v1.5 have: a desktop frontend (eg: in Java) for employees so they can track visits statistics connected to ERP/CRM software; a configurators frontend (eg: in C++) which allows them to easily create the interactive installations; a smartphone frontend for users with a map interface and virtual guide based on indoor location or QR code recognition; a web frontend used to promote the exposition with live data and previews. All this systems must work together and can be rapidly developed in an independent way thanks to Freedomotic framework. This means the system can also grow in features as you go, and can scale thanks to its distributed architecture with automatic load-balancing of the computational load. • Objects: developed in Java, they are pieces of software which models the behavior of objects like lamps, doors, etc... instructing the framework on how they behave. For example a lamp object plugin makes the Framework know that a lamp has a boolean behavior called powered and a dimmed behavior which is represented by an integer from 0 to 100. In this example a lamp would expose the generic actions turn on, turn off and dimm which can be mapped to a real hardware command exposed by a device plugin (turn on -> turn on x10 device). It also would define the relations between the different behaviors: If dimmed becomes 0% the lamp is powered=false and if dimmed > 0% the lamp is powered=true. Features • Cross-platform: Freedomotic is written in Java so it can run on Windows, Linux, Mac, Solaris. Java JRE 6 is required. • Distributed & Scalable: can be deployed on a network of cheap peer-to-peer hardware node. It is scalable and can manage from small apartments to huge buildings providing automatic load balancing across clusters on the network. • Modular & Extensible: Freedomotic is modular and can enrich its features using plugins and crosslanguage API. API are distributed along with the software to easily create new add-ons. It provides OSGi Framework features in a simpler way, leveraging well known OO programming inheritance. • Cross-language APIs: you can connect different software, hardware, frontends and services app developed in your preferred programming language using REST, STOMP or plain Java. • Not a single frontend: it can run many frontends at the same time, also from remote. Every frontend can be developed with specific purpose in mind and every company can build rapidly its own branded interface hiding the framework beneath. • Hardware Agnostic: Freedomotic has a hardware abstraction layer to abstract from hardware infrastructure (sensors and actuators) 4
  • 5. Www.freedomotic.com – developers introduction v1.5 using events, triggers and commands. An object (eg: a light) is abstract and not related to any particular building automation protocol. • Event Based: Every action in the real environment and every interaction with the system (eg: a click on the GUI) is mapped to an event. Events can be intercepted at runtime making the behavior of the system fully configurable and adaptable to any automation purpose. • Semantic-rich: Freedomotic provides a semantic-rich knowledge of the environment topology, persons and objects in it to implement intelligence and reasoning systems. No coding is required, the environment can be described using graphical editors. Current development stage Freedomotic is an open source project at a working beta stage. We use the home automation segment to test and attract users but its range of application is much wider. The final purpose of the project is to build a sort of Content Management System (CMS) for building automation. It will abstract and make easily available the common features required by building automation system in a way privates and companies can extend it to create custom context aware/environment aware services. Contributions The project is completely Open Source and open to anyone who wants to use it, report bugs, code, produce videos, example data, or simply talk about building automation. We are a small community of passionate people who commit a great part of their spare time to the project and we are always searching for contributors, partnership and fresh ideas. If you are interested write at info@freedomotic.com Resources • Online Code Repository: code.google.com/p/freedomotic • Wiki: code.google.com/p/freedomotic/wiki/ • Official website: www.freedomotic.com • Developers mailing list: https://groups.google.com/forum/#%21forum/freedom-domotics • Contacts: info@freedomotic.com 5