Unblocking The Main Thread Solving ANRs and Frozen Frames
Meandre Workbench Ws Jan 2009
1. Meandre Workbench
Data-Intensive Technologies and Applications,!
National Center for Supercomputing Applications, !
University of Illinois at Urbana-Champaign
Boris Capitanu
capitanu@ncsa.uiuc.edu
The SEASR project and its Meandre infrastructure!
are sponsored by The Andrew W. Mellon Foundation
2. What is it?
• Visual programming environment
Thankfully, no code writing skills are required.
• Provides a mechanism to create and execute flows
• Built on top of GWT (Google Web Toolkit) – accessible from all major
browsers
3. Getting Started
• Fire up your favorite browser and connect
If you installed the Workbench on your local machine, use http://localhost:1712
to access it, otherwise replace “localhost” with the correct address of the computer
where the Workbench is running at.
• Log in
5. The Workbench
The Workspace
The Details
The Repository Panel
Panel
• used as a main staging area for
building / editing flows
The Output
Panel
6. The Workspace
Components can be dragged into this region from the “Components” panel
and interconnected to create flows.
7. The Flow Toolbar
• Provides access to frequently used functions
o save flows
o remove components
o control flow execution
8. Saving a Flow
Required metadata:
- Name
- Base URL
Separate tags with commas
9. Removing Components
Two ways:
1. Select the component and click “Remove” on the toolbar
2. Right-click the component you want to remove and select “Remove”
10. Controlling Flow Execution
Run Flow
Executes the current flow loaded in the Workspace. Any output from the flow will
be displayed in the Output panel. If the flow contains interactive components, they
will be displayed automatically.
Important: Please be sure to set your browser to allow pop-ups
from the Workbench, otherwise the web interactive components
will not display!
Stop Flow
Sends a request to the Meandre server to abort the currently executing flow.
May take a while – the server waits for components to finish their current
operation.
11. The Repository Panel
Three sections:
- Components
- Flows
- Locations
Searching is supported
Display is
customizable
12. Components
• Software units that are designed to accomplish a particular task
• May have inputs, outputs, and properties
Components with properties can be identified by a symbol appearing in
the lower left-hand side of a component icon.
13. Flows
A Flow is essentially an application — a group of components connected
together to perform a certain task
Click on the Flows tab in the Repository panel to view the flows in your
Workbench.
Double click on a flow to load that flow into the Workspace.
14. Locations
Adding a repository location causes all the components and flows hosted at
that location to be imported in the user’s private repository on the server
Removing a location also removes the associated components and flows
from the server.
You can find a list of available repository locations at http://www.seasr.org/
documentation
15. The Details Panel
Properties
Description
For components, the Description
displays information about the
component function.
Shows the properties and
description of a selected
For flows, the Description displays
component or flow
information about the flow and the
components it contains and their
property values.
16. The Output Panel
Displays output and error messages generated by the Workbench
17. Using the Workspace
Placing Components
The first step in building a flow is to choose components from the Repository panel
and place them into the Workspace.
To place a component, click on the Components section in the Repository panel
and drag the desired component over into the Workspace area.
Note: A flow must have at least one component
with no inputs to be able to be executed by the
Meandre server.
Selecting Components
Components can be selected by single clicking on them in the Workspace. When a
component is selected, other selected items are deselected. While selected, a
component can be moved about the Workspace or deleted. A selected component
(or flow) can be unselected by using CTRL+click on that component (or flow).
18. Using the Workspace
Labeling Components
Editing the component label only changes the name of the component in the
given flow. The label must remain unique among the other component labels
in the flow.
The label can be edited by single-clicking on it and entering the desired text.
Pressing ESC while editing a label cancels the labeling operation and
restores the original label.
Connecting and Disconnecting Components
To make a connection, click on the output port of the desired source component (the port
you clicked will be colored red), and then click on the input port to which you wish to
connect. You should now have a line connecting the output and input port. If, after selecting
a port, you wish to cancel the operation, simply clicking the same port again will unselect it.
The ports of two components should only be connected if their data types are compatible
with one another. Any errors resulting from data incompatibilities will occur at runtime.
To remove a connection, simply right-click one of the ports
and select “Disconnect” from the context menu.
Alternatively, you can remove groups of ports by right-
clicking the component and selecting the appropriate
menu option.
19. Using the Workspace
Connecting and Disconnecting Components
A component’s output port may only be connected to one input port. However, a
component’s input port may be connected to several different output ports. This could be
useful when you are retrieving the same data format from multiple components.
The connection line is highlighted if the user hovers over an input or output port. This is
useful for verifying connections in a complex flow. When hovering over a component port,
the description of that port is also briefly displayed.