Report

waisttherapeuticΛογισμικό & κατασκευή λογ/κού

4 Νοε 2013 (πριν από 3 χρόνια και 10 μήνες)

84 εμφανίσεις









The Buddies

CS551


Project Proposal


Project Group

Sushil Puradkar

Uday Joshi

Swapnil Deshmukh

Preeti Naik


Madhura Maideo

Neeta Prasad


Saurabh Pathak


Date of Submission:
September 29, 2003


The Buddies


Project Proposal


2


Table of Contents

1.

Introduction

________________________________
_______________________

3

2.

Project Goal and Objectives

________________________________
___________

4

Overall Goal

________________________________
________________________

4

Specific Objective

________________________________
____________________

4

Significance

________________________________
_________________________

5

3.

Project Background

________________________________
_________________

6

Work done by others

________________________________
_________________

6

Relation of our project to current research

_______________________________

7

4.

General plan of work

________________________________
________________

8

Proposed Solution

________________________________
____________________

8

Proposed System

________________________________
_____________________

8

5. Reference

________________________________
__________________________

11



The Buddies


Project Proposal


3


1.

Introduction


Ima
gine a scenario where you enter in your office. You stand in front of a coffee machine. Coffee
machine recognizes you, greets you and prepares your favorite coffee for you. Then it asks you
whether you would like to listen to your favorite song or would li
ke to listen to your emails while
you are sipping in your coffee! Then it will tell you that you are late for you job and your boss is
waiting for you!



You meet your boss and both of you go to the conference room where you are supposed to give a
presenta
tion in five minutes. Well, you are kind of a person who likes to work at home too. You
have stored your presentation on your desktop computer at home. The conference room is
intelligent. As you walk into the conference room, it will recognize you. It will

know that your
presentation will start in next five minutes so it will fetch your presentation from your home
desktop pc and when you are about to start your presentation it will dim all the lights and will
project your presentation on the screen! It seem
s like we are talking about something impossible,
like some science fiction. But the way we see it, it’s possible. It’s possible in tomorrow’s
pervasive computing world, the world that we dream.


Pervasive computing is all about computers. They will pervad
e in your life. They will act as your
friend, subordinate, guide and trainer. Pervasive computing world will be erected on
collaboratively working and intelligent environments. We call such intelligent environments as
‘Autonomous System’ (AS). To achieve s
uch intelligent environment, we need all devices talk to
communicate with each other; know each other’s capabilities and work collaboratively to execute
any task. We need these environments to know humans, understand their feeling and provide
service that
would be most preferred by them. After all, they are made intelligent to assist humans.
There are many hurdles in developing such intelligent environment. We need to tackle many
issues like device communications, user profiling, decision
-
making intelligenc
e and security. In
this project we will try to address some of these issues and will try to come up with a framework
that could become as a backbone to develop pervasive computing environment.


Another quite unexplored area is semantic web. It is all about

making information globally
accessible, classifying information and searching web intelligently to gather relative and accurate
information. There are many research groups that are working in this field and have developed
different standards to describe i
nformation. Again there are different issues, like information
description, information discovery and information gathering, associated with this field. Surely
this technology has a great potential to be useful for pervasive computing, as one of the
requir
ements of pervasive computing is to make information globally accessible, yet maintaining
privacy of the information. So we are also looking into different ways of incorporating this
technology in our pervasive computing framework. Using semantic web will
certainly strengthen
our framework and will make it more flexible and useful. We will also try to figure out what
other technologies we can use to strengthen our framework.



Very few groups are currently exploring this area. Although they are working with

their own
ideas, eventually all are working towards developing their dream world of pervasive computing.
Even we are looking forward to contributing our efforts for the same cause, just a small brick in
the foundation of tomorrow’s pervasive computing wor
ld!




The Buddies


Project Proposal


4

During the process of exploring the end
-
less pervasive computing world, we plan to achieve some
generic and some specific milestones. These will help us identify and measure our work done so
far. The generic approach will make it easy for other resea
rchers to build upon our concept.


Lets now move ahead and have a look at our goals.


2.

Project Goal and Objectives

Overall Goal

The ‘Buddy


Everywhere’ project essentially gives the look and feel of the pervasive computing
environment. We are planning to
define a general script and framework which can act as the base
for deploying any type of pervasive service. As an example, we will give a small demo of how a
buddy system works.


