Java Application Overview PowerPoint PPT Presentation

presentation player overlay
1 / 36
About This Presentation
Transcript and Presenter's Notes

Title: Java Application Overview


1
Java Application Overview
  • J. Patrick
  • December 10, 2003

2
Applications
  • Provide primary user interface to the system
  • Machine independent / Machine dependent
    applications
  • Extensive libraries behind them
  • If some functionality has usage across machines,
    we attempt to make the same or similar
    applications for each
  • Parameter page/Fast time plots
  • Data logger viewer
  • Low level hardware configuration, diagnostics
    (ramp cards, timer cards etc.)
  • Multiwire displays
  • .
  • At some point things become machine specific
  • Probably sometimes unnecessarily

3
What Currently Exists
  • Application Index
  • Catalog applications, provide convenient startup
  • Application Framework
  • Basis of applications
  • Basic functionality, common look and feel
  • Code Management
  • Code development environment
  • Basic libraries
  • Data acquisition, database, plotting, etc.
  • Some general (D page type) applications
  • A small number of machine applications

4
Application Index
  • Application Index
  • Catalog of applications
  • Web page (http//www-bd.fnal.gov/appix)
  • Standalone program (like Windows Explorer)
  • Click to start programs
  • Can start both normal and browser based
    applications
  • Application Startup
  • Uses Java WebStart
  • Only Java need be installed on your PC
  • All required code is automatically copied to your
    PC and cached
  • Program starts and runs on your PC

5
Application Home Page
http//www-bd.fnal.gov/appix
6
Application Index
7
Application Framework
  • Provides common infrastructure for applications
  • Basic window with common basic menu items
  • Basic menus and toolbars easily extensible
  • Capture, mail, etc. utilities like VAX program
    tools
  • Message capture, application monitoring
  • Post images directly to e-log!

8
Graphical User InterfaceJControlsFrame
9
Current Library Infrastructure
  • Access to entire control system
    (readings/settings/snap/ftp)
  • DaqJob API
  • DaqJob (what, from, to, when, who, control)
  • Still based on same power supply device
    paradigm
  • Required for compatibility with old system
  • The infrastructure allows manipulating structured
    sets of devices
  • By writing custom items
  • Still dont apply structure to Acnet array data
  • Theoretically possible, but would require
    front-end/Java cooperation
  • Part of Library support encapsulated in what
    (item) subclasses
  • Access via same API to
  • Data logger data
  • SDA data
  • Save/Restore data
  • Models

10
Current Library Infrastructure
  • Core Java libraries provide
  • Graphical user interface
  • Networking, threads, I/O
  • Database access via Java standard (JDBC)
  • Plotting
  • Both internally written(fast) package, and
    JFreeChart (prettier/more options)
  • New package under development
  • Currently no general 3-D plot support
  • Synoptic display infrastructure/dragdrop builder
    (Lexdraw successor)
  • Finite State Machine infrastructure including
    graphical builder
  • NOT a straight port of CLIB/User Libraries
  • There are certainly missing pieces in the above

11
Synoptic Display
12
Missing Infrastructure
  • Functionality of most machine specific VAX User
    Libraries
  • Though functional equivalents exist in some cases
  • Numerical methods/linear algebra use not
    extensive so far
  • Usage in autotune, some other places
  • Some fitting, FFT code in gov tree
  • Third party packages exist that should satisfy
    requirements
  • No Numerical Recipe Java port exists
  • Full support for GPIB/specific scope models
  • Lowest level infrastructure exists, needs to be
    built up
  • We will do this as people ask for it.
  • We will provide any infrastructure needed
  • Ask us please before you write (or download) such
    packages

13
CLIB Functionality Status
14
CLIB Functionality Status cont.
15
CLIB Functionality Status, cont.
16
User Library Status
17
User Library Status cont.
18
General Applications
  • A modest number exist
  • Notify!
  • SDA tools
  • D44
  • D80
  • Parameter Page

19
Parameter Page
20
Device Database (D80)
21
Data Logger Plotter (D44)
22
Pbar Vacuum
23
Code Overview
  • Single rooted tree the gov tree
  • gov/fnal/controls/applicationsgov/fnal/controls/t
    oolsgov/fnal/controls/daq
  • Following standard Java package naming
    conventions
  • 3000 classes, 500K non-comment lines of code
  • 70 third party jar files
  • Currently released as a whole package
  • Done ltonce/daygt as requested
  • Not much of a problem so far, but we realize this
    wont scale to many developers and many
    applications
  • Z page equivalent now available
  • Personal test versions can be made generally
    accessible

24
Code Management/Development
  • Code kept in CVS repository
  • nova.fnal.gov
  • Accessible over network for development on local
    PCs
  • Write permissions applied to subdirectories
  • Code and history is viewable on the web via
    cvsweb
  • GUI (we use jCVS) and command line interfaces
  • Global gov tree builds use ant
  • Developers cvs tag new versions to go into build
    as Ready4Alpha
  • Test builds each evening to catch problems early
  • Not an optimal method for individual developers
  • For individual development, people set up
    individual IDE and/or command line configuration
  • Not as convenient as MECCA in various ways
  • Various newer non-IDE environments available,
    havent yet decided whether to support any

25
CVS Web
26
Integrated Developer Environments
  • Integrated editor, compiler, code browser,
    debugger
  • CVS integration
  • Newer ones compile your code as you type it in!
  • Potentially more efficient development
  • But requires investment to master
  • Several choices of free and/or inexpensive
    products
  • Controls developers use JBuilder/Netbeans/SlickEdi
    t/Eclipse/command line

27
Integrated Developer Environments
28
Machine Applications
  • Accelerator applications can map well onto object
    oriented code
  • The opportunity exists to much better organize
    applications, though it would require significant
    cooperation among different departments.
  • For example, it might be possible to have more
    common programs for transfer line tune-up etc.
  • Store machine configuration in database
  • Same algorithm to the extent possible
  • Autotune attempts to do this

29
Autotune
  • Automatically tune transport lines for MiniBooNE
  • Will also use for
  • 120 GeV FT
  • Electron Cooling
  • Same code base for all 3 versions
  • Read positions from BPMs
  • Adjust magnets appropriately

30
(No Transcript)
31
(No Transcript)
32
COSY Application(ANKA Karlsruhe)
33
COSY application
34
SNS Application Uses COSY base code
35
(No Transcript)
36
Summary
  • Basic infrastructure exists
  • Application Framework
  • Application Index
  • Code management
  • Basic library functionality
  • Some general applications exist
  • A small number of machine applications exist
  • There is a long way to go
  • There is an opportunity to better organize
    applications
  • Will be hard to complete if this isnt done.
Write a Comment
User Comments (0)
About PowerShow.com