Instructed by: Alex Kogan Performed by: Adam Levi Tal Steier.

Slides:



Advertisements
Similar presentations
T-Mon SERVER CONNECTOR
Advertisements

GARMIN 800 The Basics. Plan Your Route Map Your Ride Ride With GPS Some tips on mapping. Finish a circular route feet away from the start. When.
Module 3 Configuring Hardware on a Computer Running Windows XP Professional.
Microsoft ® Office Outlook ® 2007 Training Manage your mailbox IV: Archive old messages P J Human Resources Pte Ltd presents:
Using the camera and the wireless microphone Howard Goldbaum 9/17/2012.
Comm Operator Tutorial How to send sequence data at given time automatically Serial Port Tool
Lesson 4 Operating System Customization
Lesson 13 PROTECTING AND SHARING DOCUMENTS
Chapter 11 Exploring Windows XP Vol. 1 Part One - Windows XP Professional: The Basics.
Tirgul 10 Rehearsal about Universal Hashing Solving two problems from theoretical exercises: –T2 q. 1 –T3 q. 2.
Multi-criteria infrastructure for location-based applications Shortly known as: Localization Platform Ronen Abraham Ido Cohen Yuval Efrati Tomer Sole'
Interfaces. In this class, we will cover: What an interface is Why you would use an interface Creating an interface Using an interface Cloning an object.
Extensible Traffic Control Simulator Will Fidrych Milestone 2 October 25 th, 2010.
Alarms and Events Processing Group No. 2 Project Guide: Prof. N.D.R.Sarma.
5: CPU-Scheduling1 Jerry Breecher OPERATING SYSTEMS SCHEDULING.
Using the Visual Basic Editor Visual Basic for Applications 1.
Matthew J Mattia CSC  Cumbersome Code  Consistent/Predictable design (GUEPs #5, CD’s #10)  Display “proper” amount of information  Including.
GPS. Meet the Bad Elf GPS Pro The Bad Elf GPS Pro offers the first Apple approved GPS with an informative user interface.
Hands-On Microsoft Windows Server 2008 Chapter 11 Server and Network Monitoring.
Dell Venue 7 & 8 Android Tablet. Agenda Know Your Tablet Do’s & Don’ts Insertion of Sim/Charging Devices/Power ON & OFF Basic Troubleshooting Install.
Windows Server 2008 Chapter 11 Last Update
Outlook 2007 Tips, Tricks, and Tools. Overview Main Screen Navigation Pane View Pane Reading Pane To–Do Bar Create a New Message Contacts Create a Signature.
NovaBACKUP 10 xSP Technical Training By: Nathan Fouarge
Introduction to VBA. This is not Introduction to Excel We’re going to assume you have a basic level of familiarity with Excel If you don’t, or you need.
Automatic Software Testing Tool for Computer Networks ARD Presentation Adi Shachar Yaniv Cohen Dudi Patimer
PROG Mobile Java Application Development PROG Mobile Java Application Development Event Handling Creating Menus.
Visual Basic Chapter 1 Mr. Wangler.
Nokia Bluetooth Headset BH-108 for Contact Centers
Database Applications – Microsoft Access Lesson 9 Designing Special Queries Updated 4/11.
Remote Unit Testing Milestone III Alex Riordan Brian Pruitt-Goddard.
Spreadsheet-Based Decision Support Systems Chapter 22:
Mobile search engine for a smart phone / navigation system can be used to search and compare hundreds of stores and their products in seconds. © 2001 –
Developing Workflows with SharePoint Designer David Coe Application Development Consultant Microsoft Corporation.
OPERATING SYSTEMS CPU SCHEDULING.  Introduction to CPU scheduling Introduction to CPU scheduling  Dispatcher Dispatcher  Terms used in CPU scheduling.
LOGO OPERATING SYSTEM Dalia AL-Dabbagh
Operating System Review September 10, 2012Introduction to Computer Security ©2004 Matt Bishop Slide #1-1.
Dynatest LWD Program - Sections
Introduction to Visual Basic. Quick Links Windows Application Programming Event-Driven Application Becoming familiar with VB Control Objects Saving and.
CS 4720 Usability and Accessibility CS 4720 – Web & Mobile Systems.
MagicInfo Pro Scheduler Now that a template has been created from content imported into the Library, the user is ready to begin scheduling content to.
1 3M Track and Trace Solutions Magellan MobileMapper 6.
Programming Handheld and Mobile devices 1 Programming of Handheld and Mobile Devices Lecture 12 lcdui Rob Pooley
OCC Network Drives  H:\  P:\ 
Android Boot Camp for Developers Using Java, 3E
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved. 1 3 Welcome Application Introduction to Visual Programming.
XP New Perspectives on Microsoft Access 2002 Tutorial 1 1 Microsoft Access 2002 Tutorial 1 – Introduction To Microsoft Access 2002.
Event Data History David Adams BNL Atlas Software Week December 2001.
1 Extend is a simulation tool to create models quickly, with all the blocks you need and without even having to type an equation. You can use a series.
Lexi case study (Part 2) Presentation by Matt Deckard.
ADVANCED PERCEPTRON LEARNING David Kauchak CS 451 – Fall 2013.
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Design Patterns VIII Chain of Responsibility, Strategy, State.
Replicating Memory Behavior for Performance Skeletons Aditya Toomula PC-Doctor Inc. Reno, NV Jaspal Subhlok University of Houston Houston, TX By.
GUIs Basic Concepts. GUI GUI : Graphical User Interface Window/Frame : a window on the screen Controls/Widgets : GUI components.
NetTech Solutions Troubleshooting Office Applications Lesson Seven.
A Guide to SQL, Eighth Edition Chapter Six Updating Data.
1 Configuring Sites Configuring Site Settings Configuring Inter-Site Replication Troubleshooting Replication Maintaining Server Settings.
CSE Operating System Principles Protection.
High degree of user interaction Interactive Systems: Model View Controller Presentation-abstraction-control.
Lesson 13 PROTECTING AND SHARING DOCUMENTS
Appendix A 12.0 Workbench Environment
Modularity Most useful abstractions an OS wants to offer can’t be directly realized by hardware Modularity is one technique the OS uses to provide better.
Based on Eric Dashofy’s slides for
Programming and File Management Part 2
Manage Call Handling Profiles
Activities and Intents
Lesson 13 PROTECTING AND SHARING DOCUMENTS
User Manual (version 1.1).
CPU SCHEDULING.
Windows Operating System
Technical Training.
Presentation transcript:

Instructed by: Alex Kogan Performed by: Adam Levi Tal Steier

Construct a Bluetooth manager for mobile phone which will activate and de-activate the Bluetooth device according to User’s pre-defined rules Learning mechanism

GUIManager File System + Named Events

GUI process send notification to manager thread according to the user’s requests: Close Manager. Reset Learning. Update (Reload) Rules List. Manager process awakes and immediately handles request.

* Since Named Events are not supported directly by the compact framework, we used P/Invoke to access them. Manager Named-Event: PowerAwareBT_EVENT Wait For The Event Thread UI Rules-list on the Storage card

Allows turning off GUI while the manager is running. Saves system resources. Since manager is always running and GUI is sparsely used. Improved user experience Handling complex requests does not affect GUI response time. Separation of different program components better design.

Define rules Activate / Shutdown manager There can be only one Reset learning Reset the user learnt behavior Default behavior - always on

When the user opens the UI, the rules-list is shown We used big buttons because of the touch-screen interface Adds a new rule Modifies the selected rule Deletes the selected Rule

Clicking will open the Add new Rule dialog A familiar windows-style dialog that defines the rule’s properties Correctness checks are made to ensure the rule is well-defined: Rule applies to at least one day Times are well defined Rules does not collide

Manager User Bluetooth Operations Predefined Rules Battery Power Learning Mechanism Cellular Cell User ‘s Requests

While true: Check for changes from previous iteration Rules updates User commands Determine Bluetooth required state According to user definitions According to AI If needed - Sample for other Bluetooth devices Look for paired devices that are In Range. Sleep

Time Line Sunday 6:00 – 6:10 Sunday 6:10 – 6:20 Sunday 6:20 – 6:30 Cellular Cell History Cell: 3e-3321 Cell: F2- 3h94 Battery Power High Low

User behavior is not constant in time Algorithmic solution Battery power is not a part of user behavior Treat battery as “go / no go” Cellular cell does not reflect geographic position Cellular cell data will only affect sampling frequency

On descending priorities: User bluetooth operation Don’t touch for 30 minutes after user changed bluetooth state Rules If rules are defined – act accordingly Battery power If battery low – switch bluetooth off User learnt behavior

A week is divided into 10 minutes slots For each slot we hold a state machine Each sample changes the state accordingly. Decision is made according to the state of all slots in the current time slot area Prefer “On” Positive example – bluetooth in the system paired list is discovered Off Hard OffOnOn Hard

Simple Even more important on cell phones Provides decision from day 1 Even before any user data is received Avoids turning the bluetooth on and off frequently Via a smoothing mechanism Prefer “On” Assumption on user preference.

1 slice = many samplings Default is 2 Number of samples per slice depends on cellular cell history Good cells – up to 5 samplings Bad cells – no less then 1 Samples average determines positive / negative result for the slice

Data is saved to the storage card to support recovering after cell phone shutdown Learnt behavior and cellular cell data Rules Manager process is automatically started upon cell phone activation GUI is accessed through “start menu”

Decision making can consider more parameters For example: GPS Empiric research: Application battery power savings Program characteristics: Size of state machine. Optimal number of samplings. Weighted average of decision factors More flexible rules Hint the system instead of telling it what to do Extended user control But no one uses the “properties forms”…