Post on 25-Feb-2016
description
The APEX framework: prototyping of ubiquitous environments based on
Petri nets
José Luís Silva, José C. Campos and Michael Harrison
June 2011
UNIVERSITY OF MINHO
NEWCASTLE UNIVERSITY
Supported by the Fundação para a Ciência e Tecnologia (FCT, Portugal)
The APEX framework: prototyping of ubiquitous environments based on Petri nets
2
◦Introduction and Objectives◦Background◦Proposed Approach◦Library Case Study◦Synopsis◦Usage◦Application
Summary
The APEX framework: prototyping of ubiquitous environments based on Petri nets
3
Context-aware applications◦ Personalized services to users through the
integration of environmental information (context)
◦ spatially located using sensors
New evaluation challenges
Introduction
The APEX framework: prototyping of ubiquitous environments based on Petri nets
4
Types of Ubiquitous Environments◦ Spaces enhanced with sensors and dynamic
objects Smart spaces (e.g. Library, Aware Home, Match
system, etc.)◦ Explicit and implicit interactions
Aware Home at GaTech
Introduction
The APEX framework: prototyping of ubiquitous environments based on Petri nets
5
Prototyping ◦ Reduce development costs◦ Assessment and simulation of alternative solutions◦ Experience
Prototyping difficulties◦ Different sensors◦ Many ways of interaction◦ Adequate level of abstraction
Introduction
The APEX framework: prototyping of ubiquitous environments based on Petri nets
6
Rapid prototyping and evaluation of ambient intelligence systems through ◦ Modeling◦ Simulation
Objectives
The APEX framework: prototyping of ubiquitous environments based on Petri nets
7
Framework
The APEX framework: prototyping of ubiquitous environments based on Petri nets
8
Focus on the interaction between the user and the system◦ Ubiquitous system models◦ Property checking and simulation
CPN (Colored Petri Nets)◦ Other approaches possible
Modelling approach
The APEX framework: prototyping of ubiquitous environments based on Petri nets
9
Uses a 3D Application Server ◦ OpenSimulator (opensimulator.org)
Simulation◦ Models virtually a situation that can be studied to see how the system works ◦ Explores the experience of using virtual systems as feedback about the
proposed design
Comparable with◦ Topiary ◦ UbiWorld ◦ 3DSim◦ work of O’Neill et al.
Integrates formal analysis with experience of virtual environments
Prototyping approach
The APEX framework: prototyping of ubiquitous environments based on Petri nets
10
Proposed Approach
The APEX framework: prototyping of ubiquitous environments based on Petri nets
11
Architecture
The APEX framework: prototyping of ubiquitous environments based on Petri nets
12
Architecture Behavior modeling approach
◦ CPN modeling guidelines◦ Modular (device based)◦ Easy to setup
Virtual environment◦ Viewers + server◦ Graphical editing of environments (viewers)◦ Concurrent user access (server)
Communication/Execution module◦ Main purpose built component◦ Coordinates model and virtual environment◦ Multi-user support
The APEX framework: prototyping of ubiquitous environments based on Petri nets
13
Library Case Study
The APEX framework: prototyping of ubiquitous environments based on Petri nets
14
Modelling
The APEX framework: prototyping of ubiquitous environments based on Petri nets
15
APEX framework
The APEX framework: prototyping of ubiquitous environments based on Petri nets
16
APEX framework
The APEX framework: prototyping of ubiquitous environments based on Petri nets
17
APEX framework
The APEX framework: prototyping of ubiquitous environments based on Petri nets
18
An environment for ubiquitous systems analysis and simulation◦ Simulation allows navigation, and interaction,
both explicitly and implicitly, with (virtual) devices
◦ Analysis using CPN tools
Supports evaluation of usability and social impact of the design
Summary
The APEX framework: prototyping of ubiquitous environments based on Petri nets
19
Questions ?
The APEX framework: prototyping of ubiquitous environments based on Petri nets
20
User Mode◦ No needs of modelling
Developper Mode◦ Generic CPN model
Add behavioural models of the dynamic objects presented in the VE
The generic model has information about the context which can be used in the developed models
Construct the interaction with the VE (e.g. start of the object behaviour, sendOpenGate)
APEX Usage
The APEX framework: prototyping of ubiquitous environments based on Petri nets
21
Download a viewer to connect to the virtual environment via the web; ◦ Hippo OpenSim Viewer◦ Linden Lab's Second Life viewer◦ Project Viewer - Mesh
Run the viewer with the option -loginuri http://A.B.C.D:9000/, ◦ A.B.C.D is the IP address of server machine
Connect to the server machine using a provided user account ◦ (command: create user)
APEX Usage – User mode
The APEX framework: prototyping of ubiquitous environments based on Petri nets
22
Command execution achieved using the viewer tool:◦ “load oar filename“ – load an environment or object from an oar file;◦ “save oar filename” - save an environment or object from an oar file;◦ “clear” – remove all objects from the scene. Optionally, to remove only one object a “!”
must be added to the beginning of its name before using the delete option provided by the viewer;
◦ “obj ini” – send the dynamic objects values (ID, type and position) to the CPN model;◦ “sensors ini” – makes the sensors initialization with the values provided;◦ “addList:X” – add the value X to the user list (e.g. X is the book which the user wants);◦ “remList:Y” – remove the value Y of the user list.
Sensors insertion in the VE:◦ Command: load oar filename
Sensor’s properties access (on viewer):◦ Object’s field description (right click on sensor)
Object script association (on viewer):◦ Request Admin Status: Ctrl+Alt+G◦ Force the owner of the object to be me: Admin/Object/Force Owner To Me◦ Add the script: Select the object/Edit/Content/New Script/Add the script/Save
APEX Usage – User mode
The APEX framework: prototyping of ubiquitous environments based on Petri nets
23
APEX Usage - viewer
Command execution Sensor attributes
Object movement: select + arrowsObject scale: select + ctrl + shiftObject rotation: select + ctrl
Object creation: construct-> select object type -> apply in the VEObject insertion (Mesh Viewer): Construct -> upload -> modelObject duplication: Select object -> take a copy(Look for it in the inventory then drag and drop)
The APEX framework: prototyping of ubiquitous environments based on Petri nets
24
CPN behavioural models
The APEX framework: prototyping of ubiquitous environments based on Petri nets
25
APEX process execution
The APEX framework: prototyping of ubiquitous environments based on Petri nets
26
Download and install CPN Tools Download and install Opensimulator
(standalone mode)◦ Create user account – create user command
Put in /bin folder◦ APEX.dll, awareHome.oar, sensors.oar, vazio
Download viewer◦ Linden Lab's Second Life viewer ◦ Modify Viewer target with the option -loginuri
http://A.B.C.D:9000/, where A.B.C.D is the IP address of the server machine
Instalation - steps
The APEX framework: prototyping of ubiquitous environments based on Petri nets
27
Load awareHome.cpn model into CPN Tools Execute model (toolBox simulation):
◦ delay:1ms (right click on play option)◦ number of steps: 1000000 (right click on play option)
Start opensimulator server◦ /bin/opensimulator.exe
Connect to the VE◦ Start viewer (using user and password created)
Load VE◦ Write Load oar awareHome.oar on chat textbox◦ Wait the loading of the Home
Delete sensors and objects considered dynamics◦ They will be automatically re-added and be made accessible
by APEX
Execution
The APEX framework: prototyping of ubiquitous environments based on Petri nets
28
Configure the VE◦ Dynamic object behaviour
Add the script: Select the object/Edit/Content/New Script/Add the script/Save
◦ Sensor features configuration menu associated (right click on object)
Synchronization with the CPN Tools◦ Dynamic Objects: command obj ini on chat
textbox◦ Sensors: command sensors ini on chat textbox
Execution
The APEX framework: prototyping of ubiquitous environments based on Petri nets
29
Each dynamic object must: ◦ have a unique ID present in the field Name;◦ indicate its object type using the field Description (e.g. object
type = gate);
Each sensor must be loaded from the pre-defined sensors provided (OAR files);◦ The fields Name and Description must be changed to reflect the
desired values;◦ The objectIDs list present in the Description field of the
Presence Sensors represents the Ids of the objects which the sensor affects. The elements of this list must be separated by commas ‘,’;
◦ The threshold present in the Description field of the Presence Sensors represents the distance from which the sensor is sensible;
Objects and Sensors specifications
The APEX framework: prototyping of ubiquitous environments based on Petri nets
30
Questions ?