A Graphical Monitoring and Notification Flow Language (MNFL) for User-Configurable In-Home Assistive Monitoring - PowerPoint PPT Presentation

About This Presentation
Title:

A Graphical Monitoring and Notification Flow Language (MNFL) for User-Configurable In-Home Assistive Monitoring

Description:

... VPL Flow language style is intuitive for streaming applications If-statements do not handle asynchronous data Lego Mindstorm Easy to learn for people of age ... – PowerPoint PPT presentation

Number of Views:81
Avg rating:3.0/5.0
Slides: 26
Provided by: AE
Learn more at: http://alumni.cs.ucr.edu
Category:

less

Transcript and Presenter's Notes

Title: A Graphical Monitoring and Notification Flow Language (MNFL) for User-Configurable In-Home Assistive Monitoring


1
A Graphical Monitoring and Notification Flow
Language (MNFL) for User-Configurable In-Home
Assistive Monitoring
  • Alex Edgcomb
  • Oral Qualification
  • March 2nd, 2011

2
The Goal User-configurable notification systems
for in-home use
3
Not enough configurability
4
Too much configurability
5
Outside too long at night
Grandma has Alzheimers
Not safe to be outside at night
Want to be notified if she is for long
6
Defining the system
  • Send a text message if someone leaves, without
  • returning, for more than 10 minutes at night.

7
Microsoft VPL
8
Microsoft VPL
  • If-statements with gt1 variable require Join
  • Join operator only takes two values at a time
  • Join waits for both variables to receive data
  • Asynchronous data sources leads to raise
    condition.
  • If-statements require all variables using in
    If-statement and Calculations done afterward.
  • Hard (if not impossible) to increment on a
    raising/falling edge

9
Lego Mindstorms v2.0
  • Lacks global variables.
  • Variables cannot be read/written more than once.
  • No sense of actual time.

10
Scratch
  • New functionality leads to
  • Redundant code
  • Complex code
  • Reason Independent behavior is not separated
    away.
  • For example, add a 2nd door
  • Create second code block
  • Embed new timer/variable

11
RIBS and RIMS
inWindow (time gt 10PM time lt 5AM) var
Time 10minWait time Period length 1 second
1) Define synch SM in RIBS. 2) Automatically
convert to C code in RIMS.
CS120B (Introduction to Embedded Systems)
students take 5 weeks to correctly describe
exact behavior.
12
MNFL
System Pros Cons
Microsoft VPL Flow language style is intuitive for streaming applications If-statements do not handle asynchronous data
Lego Mindstorm Easy to learn for people of age 10 Variables too restrictive
Scratch Graphical cues indicate purpose/usage of blocks Temporal programming does not handle new functionality well
RIBS and RIMS Precise behavioral description Challenging to learn
13
MNFL Data Types
14
MNFL Modifiers of Data Types
15
MNFL Core blocks
16
Video demo
YouTube version of video http//www.youtube.com/u
ser/eslucrp/u/9/xpaOkhYBXT8
17
In bathroom for over 1 hour
18
Got up 5 or more times at night
Got up was motion, then no motion for 10
minutes
19
Take 1 pill in the morning
20
KPN Execution semantics
  • Kahn processing networks (KPN)
  • Processes communicate through channels
  • When all input channels have a token, the process
    executes and outputs tokens

Kahn, G. The Semantics of a Simple Language for
Parallel Programming. Information Processing
1974. North-Holland Publishing Company, 1974.
21
SDF Execution semantics
  • Synchronous data flow
  • Process KPN process
  • Channel KPN channel
  • Difference
  • Processes read and write a constant number of
    tokens.

Lee, Edward A. and David G. Messerschmitt.
Synchronous Data Flow. Proceedings of the
IEEE, vol. 75, no. 9, p 1235-1245, September,
1987.
22
MNFL Execution semantics
  • Monitoring and notification network language
    (MNFL)
  • Block KPN process
  • Connection KPN channel
  • Difference
  • Blocks execute when any input channel has a
    token

23
MNFL block SM
  • Inside each block is a state machine.
  • Q queue of inputs I current input
  • P previous input O output

24
Implementation figures(as of 02/27/11)
  • 8,000 total lines of ActionScript
  • 700 lines for discrete event simulation engine
  • 400 lines for base block class
  • 80 related to graphical appearance and behavior
  • 50 600 lines for each block
  • Largest two blocks
  • Send message - high configurability
  • Fall extractor - detecting falls from silhouettes
  • 26 fully implemented blocks
  • Block spawn, deletion and connection creation
    take less than 1 ms on a single core 3.0GHz PC.

25
Conclusions and Future work
  • EasyNotify
  • Easy to use compared to currently available
    systems
  • Core blocks contain in-home functionality
  • MNFL
  • Data types tailored to in-home monitoring sensors
  • Non-restrictive block communication
  • Human subject trials to improve usability
  • Develop mechanism for users to build and
    integrate new blocks
  • Move computations to cloud
Write a Comment
User Comments (0)
About PowerShow.com