Programming and Deploying Smart Spaces using Models at

  • Slides: 32
Download presentation
+ Programming and Deploying Smart Spaces using Models at Runtime Ph. D Student: Leandro

+ Programming and Deploying Smart Spaces using Models at Runtime Ph. D Student: Leandro Alexandre Freitas Advisors: Dr. Fábio Costa Dr. Ricardo Rocha

+ 2 Outline n Introduction n Modeling Language n Model Execution Machine n Case

+ 2 Outline n Introduction n Modeling Language n Model Execution Machine n Case Study n Implementation

+ 3 Outline n Introduction n Modeling Language n Model Execution Machine n Case

+ 3 Outline n Introduction n Modeling Language n Model Execution Machine n Case Study n Implementation

+ 4 Motivation n The growth and popularization of wireless connectivity and mobile devices

+ 4 Motivation n The growth and popularization of wireless connectivity and mobile devices have allowed the development of smart spaces. The smart spaces paradigm aims at constructing advanced service infrastructures that follow the ubiquitous computing vision

+ 5 Problem Description n Programming and deploying these environments is a challenging task,

+ 5 Problem Description n Programming and deploying these environments is a challenging task, since smart spaces have: n n n dynamic nature heterogeneous resources need to coordinate the interactions between users and resources

+ 6 Research Questions 1. How to program and deploy smart spaces? 2. How

+ 6 Research Questions 1. How to program and deploy smart spaces? 2. How to deploy an updated programming in a smart space? 3. How to deploy a new programming in a smart space? 4. How to deal and address dynamic adaptation of the smart space? 5. How to coordinate interactions among of smart spaces entities?

+ 7 Objectives n General: n n Programming and Deploying Smart Spaces using Models

+ 7 Objectives n General: n n Programming and Deploying Smart Spaces using Models at Runtime Specific: n design a modeling language for smart spaces, called Smart Space Modeling Language (2 SML) n propose an architecture for a execution engine called Smart Spaces Virtual Machine (2 SVM) n allow users to program and deploy different intentions for the same ubiquitous computing environment

+ Smart Spaces Programming n Set a user's intent for the ubiquitous computing environment

+ Smart Spaces Programming n Set a user's intent for the ubiquitous computing environment through: n n Structure: n interactions that can be performed by devices, applications, services and users Behavior: n actions that the elements of a smart space should in the environment as a result of events generated by devices, applications, services and users 8

+ Smart Spaces Deployment n Consists in performing all of the activities that turn

+ Smart Spaces Deployment n Consists in performing all of the activities that turn devices, applications and services available for use n Occurs dynamically and without the need to re-boot the system 9

+ 10 Outline n Introduction n Modeling Language n Model Execution Machine n Case

+ 10 Outline n Introduction n Modeling Language n Model Execution Machine n Case Study n Implementation

+ 11 Core Meta-model M 2 System-Engineer Meta-model System-User Meta-model <<instance. Of>> M 1

+ 11 Core Meta-model M 2 System-Engineer Meta-model System-User Meta-model <<instance. Of>> M 1 System-Engineer Model <<instance. Of>> <<is. Based. On>> System-User Model <<instance. Of>> M 0 Smart Space 1 Smart Space 2 Smart Space n

+ Core Meta-Model 12

+ Core Meta-Model 12

+ System-Engineer Meta-Model 13

+ System-Engineer Meta-Model 13

+ System-User Meta-Model 14

+ System-User Meta-Model 14

+ 15 Outline n Introduction n Modeling Language n Model Execution Machine n Case

+ 15 Outline n Introduction n Modeling Language n Model Execution Machine n Case Study n Implementation

+ 2 SVM-Architecture 16 Enginner/User-2 S Interface Synthesis-Engine User-Centric 2 S Middleware 2 S

+ 2 SVM-Architecture 16 Enginner/User-2 S Interface Synthesis-Engine User-Centric 2 S Middleware 2 S Broker Hardware/Software

