Programming Pervasive and Mobile Computing Applications: The TOTA Approach - PowerPoint PPT Presentation

Programming pervasive and mobile computing applications the tota approach l.jpg
Download
1 / 38

Programming Pervasive and Mobile Computing Applications: The TOTA Approach. Presented By: Hector M Lugo-Cordero, MS EEL 6883. Full Citation. Authors: Marco Mamei and Franco Zambonelli From: Universit à di Modena e Reggio Emilia

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.

Download Presentation

Programming Pervasive and Mobile Computing Applications: The TOTA Approach

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Programming pervasive and mobile computing applications the tota approach l.jpg

Programming Pervasive and MobileComputing Applications: The TOTA Approach

Presented By: Hector M Lugo-Cordero, MS

EEL 6883


Full citation l.jpg

Full Citation

  • Authors: Marco Mamei and Franco Zambonelli

  • From: Università di Modena e Reggio Emilia

  • Title: Programming pervasive and mobile computing applications: The TOTA approach

  • Published at: ACM Transactions on Software Engineering and Methodology (TOSEM), vol. 18, issue 4, July 2009


Agenda l.jpg

Agenda

  • Introduction

  • Essentials

  • Programming

  • Evaluation

  • Conclusions

  • References


Agenda4 l.jpg

Agenda

  • Introduction

  • Essentials

  • Programming

  • Evaluation

  • Conclusions

  • References


The problem l.jpg

The Problem

  • Information processing is incorporated into everyday objects

  • Agents can come and leave at any time

  • Information is context (environment) dependent

  • Need for a simple programming framework


Slide6 l.jpg

TOTA

  • A tupple oriented middleware

  • Tuples are injected into the network

    • No central common space


Case study scenario l.jpg

Case Study Scenario

  • Imagine a huge museum like Le Louvre on France

  • Many tourists come per day

    • Makes hard for the management of services and information

  • Assume every user has a wireless-enabled computer

  • Museum layout can change over time and people come and go as they want


Current approaches l.jpg

Current Approaches

  • Direct communication

    • Communicate with other agents is direct (i.e. hardcoded)

    • Not very dynamic

  • Shared data-space

    • Hard coordination

  • Event base

    • Notifications needed

  • These are general (no context awareness)


Agenda9 l.jpg

Agenda

  • Introduction

  • Essentials

  • Programming

  • Evaluation

  • Conclusions

  • References


The tota approach l.jpg

The TOTA Approach

  • Gathers elements from both tuple-based and event-base models

  • Distributed tuples injected to the network are cloned and propagated across the network

  • A peer-to-peer network, each node running TOTA is the space with limited neighbors

  • Tuples structure:

    • T = (C, P, M)

    • C = content, P = propagation, M = maintenance


Tota example information l.jpg

TOTA Example (Information)


Tota in le louvre l.jpg

TOTA in Le Louvre

  • Assumption that there is a large wireless network, with a backbone

  • How to provide information and planning to avoid queues

  • ArtPiece

    • C = (description, location, distance)

    • P = Propagate to all peers increasing distance

    • M = update if topology changes


Solutions information l.jpg

Solutions (Information)

  • Solution 1

    • Art pieces propagate tuples

    • Tourists query for the one with lower distance value

  • Solution 2

    • Art pieces do not propagate tuples

    • Users query for information

    • Art pieces reply


Tota example meeting l.jpg

TOTA Example (Meeting)


Solution meeting l.jpg

Solution (Meeting)

  • Meeting

    • C = (tourist_name, distance)

    • P = propagate to all peers, increase distance by one

    • M = update the distance tuple upon tourist move

  • Tourist are guided with a GUI to the same place

    • using the highest distance

    • recursive process

  • No coordination is specified by TOTA


Tota architecture l.jpg

TOTA Architecture


Agenda17 l.jpg

Agenda

  • Introduction

  • Essentials

  • Programming

  • Evaluation

  • Conclusions

  • References


Tota implementation l.jpg

