30
The APEX framework: prototyping of ubiquitous environments based on Petri nets José Luís Silva, José C. Campos and Michael Harrison June 2011 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

  • Upload
    ianna

  • View
    44

  • Download
    0

Embed Size (px)

DESCRIPTION

UNIVERSITY OF MINHO NEWCASTLE UNIVERSITY. The APEX framework: prototyping of ubiquitous environments based on Petri nets. José Luís Silva, José C. Campos and Michael Harrison June 2011. - PowerPoint PPT Presentation

Citation preview

Page 1: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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)

Page 2: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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

Page 3: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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

Page 4: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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

Page 5: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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

Page 6: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

The APEX framework: prototyping of ubiquitous environments based on Petri nets

6

Rapid prototyping and evaluation of ambient intelligence systems through ◦ Modeling◦ Simulation

Objectives

Page 7: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

The APEX framework: prototyping of ubiquitous environments based on Petri nets

7

Framework

Page 8: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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

Page 9: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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

Page 10: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

The APEX framework: prototyping of ubiquitous environments based on Petri nets

10

Proposed Approach

Page 11: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

The APEX framework: prototyping of ubiquitous environments based on Petri nets

11

Architecture

Page 12: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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

Page 13: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

The APEX framework: prototyping of ubiquitous environments based on Petri nets

13

Library Case Study

Page 14: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

The APEX framework: prototyping of ubiquitous environments based on Petri nets

14

Modelling

Page 15: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

The APEX framework: prototyping of ubiquitous environments based on Petri nets

15

APEX framework

Page 16: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

The APEX framework: prototyping of ubiquitous environments based on Petri nets

16

APEX framework

Page 17: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

The APEX framework: prototyping of ubiquitous environments based on Petri nets

17

APEX framework

Page 18: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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

Page 19: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

The APEX framework: prototyping of ubiquitous environments based on Petri nets

19

Questions ?

Page 20: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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

Page 21: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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

Page 22: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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

Page 23: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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)

Page 24: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

The APEX framework: prototyping of ubiquitous environments based on Petri nets

24

CPN behavioural models

Page 25: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

The APEX framework: prototyping of ubiquitous environments based on Petri nets

25

APEX process execution

Page 26: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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

Page 27: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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

Page 28: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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

Page 29: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

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

Page 30: The APEX  framework: prototyping  of ubiquitous environments  based on  Petri nets

The APEX framework: prototyping of ubiquitous environments based on Petri nets

30

Questions ?