+ 17 2 SVM

+ 17 2 SVM

+ 18 2 SVM

+ 18 2 SVM

+ 19 2 SVM

+ 19 2 SVM

+ 20 2 SVM

+ 20 2 SVM

+ Distribution Architecture 21 User-2 S Interface Synthesis Engine Cloud User-Centric 2 S Middleware

+ Distribution Architecture 21 User-2 S Interface Synthesis Engine Cloud User-Centric 2 S Middleware User-2 S Interface User-Centric 2 S Middleware 2 S Broker

+ 22 Outline n Introduction n Modeling Language n Model Execution Machine n Case

+ 22 Outline n Introduction n Modeling Language n Model Execution Machine n Case Study n Implementation

+ 23

+ 23

+ System-Engineer Model 24 : ubi. App calendar : ubi. App fire : ubi.

+ System-Engineer Model 24 : ubi. App calendar : ubi. App fire : ubi. App climatization : ubi. App mail : ubi. App photo. Sharing : user. Role family : user. Role firefighter : user. Role guest : ubi. App entertainment : ubi. App text. Editor : event : smart. Object smart. Firefighter : event : smart. Object air. Conditioning : ubi. App call. Of. Duty : mod. Policy guest : condition : mod. Policy firefighter : condition : smart. Object tablet : action : smart. Object smartphone : action : smart. Object smart. TV : smart. Object game. Console

+ 25 Modeling Policy : event : mod. Policy guest : action association. User.

+ 25 Modeling Policy : event : mod. Policy guest : action association. User. Dev(user. Type, device. Type) : condition if [ [user. Type == ‘guest’] [AND] [device. Type == “smart. TV”] ] alert(“Association not permitted!”)

+ 26 Modeling Policy : event : mod. Policy guest : action association. User.

+ 26 Modeling Policy : event : mod. Policy guest : action association. User. Dev. App(user. Type, device. Type, app. Type) : condition if [ [user. Type != ‘firefighter’] [AND] [device. Type == ‘smart. Firefighter’] [AND] [app. Type == ‘fire’] ] alert(“Association not permitted!”)

+ System-User Model : ubi. App climatization : user. Role family father : ubi.

+ System-User Model : ubi. App climatization : user. Role family father : ubi. App entertainment : ubi. App calendar : user. Role family mother : smart. Object air. Conditioning : smart. Object smart. TV 27 : ubi. App mail : ubi. App text. Editor : smart. Object smartphone : ubi. App photo. Sharing : user. Role family : smart. Object tablet : beh. Policy move. Mail : smart. Space apartment : beh. Policy turn. Off. Smart. TV : user. Role family guest : ubi. App call. Of. Duty : smart. Object smart. Firefighter : user. Role firefighter : ubi. App fire : user. Role family children : smart. Object game. Console

+ 28 Behavioural Policy : event change. Location(user. Type, user. Location, user. Device, user.

+ 28 Behavioural Policy : event change. Location(user. Type, user. Location, user. Device, user. App) if [ [user. Type == ‘father’] [AND] [user. Device == ‘notebook’] [AND] [user. Location == user. Location] [AND] [user. App== ‘text. Editor’] ] : beh. Policy frame : condition : action move(text. Editor, notebook)

+ 29 Outline n Introduction n Modeling Language n Model Execution Machine n Case

+ 29 Outline n Introduction n Modeling Language n Model Execution Machine n Case Study n Implementation

+ 30 Implementation n Tools: n n n Eclipse Modeling Framework (EMF) n Graphical

+ 30 Implementation n Tools: n n n Eclipse Modeling Framework (EMF) n Graphical Modeling Framework (GMF) Languages: n Java n Groovy Communication Middleware: n Core. DX DDS n RMI Java

+ 31 Demonstration

+ 31 Demonstration

+ 32 Questions? n leandroalexandre@inf. ufg. br

+ 32 Questions? n leandroalexandre@inf. ufg. br