We plan to achieve following goals.



Creating or defining a general scriptin
g language in which the pervasive
-
aware users can
write their specific scripts.



We will allow use of simple English words instead of machine
-
understandable
commands.



This will give a better user friendly interface.



All the machines and devices in the syste
m will be identified by the URI.



Using web services to information associated with particular URI



This will help us in making intelligent choice between the devices depending on the task
to be performed.




Then we need to define an intelligent framework whi
ch understands this script and translates
these simple English words into machine
-
executable commands.



The URI will map to the device ontology to gain more knowledge about that particular
device. The ontology plays a very important part as it is the base o
n which the entire
framework will take its decision from time to time.



Thus, the framework will choose the best or preferred device based on various
preferences like configuration, user intent, nature of task, time to complete the desired
task, other avail
able compatible devices, web
-
service specifications etc and will
implement work
-
flow.




All the internal modules and operations will be seen as wrapped under a web service to rest of
the world. This will include database services, ontology derivation, inter
face for creating and
handling various events during entire life cycle of Buddy
-
system. Generating and
implementing intelligent atomic functions.



As an example of above pervasive computing, we will implement Buddy System.


Specific Objective

Although we ar
e going to develop a generic framework and script, we do plan to show an
example of such pervasive environment by implementing the basics of the Buddy system. It may
include registration, preferences (Configuration options) and receiving and sending out
me
ssages/notification. This includes implementation of numerous sub
-
tasks.




The Buddies


Project Proposal


5



The service will use ‘Buddy’ script that can be downloaded onto local or central machine of
any organization.



First time, the user can go in and register with the system and eventua
lly define his/her
specific options/ preferences, which will be stored as configuration options.



The user can add other users by either their email address, cell phone number or login name
or all



Whenever his buddy arrives online into the system, the user
will be notified on the device that
he is currently online. (This can be PDA, Cell
-
phone, computer or e
-
mail)



Example
:



Lets say that a very large organization (maybe UMKC, Microsoft etc) having many
distinct offices over a small area (This may or may not
be the case) has deployed this
system.



Whenever a professor or employee walks in, he / she will swap his ID card and will be
entered into the central database of that organization.



This will trigger the Buddy system and all the people related to this per
son will get
notified on their respective computers, PDA, cell phone about his/ her arrival.



Such other people could be his boss, other fellow teachers, students who have taken his
course etc



Thus, the system will keep track and give timely notifications.


Significance



System will be highly modularized and hence new components can be added or existing
components can be changed easily.



Since we are focusing on developing a general framework and scripting interface, it can be
looked at as a ready to use compo
nent which can be deployed in type of service.



The organizations can define its own service for its own purpose and use these off
-
the
-
shelf
components to cater to their needs.



Also, these systems will have in
-
built intelligence residing in the framework,
which makes a
smart choice out of given options.



These systems over the time can adapt to changing environments and behave accordingly.
Thus, such framework is flexible.



The Buddy


System in particular can be useful to acknowledge the presence and absence

of
selected people who may not be directly contactable. Thus, you can always be in touch even
if you are out of town or out of state.



The Buddy
-
system will roam around with the user. It will be a ‘pervasive’
module/component which will travel with the us
er everywhere and all the time.














The Buddies


Project Proposal


6

3.

Project Background

Work done by others

Pervasive Computing is evolving from the already existing technologies like distributed
computing and mobile computing. The vision of Pervasive computing is to create an envi
ronment
such that all the devices in it should be able to compute and easily communicate with each other
in the environment [4]. Due to inadequate resources (like hardware) and technologies
development of pervasive computing environment were a big hindranc
e, but today there is
availability of many sophisticated devices and technologies which makes the development of
pervasive computing environment possible. There are lots of researches issues involved in this
field. The four main research issues in pervasiv
e computing involve;
Effective use of smart spaces:

Pervasive computing infrastructure is to be embedded in a small area like building or an office,
which will create a pervasive computing environment.
Invisibility:

User should not be aware of
existence of

such kind of environment.
Localized Scalability:

The environment should be able to
grow locally rather then globally.
Masking uneven Conditioning:
the amount of variation visible
to user is to be reduced in the pervasive computing environment. Pervasive c
omputing is just on
the early stages of development, there is lot more to do and it is very difficult to predict the future
of such kind of system at this time.


