Experiment Management System CSE 423
-
Upload
eagan-thomas -
Category
Documents
-
view
17 -
download
0
description
Transcript of Experiment Management System CSE 423
Experiment Management System CSE 423
Aaron KlocJordan Harstad
Robert SorensenRobert Trevino
Nicolas Tjioe
Final Report Presentation
Industry Mentor: Jack Harris
Group Members
Simple Overview
What is our purpose? Create an application that will combine
information from multiple data sources (experiments) into a central location.
Why is this necessary? To provide convenience to the experiment
administrator in accessing and managing the data.
How will this be done? By use of a MySQL database as well as Java
applications.
Lab Photos
Project Goal – Diagram Create an extensible network environment for integrating different
hardware data collection systems used in research experiments
To have a centralized information store of significant data collected from the multiple systems that are time synchronized.
Database
Terminal
Device
Admin
Device
Device
Device
Device
Terminal
Tasks/Problems
1. Create protocol specification for data to be passed between research collection system and the Experiment Management System (EMS).
2. Design a Database for housing the experiment information 3. Install all required support software for the EMS (OS, Web
Server, Database).4. Produce a web based user interface for the EMS system that
allows researchers control over experiments and consolidated research data.
5. Create EMS server software that that can communicate to the Agents using this protocol and store information into a database
1) Create protocol specification for data to be passed between research collection system and the Experiment Management System (EMS).
Solution: Using the Java programming language an admin can easily connect to an existing MySQL database by supplying an IP, a port number, a user name, and a password.
2) Design a Database for housing the experiment information
Solution: A MySQL server will be created that can be connected to from a remote source. A routine within the database will sort incoming data from a port, into a table within the database.
3) Install all required support software for the EMS
(OS, Web Server, Database).
Solution: The EMS consists of three applications:
1) Server
-MySQL
-Java
2) Terminal
-Java
3) Admin
-Java
Each application will be installed on the appropriate computers. Since Java is easily portable the only requirement will be that the latest version of Java and MySQL be installed on each machine.
4) Produce a web based user interface for the EMS system that allows researchers control over experiments and consolidated research data.
Solution: Viewable experiment data will only be located on the MySQL server. This will allow an admin to view the data from a remote location and filter the data. The admin will also have the ability to start and stop new experiments.
5) Create EMS server software that that can communicate to the
Agents using this protocol and store information into a database
Solution: An application will be installed on an admin machine. If the machine is located on the same network as the database then the user can interact with the system, via a GUI, if a valid user name and password are supplied.
Terminals And Devices
Terminals And Devices
Two main problems to contend with:- Retrieve Data
a. Devices
b. Experiment- Send Command
a. Start Experiment
b. Stop Experiment
Terminals and Devices -Retrieving Data
• Generic Code puts data on to network that identifies mouse and keyboard
• Customize code to work for any device added• Identify device by the port number it is on• Timestamp is key
Devices And Terminals -Retrieving Data
Executable is launched Events on devices
opens ports and sends information on to network Mouse/port 5333
Joystick/port 4500
Eyetracker/port 3700
Devices And Terminals-Sending Commands
Application allows the computer to accept incoming commands from the server
Current generic code allows the control of mouse and key board at distant end similar to remote desktop
Configure commands to interface with experiments
Devices And Terminals-Sending Commands
Executable will need to be running on both machines
Commands pertain to experiments
Client Machine will listen on specified port Listening for
commands/port 4800
Start Experiment Begin Sending DataStop ExperimentStop Sending Data
Server/Database
Database
Terminal
Device
Admin
Device
Device
Device
Device
Terminal
Design Requirements
Central storage system Network capable Easy to use Server
OS
Database
ManagementAgent
Web Server
Server Design MySQL Server
Free Easy to use Easy to install Flexible Java compatible
JDBC (Java Database Connectivity) Free Easy to use Easy to install Supports multiple
databases
Server Design
Feasibility Test Code
import java.net.*;
DatagramSocket MyClient;
MyClient = new DatagramSocket(55555);
InetAddress IP1=InetAddress.getByName("LOCALHOST");
packet = new DatagramPacket(sendBuf, sendBuf.length, Dest, DestPort);
MyClient.send(packet);
Feasibility Test Code
Possible Difficulties
Network Traffic Can the local network handle a large amount of streaming
devices? Socket Congestion
Can a single thread handle a large amount of incoming traffic?
Data Storage Can the database preserve all types of data sent?
Data Querying Can data filters be applied effectively to a wide range of
data types?
EMS User
Database
Terminal
Device
Admin
Device
Device
Device
Device
Terminal
New User
Create Experiment
Query Builder
“SELECT EIDS.ID, EIDS.[Experiment ID], EIDS.Terminal, EIDS.Device, EIDS.Subject, EIDS.[Data Stream], EIDS.Timestamp, EIDS.Created, EIDS.AuthorFROM EIDSWHERE (((EIDS.Device)="Eye Tracker") AND ((EIDS.Subject)="Roger Nie"));”
String CurrentQuery =
this.eIDSTableAdapter.Run(this.CurrentQuery);
Accomplished Work
Feasibility Test : store actual experiment data files into database and retrieve it later. We implement actual Java code to test our model. Skeleton of MySQL database setup.Currently we have the table for Eye tracking device set up.
Programming Language : Java + JDBC driver (Portability).
Network protocol : UDP.UDP offers speed as there is no error correction.
Cont of Accomplished WorkData format between device and terminal
The terminal will listen to certain ports for the incoming data traffic
to store the data into respected tables in the database.
Design System Use Case diagram
Define the role of the users: researcher, administrators, etc. Different
users will only have specific visibility to the experiment data.
GUI Administration prototype to administer over the experiment.
Start Exp -> Download -> Query
Prototype Model: Actual model of how the whole system will work.
What we have learned:
Team communication
Time management skills in a time work environment.
Different protocols: UDP, TCP/IP.
The advantage between each protocol and their actual implementation.
Database Experience
Most group members have none or little experience.
Project Presentation
Future Goals Design GUI interface for the users. (web or application)
Adding more database tables as we will get more devices connected to the terminal.
Testing: - System Testing (with different devices) - Integration Testing
- Unit Testing- Validation Testing
Create User Guide for our final product to be used as a reference by the researcher.
Demo the final product to our industry mentor.
Questions