Components:
Tron

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:

Tron Screenshot

The Tron GUI is divided up into panes:


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 Icon 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 Icon 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 Icon 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:

Test state button menu

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:

Test state context menu

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:

Run test buttons

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

Tool status pane

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

Test results

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

Test result detail

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:

Test error button

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.

Test Errors

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.