TOTA Implementation

  • Java based

  • Using 802.11b broadcast

    • Avoid unicast handshake

  • Deployed emulator to increase network size

    • Only 16 PDAs and some laptops were used

  • The same code of the emulator could be used on devices

  • Emulator ran in mixed modes (real and emulated devices)


Tota requirements l.jpg

TOTA Requirements

  • What are the primitives that interact with the middleware?

  • How to specify tuples T = (C, P, M)?

  • How to code coordinated and context-aware activities?


Totatuple l.jpg

TotaTuple

public class MyTuple extends TotaTuple, implements ReactiveComponent{

//ReactiveComponent exposes the react() method

}

TotaTuple myTuple = new MyTuple(new Object[]{“Hello”});


Tota api l.jpg

Tota API


Tota predefined tuples l.jpg

TOTA Predefined Tuples


Programming artagent1 l.jpg

Programming ArtAgent1


Programming touristagent1 l.jpg

Programming TouristAgent1


Programming artagent2 l.jpg

Programming ArtAgent2


Programming touristagent2 l.jpg

Programming TouristAgent2


Programming meetingagent l.jpg

Programming MeetingAgent


Agenda28 l.jpg

Agenda

  • Introduction

  • Essentials

  • Programming

  • Evaluation

  • Conclusions

  • References


Software engineering analysis l.jpg

Software Engineering Analysis

  • Context information makes TOTA general but more difficult for agents to react

  • Separation of tuples (context) and agents (logic) however simplify this

  • Incorporation of command and template design patterns facilitate tuple programming


Tuple propagation deletion evaluation l.jpg

Tuple Propagation/Deletion Evaluation

  • Highly scalable since only propagate to its immediate neighbors

  • Tu = Trcv + Tprop + Tsend + Ttravel

    • Propagation Time on a WiFi PDA (IPAQ 400 MHz)

      • Tprop 99.7 ms

      • Tsend 67.2 ms

      • Ttravel 0 ms

      • Trcv 21.2 ms

      • Tu 188.1 ms


Tuple propagation deletion evaluation cont l.jpg

Tuple Propagation/Deletion Evaluation (cont.)

  • For X hops TXU = X*TU

  • In practice is a little more (10–20% from mean)

  • Only HotTuples/MetricTuples and SpaceTuples were affected by topology


Load and memory evaluation l.jpg

Load and Memory Evaluation

  • Load is accounted to local agent execution and propagation/maintenance rules

  • Storage is small enough for micro-sensors, but requires each one to store it

  • Java implementation leaves TOTA opened for improvements in an optimized C version


Agenda33 l.jpg

Agenda

  • Introduction

  • Essentials

  • Programming

  • Evaluation

  • Conclusions

  • References


Conclusions l.jpg

Conclusions

  • TOTA support pervasive and mobile applications

    • By using distributed tuples so agents can

      • Extract contextual information

      • Coordinate each other

    • Dynamically adjusts as topology changes

  • TOTA weaknesses

    • Strict structure (hard mapping)

      • Security and privacy issues

    • Complex operations aren’t very supported


My thoughts l.jpg

My Thoughts

  • Strengths:

    • TOTA seems like a powerful, portable API

  • Weaknesses:

    • Authors claimed that it is context independent but only the museum scenario was used

    • Unclear mapping on how to transform real problems to TOTA tuples

  • Suggestions:

    • Adding flow of traffic by layer to see how to interpret the pool of tuples over the network

    • Demonstrate the application on different domains, and give a clearer mapping

    • Implementation in C for devices that do not posses a JVM

    • Include wired backbone


Agenda36 l.jpg

Agenda

  • Introduction

  • Essentials

  • Programming

  • Evaluation

  • Conclusions

  • References


References l.jpg

References

  • http://www.wikipedia.org

  • http://www.agentgroup.unimo.it/wiki/index.php/TOTA

  • http://www.agentgroup.unimo.it/wiki/images/2/21/Tutorial.pdf

  • http://www.agentgroup.unimo.it/wiki/images/8/8b/Tota.zip


Questions l.jpg

Questions


  • Login