MORALE Tool Description
Name:
SAAM Capture Tool (SAAMPad)
Provides SAAM with automated capture, generates summaries and allows searching for detailed session information.
Purpose:
The purpose of SAAMPad is to provide capture support for the Software Architecture Analysis Method (SAAM). SAAM uses scenario evaluations to extract certain non-functional properties from a system. SAAMPad allows the creation of architectural descriptions required by SAAM, which can be evaluated. These evaluations are then captured. An evaluation generally consists of several scenarios, which can lead to changes in the architectural description. During the evaluations, audio and whiteboard notations are recorded to provide information during the evaluation and at a later point in time.
Status:
An initial version of SAAMPad is complete.
Documentation:
- Various papers associated with SAAM, SAAMPad, and ubiquitous capture:
- Kazman, Abowd, Bass, and Clements. "Scenario-Based Analysis of Software Architecture," IEEE Software, November 1996, pp. 47-55.
- Kazman, Clements, Bass, and Abowd. "Classifying Architectural Elements as a Foundation for Mechanism Matching," Proceedings of COMPSAC 1997.
- Brotherton, and Abowd. "Rooms Take Note: Room Takes Notes!" Proceedings AAAI, March 1998.
- Brotherton, Bhalodia, and Abowd. "Automated Capture, Integration, and Visualization of Multiple Media Streams," Proceedings of IEEE Multimedia and Computing Systems, July 1998.
- Abowd, Atkeson, Brotheton Enqvist, Gulley, and LeMon. "Evaluating the Impact of Capture, Integration and Access on Education," Proceedings of CHI'98.
- Richter, Schuchhard, and Abowd. "Automated capture and retrieval of architectural rationale," Proceedings WICSA1, February 1999.
- Schuchhard. "Supporting the Software Architecture Analysis Method Through Automated Capture," Master thesis report, Technical Informatics, Delft University, February 1999.
- Abowd. "Software Engineering Issues for Ubiquitous Computing," Proceedings of ICSE'99.
- Richter, Brotherton, Abowd, and Truong. "A Multi-Scale Timeline Slider for Stream Visualization and Control," Technical report GVU-99-30.
- Richter, and Abowd. "Automating the capture of design knowledge: a preliminary study." Technical report GVU-99-45.
Detailed Description:
SAAM is a very useful way of extracting non-functional system properties. However, it relies on its users to capture a lot of information. This has consequences for the way SAAM sessions are performed and limits both the amount and level of detail of the information that can possibly be extracted. Users also need to create session summaries after a scenario has been performed. Together with the architectural diagrams, the summaries can be used to provide information about the scenarios at a later point in time. They should both provide an overview of the session and provide information at a level that is detailed enough when needed. However, this is often a hard task to do, because it is not known what information of the session will be needed at a certain point in time.
SAAMPad provides a way to automatically capture SAAM sessions. This highly relieves the users and allows the scenarios to be more detailed. The capture tool also generates session summaries, which can point to potential problem areas. Components can show a timeline that indicates when the where created, focussed upon and altered. This information can be used by the user to search for a particular part in the scenario that is of interest.
Usage is divided in several phases:
- [1] Creation of the architectural description
- [2] Creation of scenarios
- [3] Evaluation of scenarios
- [4] Evaluation summery
- [5] Evaluation review
The system is intended to use the standard 'boxes and arrows' diagrams commonly used for architectural descriptions. New ways of communicating architectural descriptions can be added to the program later fairly easy. The diagrams are drawn freehand by the user and then recognized by the system as components and connectors, after which an auto-layout feature is used.
The capturing of these evaluations bring a number of advantages:
- The users don't need to spen time and effort recoring their sessions. They now can concentrate more on using SAAM and sessions can be more detailed.
- The changes to the architecture can automatically be analyzed. At the end of a scenario evaluation or a SAAM session, a report can be generated by the system, giving key information on what changes where made.
- Users can access detailed scenario information. Tradional capture is can very well capable of capturing such details.
The following features are currently available:
- Support for creating architectural descriptions. Diagrams can be drawn freehand and are then recognized by the capture tool.
-
- Automatic use of color. Color is used as a visualization technique both during and after the performing of a scenario.
- Support for scenario evaluations. It is possible to manage multiple versions of a single system and base a new scenario on one of them. During an evaluation new components can be added or existing ones can be marked as changed. These marks are later used in the access phase.
- .Creation of session summaries. The capture tool can generate a summary of any scenario. It shows the affect the scenarios had on the system both in a diagram and in a summary table.
- Support for detailed scenario information retrieval. The user can search for a particular SAAM session, performed on an architecture and the system shows the scenarios that were evaluated. Visualization techniques are used to show how often components were the focus of attention during the scenario and colors are used to indicate in what phase the component was created or annotated on. Thus, these techniques give an overview of the scenario. Furthermore, for each component, a time line can be shown showing when in the scenario it was discussed and altered. Comparing timelines from different component with each other can point the user to parts in the discussion that are of interest.
Future features
- Import / export of architectural descriptions in ACME format.
- Handwriting recognition to better support sessions summaries.
Operating System Dependencies:
JAVA 1.1 enabled browser.
Platform Dependencies:
None.
COTS Dependencies:
JAVAC 1.1, RealAudio recorder & player.
Other Dependencies:
A server with the JAVA-VM 1.1
Point of Contact:
Pascal Schuchhard
[pascal@cc.gatech.edu]
Gregory Abowd [abowd@cc.gatech.edu]
College of Computing
801 Atlantic Drive
Georgia Institute of Technology
Atlanta, Georgia 30332-0280
U.S.A.