Tron: An Analysis Framework for ArchStudio 3
Tron is a framework of components for integrating architecture analysis tools into ArchStudio 3. It provides a unified user interface for users to select and run tests that check various properties of architecture descriptions.
This is a screenshot of the Tron Graphical User Interface:

The Tron GUI is divided up into panes:
- The Left Pane: Displays open architecture description documents in a tree. Documents are displayed as children of the root 'Tron' node with 'XML Folder' icons. Sub-elements of each document node describe tests that can be run on the document. The tests available are determined by the available testing tools.
- The Left Pane (Bottom): The bottom of the left pane lists the available analysis tools and their status. Mostly, tools remain idle until tests are run, at which point their status will change in the bottom-left pane.
- The Upper Right Pane: The upper-right pane displays status messages - either test results (problems and issues found by test runs), tool notices (status messages emitted by various analysis tools), and test errors (error messages emitted by tools when a test or tests could not run due to some problem). Test results and test errors have their own tabs at the bottom of the pane; each analysis tool's console (containing its tool notices) also gets a tab.
- The Lower Right Pane: The lower-right pane displays information about the selected item - test or test group, test result, test error, or tool notice. Options are also provided for the selected items.
Tron Concepts
Within the Tron framework, many analysis tools coordinate to provide the user a unified suite of tests that can be run over architecture documents. These tests are presented hierarchically, as a tree. Each test has a distinguished place in the tree; a test's place in the tree is defined as part of the test itself.
Due to the wide variety of architectures, architectural styles, and stages of development, not all documents will be expected to pass all tests. Therefore, Tron gives the user the ability to apply only a subset of all tests to a given document. Tests can be in one of three states:
Applied Test: This test is applied to the document.
This means that the user expects that the document will pass
this test. This test will run when all tests are run on the
document.
Disabled Test: This test is applied to the document.
This means that the user expects that the document will pass
this test. However, this test is temporarily disabled.
This test will NOT run when all tests are run on the
document, and issues that would be identified by the test will
not be reported until the test is re-enabled.
Unapplied Test: This test is not applied to the document.
This means that the user does not expect that the document will
pass this test. This test will NOT run when all tests are run on
the document, and issues that would be identified by the test will
not be reported.
The suite of available tests is determined by the installed tools and the tests that they report they can run. Whether tests are applied, disabled, or unapplied is a property of each document. Each document stores a list of applied and disabled tests. If a document is encountered that references unavailable tests, those tests will be inserted into the tree as Unknown Tests. Unknown tests will not run (since they are not available on the system) but they will remain associated with the document unless they are unapplied.
Technical Detail of Test Storage
Each test has a unique identifier, called a UID. This is simply a string that identifies the test. In general, the user of Tron will never see these UIDs - these are created and managed by test developers. A test's UID generally will never change, even if the test's name, purpose, or location in the tree changes. Each analysis tool is expected to perform one or more tests. These tests are referred to by their UIDs. Each document stores a list of test UIDs and whether they are applied or disabled. If test UIDs are found in a document but no tool reports that it can perform a test with that UID, the tests become Unknown Tests in the Tron GUI.
Running Tron
To run Tron, start ArchStudio 3 and open at least one architecture description in the file manager. Then, invoke Tron. Tron will display open architecture documents in the tree on the left. Expand one of the document nodes and find tests that apply to that document. Enable an appropriate set of tests. Clicking on a test node in the tree will give you a test options button-menu in the lower-right pane:

By clicking on one of the options, you can change the state of the selected test for this document. If the selected tree node is a folder, you will have the option of setting the states of all tests contained in the subtree contained in the selected folder at once. This is useful for enabling or disabling many tests at one time.
You can also context-click (right-click) on a tree node to set test options or test group options:

Once you enable some tests, you can tell Tron to run tests on all documents, or run tests on a specific document. Use the toolbar buttons to run tests:

While various tools run tests, they will update their status in the bottom-left pane:

When all tools return to the idle state; the tests have finished running. Any results will be displayed in the upper-right pane.

Clicking on one of the test results will show details about that result in the lower-right pane:

Buttons in the lower-right pane allow users to automatically select the test that generated the result, or to focus one of ArchStudio's editors (like ArchEdit or Archipelago) on an element related to the test result.
Test Errors
If any of the tools were unable to run the selected tests because of an error, a test-error button will appear in the upper right pane:

This does not indicate that an architecture document failed to pass an applied test - this indicates that a test was unable to run because of some problem, e.g. a configuration or programming error.

Clicking on the button will switch the upper-right pane to the test errors tab, allowing you to select a test error and see detail in the lower-right pane. In general, users should never see these test errors. These are usually a result of an improperly written test or a problem with ArchStudio's configuration. Correct the errors and re-run the tests to proceed.
That's it!
This provides a basic overview of how to interact with Tron from a user's perspective. Any questions or comments on this page should be sent to Eric Dashofy.