PPPL Spring/Summer CO-OP 2006 Stephen Krenzel. Focus of the CO-OP The co-op focused on improving ElVis, an application for the visualization and monitoring.

Slides:



Advertisements
Similar presentations
Enhancements to ElVis Scientific Graphics Software Tarun Pondicherry Ben Phillips PPPL Science Education Summer Interns Eliot Feibush – Mentor August 14,
Advertisements

Introduction To Java Objectives For Today â Introduction To Java â The Java Platform & The (JVM) Java Virtual Machine â Core Java (API) Application Programming.
UNDERSTANDING JAVA APIS FOR MOBILE DEVICES v0.01.
Java: History and Introduction (Lecture # 1). History… Java – Based on C and C++ – Developed in 1991 for intelligent consumer electronic devices – Green.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Copyright © 2006 by The McGraw-Hill Companies,
1 Applets Chapter 1 To understand:  why applets are used to extend the capabilities of Web pages  how an applet is executed and know about the restrictions.
Java Programming, 3e Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
A New Soar Debugger in Java Douglas Pearson ThreePenny Software
Russell Taylor Lecturer in Computing & Business Studies.
Developing a Basic Web Page with HTML
Mgt 240 Lecture Website Construction: Software and Language Alternatives March 29, 2005.
L EC. 01: J AVA FUNDAMENTALS Fall Java Programming.
ElVis Features & Animations Michael Shmulevich PPPL Summer High School Intern Mentor – Eliot Feibush August 14, 2008.
Slide 1 of 9 Presenting 24x7 Scheduler The art of computer automation Press PageDown key or click to advance.
LESSON 1 INTRODUCTION Compiled By: Edwin O. Okech [Tutor, Amoud University] JAVA PROGRAMMING.
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
Chapter 13 Programming Languages and Program Development 1.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Java Programming, 2E Introductory Concepts and Techniques Chapter 1 An Introduction to Java and Program Design.
1 Networks and the Internet A network is a structure linking computers together for the purpose of sharing resources such as printers and files Users typically.
Chapter 1 Coding Introduction.
ElVis web services and systems Matt Milano Mentor - Eliot Feibush.
20-753: Fundamentals of Web Programming Copyright © 1999, Carnegie Mellon. All Rights Reserved. 1 Lecture 16: Java Applets & AWT Fundamentals of Web Programming.
ElVis Developments for Simulation and Analysis Programs Tarun Pondicherry Summer 2006 Science Ed High School Intern Eliot Feibush, Mentor 8/16/2006.
COMPUTER SOFTWARE Section 2 “System Software: Computer System Management ” CHAPTER 4 Lecture-6/ T. Nouf Almujally 1.
Chapter 16 The World Wide Web Chapter Goals Compare and contrast the Internet and the World Wide Web Describe general Web processing Describe several.
 2002 Prentice Hall. All rights reserved. 1 Introduction to Visual Basic.NET,.NET Framework and Visual Studio.NET Outline 1.7Introduction to Visual Basic.NET.
16-1 The World Wide Web The Web An infrastructure of distributed information combined with software that uses networks as a vehicle to exchange that information.
CPS120: Introduction to Computer Science The World Wide Web Nell Dale John Lewis.
TRANSP to ElVis: elvislib By: Ben Bariteau Mentor: Doug McCune.
Windows Presentation Foundation. Goal The goal of Windows Presentation Foundation (WPF) is to provide these advances for Windows. Included in version.
HTML. Principle of Programming  Interface with PC 2 English Japanese Chinese Machine Code Compiler / Interpreter C++ Perl Assembler Machine Code.
Web Programming : Building Internet Applications Chris Bates CSE :
1.8History of Java Java –Based on C and C++ –Originally developed in early 1991 for intelligent consumer electronic devices Market did not develop, project.
Chapter 8 Introduction to HTML and Applets Fundamentals of Java.
Chapter 13. Applets and HTML HTML Applets Computer Programming with JAVA.
WEB BASED DATA TRANSFORMATION USING XML, JAVA Group members: Darius Balarashti & Matt Smith.
1 Welcome to CSC 301 Web Programming Charles Frank.
Editing & Compiling: UNIX vs. IDE and an Intro to Architecture.
Web Design (1) Terminology. Coding ‘languages’ (1) HTML - Hypertext Markup Language - describes the content of a web page CSS - Cascading Style Sheets.
ElVis Tutorial Eliot Feibush
Introduction to Processing. 2 What is processing? A simple programming environment that was created to make it easier to develop visually oriented applications.
Copyright © Mohamed Nuzrath Java Programming :: Syllabus & Chapters :: Prepared & Presented By :: Mohamed Nuzrath [ Major In Programming ] NCC Programme.
A radiologist analyzes an X-ray image, and writes his observations on papers  Image Tagging improves the quality, consistency.  Usefulness of the data.
XML stands for Extensible Mark-up Language XML is a mark-up language much like HTML XML was designed to carry data, not to display data XML tags are not.
1 Service Creation, Advertisement and Discovery Including caCORE SDK and ISO21090 William Stephens Operations Manager caGrid Knowledge Center February.
ElVis – Collaborative Visualization Display and explore fusion data. Monitor TRANSP runs. Display input data. Retrieve shot data from MDSplus. Whiteboard.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
ElVis Improvements Summer 2008 Eric Zatz PPPL Summer Intern Mentor – Eliot Feibush August 11, 2008.
Reconfigurable Communication Interface Between FASTER and RTSim Dec0907.
Data Optimization for Reflectometer Simulation Marc Osherson Science Education Summer Intern 9/1/2005.
Copyright © 2006 by The McGraw-Hill Companies, Inc. All rights reserved. McGraw-Hill Technology Education Chapter 13 A & B Programming Languages and the.
Part 1 The Basics of Information Systems. Purpose of Information Systems Information systems ◦ Collects, stores and organizes information ◦ Retrieves.
Java High level programming language ◦ Sun Microsystems ◦ ORACLE acquired Java Development Kit – JDK Java Runtime Environment – JRE Java Virtual Machine.
Your Interactive Guide to the Digital World Discovering Computers 2012 Chapter 13 Computer Programs and Programming Languages.
Android. Android An Open Handset Alliance Project A software platform and operating system for mobile devices Based on the Linux kernel Developed by Google.
Slide 1. What's New in NetBeans IDE 7.1 Name Title.
Introduction to Algorithm. What is Algorithm? an algorithm is any well-defined computational procedure that takes some value, or set of values, as input.
Chapter 1 Coding Introduction.
Progress Apama Fundamentals
Introduction to Visual Basic. NET,. NET Framework and Visual Studio
Applications Active Web Documents Active Web Documents.
Chapter 1 Introduction to Computers, Programs, and Java
Java Applets.
and Program Development
Web Programming : Building Internet Applications Chris Bates CSE :
Mark Quirk Head of Technology Developer & Platform Group
Research on edge computing system based on Linux EdgeX Foundry
Outcome of the Lecture Upon completion of this lecture you will be able to understand Fundamentals and Characteristics of Java Language Basic Terminology.
Presentation transcript:

PPPL Spring/Summer CO-OP 2006 Stephen Krenzel

Focus of the CO-OP The co-op focused on improving ElVis, an application for the visualization and monitoring of scientific data.

Application or Applet Commands rplot text Original ElVis Architecture Initially, rplot sent data directly to ElVis, or data was read from the local file system. ElVis File-System rplot elvis_server elvis_port Application or Applet Network

Application or Applet Commands rplot text ElVis Portal Architecture ElVis is moving to a services oriented architecture. ElVis can now acquire data through a compute service. This allows ElVis to run effectively as an applet in a web browser or as a stand-alone application. It also supports collaboration between users. Many of ElVis' design decisions are now centered around constraints imposed by applets. ElVis File-System ElVis Servlet Graph Window Handler clterm pty rplot elvis_server elvis_port Elvis API Commands rplot text Rplot text stdio Application or Applet xml data Network

Areas of Attention ➢ XML Protocol for ElVis API ➢ Logarithmic Plotting ➢ Whiteboard ➢ Development Process

XML File Format ➢ XML (eXtensible Markup Language) is a general purpose markup language for describing structured information. ➢ Human-readable, yet easily handled by machines ➢ Self-documenting and widely supported ➢ Example: Peter Bill Reminder Don't forget to put the new coversheet on the TPS reports.

EML (ElVis Markup Language) ➢ Old format: ➢ Proprietary binary byte-stream ➢ Many compatibility and versioning issues ➢ New XML based format: ➢ Implemented using open industry standards, and a robust framework (dom4j) ➢ Easily extended, and important to ElVis moving forward ➢ Formally specified in a Document Type Definition (DTD) ➢ allows others to easily adopt the format ➢ Network transparent and backward compatible ➢ Speed: ~70,000 data points / second ➢ (SUN Java 1.4.2_11, Intel Xeon 3.00Ghz, Linux kernel ) ➢ Size: XML is verbose, however has very high compressions ratios if size becomes a problem. Typically on the order of 91% - 99% in tests done on EML files.

Simple EML Example

Logarithmic Plotting ➢ ElVis now supports viewing data linearly or logarithmically on either axis ➢ Applies to single or multi-variable data ➢ Translating and scaling of logarithmic axes are still in progress ➢ Tested to work with rplot and sigtab ➢ The classes were also utilized by Tarun Pondicherry in his work with logarithmic surface plots

Log axis class used in surface plots.

Whiteboard ➢ Users can now draw arrows, circles, rectangles, lines, and freestyle ➢ Anything that can be drawn, including highlights on data, can have its color, thickness and style set ➢ Objects can now be selected, translated, removed, and have attributes modified after being drawn ➢ Highlights on indexed data persist as the data is animated, allowing areas of interest to remain marked ➢ Whiteboard objects are now saved and read from NetCDF files

Development Process ➢ Introduced the Eclipse integrated development environment (IDE) ➢ Facilitates team oriented development through tight integration with CVS ➢ Iterative compiler ➢ Code changes are applied in real-time ➢ This is particularly useful when setting up test cases ➢ Has easy to use debugging utilities ➢ Intelligent code handling and general “awareness” of potential issues ➢ Some support for other languages as well

Using the eclipse debugger was invaluable for debugging image display code. This is another java client for the reflectometer. Three images, each at different resolutions, overlapping.

Development Process ➢ Some code was optimized by removing instances of unnecessary code ➢ i.e. methods being called to update values that hadn't been changed ➢ Assisted by Eclipse's code analysis tools, over 550 warnings, bugs, and miscellaneous fixes (i.e. unused code) were made

Summary ➢ Enhancements to ElVis Architecture ➢ Log Plotting ➢ Whiteboard ➢ Software Development Environment (Teach a man to fish...)

Thank You In particular, I'd like to thank Eliot Feibush, Doug McCune, Drexel University and the Princeton Plasma Physics Lab.