The next step in Pervasive computing is to create an infrastructure such that it should minimi
ze
the attention of humans with such an environment [5]. The project Aura is
currently being
developed in order to achieve this goal. It works around the concepts of proactivity and self
-
tuning.
Proactivity

is ability of a lower layer to interact and proce
ss requests with upper layer and
Self
-
tuning

is

about

adjusting performances and resource usage of layers depending on the
demand made on them. Thus idea is to create system layer behavior more dynamic and lower
demand for human attention. The Aura project

is being deployed in CMU campus and several
applications are being developed that can be used across the campus. Different services were
developed during this project like cyber
-
foraging, wireless bandwidth advisor and the WaveLAN
-
based people locator. Th
e main features of Aura were it supported user mobility and shielding
user from resource availability. Aura attempts to adapt the environment to the changing
requirements of the user. Another aspect

of Project Aura was to

develop applications that use this

infrastructure. Two applications were designed based on this portable Help
-
desk and Idealink.
Portable Help
-
desk

is built on two fundamental services
(a) Spatial awareness:

for user relative
and absolute position and orientation
(b) Temporal awareness:
f
or scheduled time of public and
private events.
Idealink

is an application, which facilitates planned and ad
-
hoc collaboration
among mobile users.


One of the successful implementation of pervasive computing system is Oxygen [1], developed
by MIT. This pro
ject enables pervasive, human
-
centric computing through a combination of
specific user and system technologies. Oxygen’s device, network, and software technologies
dramatically extend our range by delivering user technologies to us at home, at work or on t
he go.
Collection of embedded devices, called E21s, create intelligent spaces inside offices, buildings,
homes, and vehicles. Handheld devices, called H21s, provide mobile access points for users both
within and without these spaces. Networks, called N21s,

connect dynamically changing
configurations of self
-
identifying mobile and stationary devices to form collaborative regions.
The Oxygen software environment is built to support change to provide adaptable system.
Speech and vision provide the main modes
of interaction in Oxygen. Oxygen’s user technologies
like automation, collaboration and knowledge access harness its massive computational,
communication and system resources.




The Buddies


Project Proposal


7

Research group at UMBC is working on concept to express ontology in Web Ontolo
gy Language
for supporting agent based context
-
aware systems in a pervasive computing environment [2].
The design is aimed to create a set of ontological vocabularies with basic semantics that are
pragmatic for building these systems in the near future. T
he group working on this is developing
a new pervasive context
-
aware computing infrastructure called Context Broker Architecture
(CoBrA), to support ubiquitous agents, services and devices to behave intelligently in according
to their situational contexts.

Their work is closely related to other research such as Intelligent
Room, Context Toolkit and Cooltown, One.World and Centaurus. But it is also trying to develop
explicit ontology representations of contexts, supporting context reasoning and maintenance
t
hrough logic inferences and providing user privacy protection using policies. They plan to
prototype an intelligent context broker and integrate it with the Centaurus system. Their aim is to
create and deploy a pervasive context
-
aware meeting room in UMBC
main campus.


A context oriented
-
programming (COP) approach is proposed for pervasive computation [3]. The
resulting programming method relives programmers from explicitly specifying and managing
context awareness and the associated adaptation mechanisms.

COP uses a special construct called
open terms to express pervasive applications. Formalizing and defining new types of interactions
(e.g. Linda, Ambient) has received a strong boost from the research community. Today’s research
does not address the probl
em of how to program pervasive systems and how the ever
-
changing a
-
priori unknown heterogeneous contexts can be taken into account in order to program adopted
interactions. They lack the support for concise description, manipulation and formal models for
r
easoning about contexts. This programming paradigm addresses such problems. Their future
work will explore ways to define formal semantics of COP, an extension of ambient calculus.
They plan to define transition and reduction rules, a polymorphic type syst
em and type inference
algorithm which support their notion of context.


