xADL Features:
Archlight

Archlight: An Analysis Framework for ArchStudio

Archlight is a framework of components for integrating architecture analysis tools into ArchStudio. 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 Archlight Graphical User Interface:

Archlight Screenshot

The Archlight GUI is divided up into four primary areas:

  • The Outline View (on the left): Displays a hierarchically-organized set of tests that can be run on the current document. The tests that appear in the tree are provided by the available testing tools. Each test may be in a different state of enablement, as described below.
  • The Editor View: The main, upper-right pane displays information about the selected test or tests, and provides buttons to enable and disable these tests.
  • The Problems View: The lower-right pane displays errors detected by tests that have been run.
  • The Error Log View: Contained on another tab in the lower-right quadrant of the screen, the Archlight Notices View displays informational notices generated by Archlight and its constituent tools.

Archlight Concepts

Within the Archlight 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, Archlight 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 Archlight 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 Archlight GUI.

Running Archlight

To run Archlight, start ArchStudio, and drag and drop an architecture description from the navigator view to the Archlight icon in the ArchStudio Launcher. Archlight will display tests in the tree on the left. Enable an appropriate set of tests. Clicking on a test node in the tree will give you a test options button-menu in the editor pane:

Archlight Screenshot

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:

Archlight Screenshot

Once you enable some tests, you can tell Archlight to run tests on all documents, or run tests on a specific document. Use the toolbar buttons or the buttons in the editor pane to run tests.

A progress dialog will show the progress of running tests. Any issues detected will be displayed in the Problems view:

Archlight Screenshot

Double-clicking on one of the issues when an editor is in focus (like ArchEdit or Archipelago) will select an element related to the test result:

Archlight Screenshot

Test Errors

If any of the tools were unable to run the selected tests because of an error, a test-error notice will appear in the Error Log view. 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.

That's it!

This provides a basic overview of how to interact with Archlight from a user's perspective.

Contact Us

If you have questions not answered by this website, please feel free to contact the software architectures group at UC Irvine through the ArchStudio developer's (mailman protected) email list at: archstudio-dev [@] uci [.] edu. (Note: You must subscribe to the mail list before you can post to it.)

Portions of this site Copyright © The Regents of the University of California. All Rights Reserved Worldwide. The development of ArchStudio was initially funded by the DARPA DASADA (Dynamic Assembly for Systems Adaptability, Dependability, and Assurance) program. The site now includes results from projects supported in part by National Science Foundation grants IIS-0205724 and CCF-0430066, The Boeing Company, and IBM.

Site Meter