Title: Experiment Management System CSE 423
1 Experiment Management System CSE 423
Final Report Presentation
Industry Mentor Jack Harris
Group Members
- Aaron Kloc
- Jordan Harstad
- Robert Sorensen
- Robert Trevino
- Nicolas Tjioe
2Simple 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.
3Lab Photos
4Project 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.
5Tasks/Problems
- 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
6- 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.
7- 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.
8- 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.
9- 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.
10- 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.
11Terminals And Devices
12Terminals And Devices
- Two main problems to contend with
- Retrieve Data
- a. Devices
- b. Experiment
- Send Command
- a. Start Experiment
- b. Stop Experiment
13Terminals 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
14Devices 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
15Devices 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
16Devices 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 Data
Stop Experiment
Stop Sending Data
17Server/Database
18Design Requirements
- Central storage system
- Network capable
- Easy to use
19Server 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
20Server Design
21Feasibility Test Code
22Feasibility Test Code
- import java.net.
- DatagramSocket MyClient
- MyClient new DatagramSocket(55555)
-
- InetAddress IP1InetAddress.getByName("LOCALHOST")
- packet new DatagramPacket(sendBuf,
sendBuf.length, Dest, DestPort) - MyClient.send(packet)
23Possible 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?
24EMS User
New User
25New User
26(No Transcript)
27Create Experiment
28(No Transcript)
29Query 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)
30(No Transcript)
31(No Transcript)
32Accomplished 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.
33Cont 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 -gt Download -gt Query
- Prototype Model Actual model of how the whole
system will work.
34What 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
35Future 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.
-
36Questions