Even though there are lots of sophisticated devices available to be used in pervasive computing
environment, but lack of suitable application infrastructure is the main hindrance in i
ts
development [6]. There is a research going in Carnegie
-
Mellon University to build the
middleware for such kind of applications. Some scenarios such as devices with completely auto
-
centric user interfaces, applications which determine the user physical l
ocations and multi
-
user
collaboration systems were thought of developing. The students of Carnegie
-
Mellon University
are in second phase of developing this application. They are maintaining certain principles while
developing this application: Keeping the
infrastructure flexible so that some kind of innovation
can be added later. Designing the application by keeping security issues in mind and it should not
be added later. System should be robust and there should be appropriate support against failures.


Re
lation of our project to current research

Right now there are few pervasive computing systems and architectures developed by different
research groups in different universities. The systems that they have developed are ad
-
hoc in
nature. These systems work
on specific technologies and uses intelligent devices. Such devices
are not developed at large scale. These are advance devices would become integral part of
tomorrow’s pervasive computing world.

In our project we try to work with normal devices or device
s with very limited intelligence.
Intelligence of our system is in pervasive computing framework and not in devices used to form a
pervasive computing environment. Such framework will surely help to develop intelligent
autonomous systems with current devic
es. This framework will help many device workflows to
execute different tasks. We are working towards developing a scripting language, which would be


The Buddies


Project Proposal


8

easy to write and understand, to describe such workflow. This framework could be implemented
in smart offi
ces, smart home or any smart environment, which will make them really smart.


4.

General plan of work

Proposed Solution

The proposed solution will consist of:



A high level language to write Pervasive Service Specification Script. The language
syntax shall be
able to represent any number of devices and their operations. The
language glossary shall consist of keywords to which uniquely identify most of the
device operation without duplication. For example to draw image on a screen and to print
it on a printer, b
oth can be expressed with same keyword “write”. The system will have
intelligence to interpret these keywords and to infer what is meant by “write” on a printer
means “print” and “write” on a screen means “draw”. The language will also provide
constructs t
o define flow of events and alternate flow paths.



A software component that can manage all the activities of an AS. This entity will be
responsible for obtaining new service information, do a quick matching between
available resources and resources require
d to create a service, if resources are available
then create a service at runtime and manage the service through the life of AS.



A directory to store information about all the devices in the AS and services running on
top of these devices.



A persistent st
orage mechanism to store the information to store essential system
configuration and runtime information. This information will help AS to recover from
failures.



Communication infrastructure/components to interface the AS with external services /
other AS.


The actual system will consist of software components, which implement above functionalities.
However there may not be one
-
to
-
one mapping between functionality and a software component.
In other words a single functionality may be split into multiple com
ponents or multiple
functionalities many be implemented as a single component.

Proposed System

The proposed solution can be visualized as a collection of loosely coupled software components.
The main components of the system are:



AS Manager: This component

is the heart of the system. It manages an Autonomous
System (AS), its devices and the services running on top of the devices.



Inference / Interpretation engine: It parses / interprets the Pervasive Service Specification
Script and converts it into instruc
tions / facts which can be understood by the AS
Manager Module.



Service Manager: This module is responsible for managing services run/offered by the
AS. This module will not only monitor existing services it can also Plug
-
And
-
Play new
services at runtime.



Database Manager: This module provides persistent store (mostly RDBMS) used by the
AS Manager to store information about the devices, services and users.



External Interface Module: This module manages connectivity between AS and any
external system like MS

Passport authentication Service. There can be many instances of
this module corresponding to number of external interfaces.



The Buddies


Project Proposal


9


Note: The list of modules is not comprehensive. We may introduce new modules, split / combine
existing modules as we advance in th
e design process.

Domain analysis

Business/domain model:

Business Scenario: A software development firm has a team of people who are required to
interact with their other team members but all of them are geographically spread out and they
could be online (
similar to being online in Messenger service) in the Buddy system through any
device like PDA, cell
-
phone, laptop etc.


Application requirements:

To allow such professionals to do their jobs more efficiently, we need to build a Buddy System
with following
requirements:



The framework, on which this system will be built, has to be as generic as possible so
that it could be used by a variety of people just by downloading the desired script from
web.



A scripting language, which can be used for writing the simpl
e instructions in the

workflow.



It should be able to interpret any small/large workflow chalked out in the script.



A component in the AS (Autonomous System) which will have enough intelligence as to
interpret the term “Output” in the script as “Print”, ”s
can”, ”SMS” etc if the device
through which the person is online is printer, scanner, mobile phone respectively.



Use Web services to achieve some functionality.




