ParaQ:Telecon 09/13/2005 1PM EST: Difference between revisions

From ParaQ Wiki
Jump to navigationJump to search
No edit summary
 
(10 intermediate revisions by 3 users not shown)
Line 2: Line 2:
{| cellpadding="2" cellspacing="4" style="backround:#efefef"
{| cellpadding="2" cellspacing="4" style="backround:#efefef"
|-
|-
! style="background:#efefef" | Item
! style="background:#abcdef" | Item
! style="background:#efefef" | People
! style="background:#abcdef" | People
! style="background:#efefef" | Description
! style="background:#abcdef" | Description
|-
|-
|-
|-
Line 24: Line 24:
| 4
| 4
| BW,DR
| BW,DR
| Present demo script.  See [[#Demo Script]]
| Present demo script.  See [[Demo:Script]]
|-
|-
|-
|-
Line 35: Line 35:
| Update on videocon equipment
| Update on videocon equipment
|-
|-
|}
==Demo Script==
<b>Section Author:</b> David Rogers
This set of steps details the operations that the user will perform during the demo of early versions of ParaQ.
<b>Requirements</b>
<br>
# Platform: Windows XP.
<br>
{| cellpadding="4"
|-
| style="background:#efefef" |
{| cellpadding="2" cellspacing="4" style="backround:#efefef"
|-
! style="background:#efefef" | Step
! style="background:#efefef" | Description
! style="background:#efefef" | Purpose
|-
|-
| valign="top" | 1
| valign="top" | Click on ParaQ Icon, which brings up application quickly.  The interface is very simple, with a minimum of child windows included.  There two toolbars present - 1)the macro toolbar, populated by several macros, which appear as icons; 2) the view management toolbar, which shows icons for the operations that can be performed on windows, including several quick layouts (side-by-side, 4 quadrants, one next to two stacked views)
| valign="top" | Shows loading of simplified UI state, user-editable macros (from a pre-defined location), and quick-layout buttons
|-
|-
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
|-
|-
| valign="top" | 2
| valign="top" | File->Open, browse to ParaQ xml file, and open it.  This loads a complete configuration, including linked views, positions of toolbars, and attributes (such as timestep, current variable, etc.) that are needed to define the current state.  User will perform view manipulation operations (pan, zoom, etc.).
| valign="top" | Shows loading of previous state.
|-
|-
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
|-
|-
| valign="top" | 3
| valign="top" | File->New, which clears state, creating a single geometry window
| valign="top" | Shows File->New operation
|-
|-
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
|-
|-
| valign="top" | 4
| valign="top" | View->Hierarchy, which shows the application hierarchy editor, docked in the left side of the application.
| valign="top" | Shows how different windows are managed.
|-
|-
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
|-
|-
| valign="top" | 5
| valign="top" | File->Open, browse to Exodus file.  This creates an entry in the Hierarchy window, and shows a basic representation of the data in the current (only) window
| valign="top" | Shows File->Open default behavior
|-
|-
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
|-
|-
| valign="top" | 6
| valign="top" | User selects data representation in the Hierarchy window by clicking on it, then clicks a macro button.  Macro is applied to the data, and the window updates.
| valign="top" | Shows macro capability
|-
|-
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
|-
|-
| valign="top" | 7
| valign="top" | User presses 'split screen' button in the view management toolbar.  The second window is created, with a basic geometry window in it.  There is no data in the window.  This is now the selected window
| valign="top" | Shows how users can create their own window layouts.
|-
|-
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
|-
|-
| valign="top" | 8
| valign="top" | User selects data representation in the Hierarchy window by clicking on it, then clicks a different macro button.  Macro is applied to data, and the second window updates to show the view.
| valign="top" | Shows how users can create their own window layouts.
|-
|-
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
|-
|-
| valign="top" | 9
| valign="top" | User clicks 'window' tab in the Hierarchy editor, bringing it to the front.  User selects the two windows present (representing the two geometry views in the interface), then right clicks to show the context menu.  There are at least two options - 'Link' and 'Unlink'.  The 'Unlink' option is greyed out.  User selects the 'Link' submenu, which shows several options, including 'Camera' and 'Timestep'.  User selects 'Camera', and the windows are now linked.  User demonstrates this by manipulating the camera directly in one of the windows.  The other window updates accordingly.
| valign="top" | Shows linking capability, ease of editing.
|-
|-
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
| style="background:#efefef" height="2" |
|-
|-
| valign="top" | 10
| valign="top" | User exits program, which closes gracefully (pops up a 'do you want to save changes' message, etc.).
| valign="top" | Ends demo without a 'bang!'
|-
|}
|}
|}


