Experiment Management System CSE 423
Download
Report
Transcript Experiment Management System CSE 423
Experiment Management
System
CSE 423
Final Report Presentation
Industry Mentor: Jack Harris
Group Members
Aaron Kloc
Jordan Harstad
Robert Sorensen
Robert Trevino
Nicolas Tjioe
Simple Overview
What is our purpose?
Why is this necessary?
Create an application that will combine
information from multiple data sources
(experiments) into a central location.
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.
Device
Device
Terminal
Device
Admin
Database
Device
Terminal
Device
Tasks/Problems
1.
2.
3.
4.
5.
Create protocol specification for data to be passed between
research collection system and the Experiment Management
System (EMS).
Design a Database for housing the experiment information
Install all required support software for the EMS (OS, Web
Server, Database).
Produce a web based user interface for the EMS system that
allows researchers control over experiments and consolidated
research data.
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
Start Experiment
Stop Experiment
Listening for
commands/port 4800
Begin Sending
Data
Stop Sending
Data
Server/Database
Device
Device
Terminal
Device
Admin
Device
Terminal
Database
Device
Design Requirements
Central storage system
Network capable
Easy to use
Server
OS
Web Server
Database
Management
Agent
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
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);
Possible Difficulties
Network Traffic
Socket Congestion
Can a single thread handle a large amount of incoming
traffic?
Data Storage
Can the local network handle a large amount of streaming
devices?
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
Device
Device
Terminal
Device
Admin
Database
Device
Terminal
Device
New User
Create Experiment
Query Builder
String CurrentQuery =
“SELECT EIDS.ID, EIDS.[Experiment ID], EIDS.Terminal, EIDS.Device,
EIDS.Subject, EIDS.[Data Stream], EIDS.Timestamp, EIDS.Created, EIDS.Author
FROM EIDS
WHERE (((EIDS.Device)="Eye Tracker") AND ((EIDS.Subject)="Roger Nie"));”
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 Work
Data 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