Functional requirements:



Unique Identification:

To access the application, every user must b
e issued a user ID
(URI), which will serve as an identification key to the system.



User record management:

The application must keep a record of the user information,
like address, age group, general interests, and so on. There will be a separate agent to

add,
delete, and modify user information.



Device list:

It must keep a record of all available devices

and their availability, along
with their up
-
to
-
date shipping prices. The availability information should help to predict
the shipping time and alert the

agent about new products.



Nonfunctional requirements:



Reliability and security:

It should allow for a sufficient degree of reliability and security
during online notifications, providing a mechanism to ensure secure, one
-
time delivery of
the data over
the network. There might be some users who do not want their presence to
be notified to their buddies during a particular time of day.



Seamless integration with the existing system:

Any new application should seamlessly
integrate with the existing project

framework. You should be able to write new script for
your application, plug it in, update the data in the databases and use the newly developed
application effectively, with minimal changes in other components of framework.


Stakeholders:

Thus the stake
holders in this project could be:



Any organization, which requires a group of people to interact with another set of people
who are geographically apart. They cannot communicate through a common tool like
video conferencing because they could be using diff
erent devices like PDA, cell
-
phone


The Buddies


Project Proposal


10

etc. It is now necessary to intimate a person about the other person’s presence for
communication to take place. The Buddy system will notify a person about all his
buddies who will be online as soon as he enters the syst
em.



Buddy system could even be used by superstores like Walmart. It would not be right to
assume that all people will definitely walk in with cell
-
phones. Some might be using
devices like PDA. So the appropriate method of notification will be used by our B
uddy
System.


Time table for project completion

Month:

October



Week 1:

o

Preparing initial design of framework, defining modules, identifying classes,
defining function interfaces.

o

Initial study of Java programming language and studying specific areas like
d
atabase, web services and xml programming in Java.

o

Revisiting framework design to check for modifications.



Week 2:

o

Starting with developing small codes, which can be used to develop actual
project code.

o

Preparing concrete design of the framework.

o

Submittin
g System Design Document on 10/20



Week 3:

o

Starting with the actual development of modules.



Week 4:

o

Modules development continues

o

Revisiting design to check whether we are working in right direction.



Week 5:

o

Completing basic requirements of each module.

Mon
th:

November



Week 1:

o

Integrating basic modules and starting with initial testing



Week 2:

o

Submitting System Prototype


I on 11/10

o

Continuing with module development.



Week 3:

o

Complete module development.

o

Integrating modules. Start with testing and debugging

phase.



Week 4:

o

Coding for enhancements and testing.

Month:
December



Week 1:

o

Submitting System Prototype


II on 12/1

o

Documentation



Week 2:

o

Submitting final package on 12/12




The Buddies


Project Proposal


11

5. Reference

[1] Oxygen, MIT (
http://oxygen.lcs.mit.edu/)


[2] The Role of the S
emantic Web in Pervasive Context
-
Aware Systems
Harry Chen, Tim
Finin, and Anupam Joshi Department of Computer Science & Electrical Engineering

University of Maryland Baltimore County, Baltimore MD 21250, USA {hchen4, finin,
joshi}@cs.umbc.edu


[3] Context
-
Oriented Programming for Pervasive Systems
Andry Rakotonirainy School of
Information Technology and Electrical Engineering University of Queensland

Australia
andry@itee.uq.edu.au


[4] Pervasive Computing: Visio
n and Challenges
M. SatyanarayananSchool of Computer
Science Carnegie Mellon University


[5] Project Aura: Toward Distraction
-
Free Pervasive Computing
David Garlan, Daniel P.
Siewiorek,Asim Smailagic, and Peter Steenkiste Carnegie Mellon University


[6] Ar
chitectural Issues for Pervasive Computing
Sam Weber James S. Jennings


[7] A System Architecture for Pervasive Computing
Robert Grimn, Tom Anderson, Brian
Bershad, and David Wetheral, University of Washington.


[8] Programming for Pervasive Computing Envi
ronments
Robert Grimn, Janet Davis, Eric
Lemar, Adam MacBeth, Steven Swanson, Steven Gribble, Tom Anderson, Brian Bershad,
Gaetano Borriello, David Wathera, University of Washington, Technical Report UW
-
CSE
-
01
-
06
-
01