Line 185: Line 47:


Possible Solutions:
Possible Solutions:
# Squish from Frog Logic
# Squish from Frog Logic
  A)$10,000 for license for complete application
## $3,000 per seat for license for complete application
  B)$400 for license to just run tests
## $400 for license to just run tests
  C)Community contribution limited because of license cost
## Community contribution limited because of license cost
  D)Possible Difficulty integrating with VTK and Paraview testing framework
## Possible Difficulty integrating with VTK and Paraview testing framework
  E)Application to be tested started as child process and so dynamic analysis will be difficult
## Application to be tested started as child process and so dynamic analysis will be difficult
# KD Executor
# KD Executor
  A)Similar in cost and limitation to Squish
## Similar in cost and limitation to Squish
# KUnitTest
# KUnitTest
  A)BSD license
## BSD license
  B)Tests must be written in C++
## Tests must be written in C++
  C)Designed for unit testing not complete application testing
## Designed for unit testing not complete application testing
# QTestLib
# QTestLib
  A)Dual license
## Dual license
  B)Tests must be written in C++
## Tests must be written in C++
  C)Designed for unit testing not complete application testing
## Designed for unit testing not complete application testing
# QTester
# QTester
  A)Written by LLNL
## Written by LLNL
  B)Not finished
## Not finished
  C)Not open source yet
## Not open source yet
# Python Scripting
# Python Scripting
  A)PyQt licensing cost.
## PyQt licensing cost.
  B)Limitation in PyQt in that the leaf class of C++ constructed object can't be accessed.
## Limitation in PyQt in that the leaf class of C++ constructed object can't be accessed.
  C)Must maintain own C++ wrapped classes and utilities
## Must maintain own C++ wrapped classes and utilities


Recommendation:
Recommendation:
Begin by linking ParaQ lib with testing main built using components of  KUnitTest and/or QTestLib. This would allow us to meet our initial testing goals. Then develop more complete testing framework as project progress.
Begin by linking ParaQ lib with testing main built using components of  KUnitTest and/or QTestLib. This would allow us to meet our initial testing goals. Then develop more complete testing framework as project progress.
==Decisions==
* Clinton Stimpson (ETI), Tim Shead (SNL), and Berk Geveci (KW) will serve as our 'Testing Team.'  They'll be responsible for testing enforcement at their respective workplaces.
* See [[ParaQ:Action Items]] for a list of action items handed out at this meeting (1005-09-13)

Latest revision as of 17:42, 9 November 2005

Agenda

Item People Description
1 KMor Multiview update
2 CM Report on testing solution for Qt. See #Qt Testing Requirements
3 CM Present straw man class architecture for ParaView Server API
4 BW,DR Present demo script. See Demo:Script
5 DR Present Microsoft Project schedule overview
6 BW Update on videocon equipment

Qt Testing Requirements

  1. Test for code coverage.
  2. Test GUI's interaction with server manager.
  3. Test GUI itself (e.g. button click leads to correct action & results) that's insensitive to layout.
  4. Easy to create test cases.
  5. Community's ability to test and contribute to testing.
  6. Integration with vtk's and paraview's testing framework (meaning leverage testing abilities already existent such as image comparisons and such)
  7. Drive demos, using the same framework.

Possible Solutions:

  1. Squish from Frog Logic
    1. $3,000 per seat for license for complete application
    2. $400 for license to just run tests
    3. Community contribution limited because of license cost
    4. Possible Difficulty integrating with VTK and Paraview testing framework
    5. Application to be tested started as child process and so dynamic analysis will be difficult
  2. KD Executor
    1. Similar in cost and limitation to Squish
  3. KUnitTest
    1. BSD license
    2. Tests must be written in C++
    3. Designed for unit testing not complete application testing
  4. QTestLib
    1. Dual license
    2. Tests must be written in C++
    3. Designed for unit testing not complete application testing
  5. QTester
    1. Written by LLNL
    2. Not finished
    3. Not open source yet
  6. Python Scripting
    1. PyQt licensing cost.
    2. Limitation in PyQt in that the leaf class of C++ constructed object can't be accessed.
    3. Must maintain own C++ wrapped classes and utilities

Recommendation:

Begin by linking ParaQ lib with testing main built using components of KUnitTest and/or QTestLib. This would allow us to meet our initial testing goals. Then develop more complete testing framework as project progress.

Decisions

  • Clinton Stimpson (ETI), Tim Shead (SNL), and Berk Geveci (KW) will serve as our 'Testing Team.' They'll be responsible for testing enforcement at their respective workplaces.
  • See ParaQ:Action Items for a list of action items handed out at this meeting (1005-09-13)