Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Overview

SAGE is a non-domain specific application framework that is built upon Bard, PTPFlow, Tupelo, and MyProxy for setting up, launching and managing HPC application workflows through an easy to use user interface. This document is intended to lay the foundation of the core components and views provided by the SAGE application framework and inform users how they can extend the various parts for their domain specific application.

Core Application Management

The central management piece for each SAGE application is BardFrame. BardFrame is a general application piece provides an interface for working with the Tupelo semantic content repository and is responsible for managing contexts, bean sessions, data, etc and will need to be extended for each specific use case if the use case requires an entirely new application (e.g. e-AIRS and e-Spine have different ways in which they will launch HPC jobs and might require two separate BardFrame's implementations). The use of beans will be a core concept for persisting information in the SAGE framework so all beans will need to descend from CETBean. Because every application will have its own bean requirements, each SAGE application should have its own instance of BardFrame to handle this. All application bean types should register with BardFrame and the BardServiceRegistry should provide the right correct instance of BardFrame . Alternatively, BardFrame could be made to allow applications to register their bean types.at runtime.

Scenarios View

Displays user scenario(s) and all sub-parts displayed in a Tree view. A scenario is similar to the concept of a project where it contains a collection of parts (input datasets, output datasets, etc) that are part of the scenario. Users will launch jobs on the HPC machines that run workflows using the inputs in their scenario and when a project completes, the outputs should be added to the users scenario. A user might have multiple scenarios open at once, close scenarios, or even delete scenarios from their scenario view (deleted from the view, but still in the repository) so we'll need to manage which scenarios are in a session and what is their current state (open/closed). For example, I might have scenario A, B and C stored in a local repository, but only A and B are loaded into my application.

...

Code Block
titleUserPropertyBean extends CETBean implements Serializable
private String userHome;
private String userName;
private String userNameOnHost;

Analysis Framework