JHAV An AV Support Environment - PowerPoint PPT Presentation

1 / 16
About This Presentation
Title:

JHAV An AV Support Environment

Description:

'One's object is then to have a clear mental picture of the state of the machine ... This object can only be achieved with a struggle.' Alan Turing. JHAV ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 17
Provided by: jacob80
Category:

less

Transcript and Presenter's Notes

Title: JHAV An AV Support Environment


1
JHAVÉ An AV Support Environment
  • Jacob Dolan
  • http//www.cs.montana.edu/dolan
  • Ones object is then to have a clear mental
    picture of the state of the machine at each
    moment in the computation. This object can only
    be achieved with a struggle. Alan Turing

2
JHAVÉ
  • What is JHAVÉ?
  • How does JHAVÉ work?
  • What is Web Start?

3
JHAVÉ
  • Java-Hosted Algorithm visualization Environment
  • JHAVÉ is a support environment for developed AV
    scripting languages.
  • IT IS NOT AN AV SYSTEM!

4
Design Goals
  • Provide visualizations that have both smooth
    flowing animations and series of discrete
    snapshots
  • Provide context-sensitive textual material that
    relates to the current state of the visualized
    algorithm
  • Provide input generators to create what if
    situations
  • Provide methods for active participation in the
    visualized algorithm to produce stop-and-think
    situations.

5
Design Motivations
  • Motivations for JHAVÉ
  • Availability
  • Delivered via the web
  • Portability
  • Delivered to any platform
  • Diversity
  • Limited authoring language constraints
  • Extendibility
  • Add necessary functionality to existing AV
    systems

6
Client-Server Relationship
  • Client-Server Relationship
  • 1. Client connects to server
  • 2. Server responds with a list of available
    algorithms
  • 3. Algorithm is selected by client
  • 4. Server produces the visualization script,
    customizing visualization if necessary
  • 5. Client renders the visualization script
  • 6. If input is required, server sends input
    generator object to client, client responds with
    requested input, server generates a new
    visualization script for the client to render

7
Client-Server (cont)
  • Client connects to server
  • Server responds with
    list, and client selects algorithm

8
Client-Server (cont)
  • Client customizes input if desired
  • Server produces the visualization
  • script and the client renders it

9
Client-Server (cont)
  • Input is required, so the server-client continue
    to interact

10
JHAVÉ AV Engines
  • JHAVÉAV Relationship
  • AV system plugs into JHAVÉ
  • AV system has to be written in Java and derived
    from an abstract base class called the Visualizer
    class
  • AV system must output a script file of
    visualization commands. The script language can
    be defined by the individual AV system
  • Because the AV system is extended by JHAVÉ it
    needs to only worry about displaying what ever
    needs rendering

11
JHAVÉ AV Engines (cont)
  • To become a JHAVÉ AV engine, the engine must
    declare that it is a subclass of JHAVEs abstract
    Visualizer class
  • Inform JHAVÉ what capabilities it has
  • Step forward, step backward, frame jumping,
    smooth animations, zooming etc.
  • Implement a constructor that receives the input
    stream
  • Implement getCurrentFrame, getFrameCount,
    getRenderPane
  • For each ability that it declares that it has,
    the AV system must override a method declared in
    the base Visualizer class.

12
JHAVÉ AV Engines (cont)
  • Current AV systems that are compatible with JHAVÉ
  • JSamba (smooth animations)
  • AnimalScript
  • GAIGS (snap shots)

13
Web Start
  • JRE version management
  • Web Start downloads and installs the required JRE
    version for the specific application
  • Web Start can manage multiple JRE versions so the
    installation does not affect already installed
    java applications

14
Web Start (cont)
  • Desktop Integration
  • Caches applications to be available from the
    desktop, for some applications this means running
    offline
  • Version Control/Updating
  • Makes sure the application is up-to-date and
    download/install new versions of the application
  • Security
  • Runs in the sandbox

15
Web Start Implementation
  • Very simple implementation
  • Set up a Web server
  • Create a Java Networking Launching Protocol
    (JNLP) file
  • Put application on Web server
  • Create Web page and link to the JNLP file

16
References
  • JHAVÉ, http//www.jhave.org/
  • Naps, Thomas L., Norton, Laura L., and Eagan,
    James R., " JHAVÉ -- An Environment to Actively
    Engage Students in Web-based Algorithm
    Visualizations," in Proceedings of the SIGCSE
    Session, ACM Meetings (Austin, Texas, March
    2000).
  • Naps, Thomas L., " JHAVÉ -- Addressing the Need
    to Support Algorithm Visualization with Tools for
    Active Engagement," accepted in IEEE Computer
    Graphics and Applications, December, 2005.
  • Web Start, http//java.sun.com/products/javawebsta
    rt/
  • Web Start White Paper, http//java.sun.com/develop
    er/technicalArticles/WebServices/JWS_2/JWS_White_P
    aper.pdf
Write a Comment
User Comments (0)
About PowerShow.com