Implementation Status Report
The Buddies
CS551 – System Prototype-I
Project Group
Sushil Puradkar
Uday Joshi
Swapnil Deshmukh
Preeti Naik
Madhura Maideo
Neeta Prasad
Saurabh Pathak
Date of Submission: November 14, 2003
Implementation Status Report
Introduction
There was much apprehension about our project when we had to start the coding since it was more of a research oriented project. So we first had a clear picture in mind as to what had to be done for the prototype and what could be actually demonstrated. We decided that the 2 basic devices which we would be handling (on which buddy alerts would be sent) would be printer and cell phone. We have finished almost 60% of the coding work. First we will explain what has been done till now and then later look at what has to be done yet.
Working system
We have done a basic integration of all the modules and done testing with existing skeleton. Expansion and exhaustive testing is yet to be done. The system which we have implemented till now works as explained later in the work completed section.
Test Cases
Since the prototype is not yet 100% complete we are unable to provide detailed test cases for testing the complete system as of now. Testing that has been carried out till now is module level testing and testing of interaction between 3 modules, namely Script Parser, Device IO Handler and Device Ontology, Web handler and Event Handler. But the functionalities are yet to be tested after complete integration of all modules.
• Task ID: DB1
Description: Store the information about a user in database.
Input: User URI
Output: Return value 1 (success
Return value -3( failure
• Task ID: DB2
Description: Create table with column names and types as provided by caller.
Input: tablename, column1name, column1type, column2name, column2type,
……………..column n name, column n type.
Output: Return value 1 (success
• Task ID: DB3
Description: Retrieve Device URI of a particular user identified by User URI.
Input: User URI
Output: Return value is a vector (1, followed by device URI) (success
Return value -3( failure
• Task ID: DB4
Description: Retrieve functions and script ids to be invoked on the occurrence of a particular event.
Input: User URI
Output: Return value is a vector (1s, followed by matching records) (success
Return value -3( failure
• Task ID: DB5
Description: Update device status.
Input: Device URI
Output: Return value 1 (success
In following text success is 0 and failure is -1
• Task ID: DH1
Description: Only user URI and message is provided to output on device then search user’s preferred devices, get user’s location and check whether preferred device is available at that location. If the device is available then output the message on that device.
Input: User URI, Message
Output: If users preferred device is available in AS system then show message on that device else return error.
• Task ID: DH2
Description: If user URI, message and device type is provided then get user location, whether such device is present near user. If the device is available then use that device to out put message.
Input: User URI, message, device type
Output: If the device is present near user then output message on that device else return error.
• Task ID: DH3
Description: If user URI, message and device URI is provided then check the status of device. If the device is available then use that device to output message.
Input: User URI, Message, Device URI
Output: if device available then output message on that device else return error.
• Task ID: DH4
Description: When set of parameters is given for particular device then search device matching these parameters.
Input: Device parameters
Output: Success if device with machining parameter is found else failure.
• Task ID: SP1
Description: Check whether script is available at given location.
Input: Script path
Output: If script is available then parse script and return success else return failure.
• Task ID: SP2
Description: Check whether devices required by service are available in AS.
Input: Details of devices required by services
Output: If devices are available then return success else return error.
• Task ID: SP3
Description: Create tables required for service. Call database functions to create these tables.
Input: Table description
Output: If new table is created then return success else return failure.
• Task ID: SP3
Description: Check whether each statement of script can be executed. Check whether corresponding function set is available in function set to execute this script.
Input: script
Output: If there are functions in function set for each statement then return success else return false.
• Task ID: SE1
Description: For given event search the services that can be executed. If such services are available then execute those services in thread.
Input: Event Name
Output: If services are available then execute services in thread and return success else return failure.
Implementation status report:
I] Work Completed:
The code for the Framework (Java interfaces) has been developed. This is the interface, which will translate the words from the script.
Script is a generic document written in built–in parser enabled language XML. It has all the commands for buddy script like ‘read’, ‘print’ etc. This script will vary from service to service. Anyone can write a new script for his/her particular job and post it to the website. However, we have just developed the script for Buddy service and executed that. Our parser will parse the script, validate whether required devices are available and creates required database tables.
We also developed Event Handler class which will handle particular event. For given event it searches database to get dependent services and then execute scripts of those services. Each statement in script is mapped to one function of function set, which is basically a set of atomic functions. Functions in function set implements arithmetic functions like add, subtract and common functions like sort array or merge array. To handle database activities it needs to call functions implemented in Database Handler class and to execute any operation related to devices it needs to call functions implemented by Device IO Handler.
Currently we are using the MS Access database to create tables that keep device, user and service related information for AS system. We are using the SQL query within MS Access to get some data from the tables on demand. The application will keep a record of the user information like User URI. It also keeps a record of all available devices and their information like location, status, last accessed time etc.
The decision about which devices should be used to execute particular operation is taken by looking at all the device specification from ontologies. We have used Jena ontology. This can be said to be the collection of all the concepts along with the specifications. The ontology contains information about all possible devices, which are indexed on their URI. The system makes a query to the Device ontology to see if the desired operation is possible with the given device. If yes then it goes ahead and calls the corresponding web service and performs the actual operation. The Ontology is always be updated with all the new devices, which register themselves with the system. Thus, here device ontology will act like information envelops which will match device with its operation and its parameters and its abilities.
We use Web services component as external interface to this system. This component is implemented using java web service developer package. This acts as wrapper, which envelopes the entire framework. Web services manage various event handlers. The event handlers always run in the background on the user system. Whenever a buddy enters the system, or a new user registers, these event handlers will be triggered which in turn handles event and executes appropriate services.
Responsibilities:
✓ Tasks:
▪ Team Management.
▪ Worked on XML script parser and event handler.
Description: Allocating tasks to group members and coordinating their work. Taking part in discussion regarding database design, function set ontology inference logic and web services. Implementing script parser and script executer class. Current code can handle if condition, for each loop and creating array etc.
Buddy: Sushil Puradkar
Time: 20 hrs
✓ Task:
▪ Web Service Implementation and singleton architecture.
Description: Working on web services module to extract information from user profile. Implementing singleton architecture to implement AS server.
Buddy: Uday Joshi
Time: 20 hrs
✓ Task
▪ Web Service Implementation, Developed server side code for web services
Description: Implemented class for Web Service Handling: This class handles the various device related tasks which includes methods to register device, de-register device from the system.
When a new device is to be added to the system, then its URI, its type, and its other properties are passed as parameter to this registerDevice() method in this Class, which in turn will register this device into database. For de-registering any device, it’s URI is passed as a argument to the removeDevice() method which will remove the entry of device from the database.
Implemented device web service for printer which gets printer URI and file path to be printed as a parameter and then it sends the signal to printer and file gets printed.
Buddy: Swapnil Deshmukh
Time: 20 hrs
✓ Task:
▪ Device ontology and implementing device handler
Description: The device ontology has been developed. It contains device name, device URI, device type and its characteristics. It also contains all the possible parameters that can come along with it. These parameters will be useful while selecting one type device over other .If the program finds a match between the parameters requested and the parameters found in the device ontology file, then it will choose that device.
The parsing logic for the series of steps, which depend on what types of parameters the program, gets as input.
o Device URI or user URI, device Type etc.
□ Depending on what parameters we get, like device uri or user uri, device type, parameters etc, we call some sub functions in order to look up the missing parameters.
o This involves calls to the database
o The database also provides all the device information which is retrieved on need basis
□ If specific device is provided, we perform the action on that device by invoking corresponding web-service.
□ Then, we get the preferred list of devices from the user profile
o Then we try to match if the current requested operation is possible on the device mentioned in the preferred device list.
o If yes then we match the parameters, if we find a match, then we perform the operation.
o If not, then we say that the corresponding operation cannot be performed on the given device.
Buddy: Madhura Maideo
Time: 20 hrs
✓ Task:
▪ Database implementation
Description: Wrote the handling of JDBC connectivity. Due initial problems faced in mysql server set up for 551 projects it was decided to go ahead with local database connectivity with DSN. The basic functions to handle interactions with the buddy database have been implemented. We have implemented code to create new tables for any services at runtime but we are yet to write code to extract data from these tables.
Buddy: Preeti Naik
Time: 20 hrs
✓ Task:
▪ Atomic Functions
Description: The function set which has been implemented has many functions and these functions are not restricted to Buddy service only. Hence the work was divided between 2 people. The various functions implemented are add, subtract, divide, multiply, copy, concatenate, create array, fetch from web (which fetches user information from web. Implementation yet to be completed), show(This is to show some message to user), resolve conditions (this will be called to resolve conditions given in script)
Persons: Saurabh Pathak, Neeta Prasad
Time: 20 hrs
II] Work to be done:
Device Handling and Ontology
□ We have yet to implement the functionality wherein we are making smart choices between multiple devices. This operation involves-
o Scanning the device ontology for available / preferred device.
o Checking the device parameters.
▪ For the printer, the device parameters can be defined as
• Size of the paper
• Single or double sided
• Type of Paper (A4 / Letter etc)
o Checking one or all parameters and making a choice between which device to use
o Using more detailed ontology with lots of device specifications.
Buddy: Madhura Maideo
Atomic functions and Mapping to function sets
□ The script may contain various conditions.
o Logical / mathematical
o Comparisons etc
□ We plan to resolve these conditions inside the function set and send the Boolean value of the result back to the function mapper procedure.
□ We will categorize the variables into local, database and function specific and then copy them into corresponding arrays.
□ We have to add few more functions into the function set to take care of the added functionality and processing requirements of entire system.
Buddy: Saurabh Pathak and Neeta Prasad.
Web-Services
□ We need to enhance the current functions for the web-services.
□ Implement interaction between web service component and database component.
□ Implement client to call SMS web service to send message on mobile phone.
□ Implement web service to extract information from user profile.
□ Also, we need to take care of the event-handler
o We need to identify all the events.
o Invoke the trigger and start the event-handler
o Record and verify the output of the event handler in the form of an action.
Buddy: Swapnil Deshmukh, and Uday Joshi
Databases
□ The database connectivity with MySql Server has to be done yet. The functions to interact with service level tables in the database are yet to be coded.
Buddy: Preeti Naik.
Script Parser
□ Implement code to validate instructions given in script
□ Integrate all modules.
□ System Testing.
Buddy: Sushil Puradkar.
................
................
In order to avoid copyright disputes, this page is only a partial summary.
To fulfill the demand for quickly locating and searching documents.
It is intelligent file search solution for home and business.
Related download
- digital imaging and communications in medicine dicom
- ids adi 15926 template methdology
- this page will help you get started with sms api you ll
- overview home open smart grid opensg
- university of washington
- cloud application management for platforms version 1 1
- jstl 1 nakov
- implementation status report
- introduction objective of our project to design a
- network node v2 0 functional specification
Related searches
- crm implementation strategy
- crm implementation in schools
- crm implementation process
- crm implementation proposal
- crm implementation services
- example crm implementation plan
- sap implementation process
- crm implementation risk
- crm implementation plan
- crm implementation case study
- crm implementation project plan template
- salesforce service cloud implementation guide