Project Description

A system's early architectural decisions impact its properties (e.g., scalability, dependability) as well as stakeholder concerns (e.g., cost, time to delivery). Choices made early on are both difficult and costly to change, and thus it is paramount that the engineer gets them right.
GuideArch is a tool that helps software architects make informed early architectural decisions under uncertainty. GuideArch is implemented by Kaveh Razavi to showcase the concepts presented by Naeem Esfahani, Dr. Sam Malek, and Kaveh Razavi, in multiple publications.

Get started

GuideArch is based on the Silverlight runtime. Silverlight is a free plug-in compatible with multiple browsers, devices and operating systems. In order to run GuideArch you must first have Silverlight runtime installed on your system from here. After having installed or verified the existence of the Silverlight plug-in on your system, you can run GuideArch tool here.

Page Navigation

When the tool is loaded and running, you will be presented with a toolbar for page navigation and command buttons. Page navigation toolbar contains a number of page groups: PROBLEM, CONSTRAINTS, RESULTS and ANALYSIS.
1) PROBLEM page group is used to enter or edit primary input data: Properties, Decisions, Alternatives and Coefficients.
2) CONSTRAINTS page group is used to enter or edit different constraint information: Threshold Constraints, Dependency Constraints, Conflict Constraints and Combinatorial Threshold Constraints.
3) RESULTS page group is used to show the calculated output data: Candidates and Critical Decisions.
4) ANALYSIS page group is used to show different analytical data in the form of graphs: Candidates Analysis and Critical Decisions Analysis.

Operations on architecture spaces

Below the page navigation pane, you have the options of either creating a new architecture space or opening an already existing one with the XML file format by clicking on the New Space or Open Space buttons on the top left of the toolbar. First time reviewers of the tool are highly recommended to download the sample SAS architecture space XML file from here and then open it in the tool. The tool will automatically begin solving the ranked candidates and critical decisions after opening an architecture space. Any changes to the current status of the data will enable the Refresh and Save buttons afterward to redo the solving or saving the XML file of the architecture space:

Add, Edit and Delete Data

In each page, based on the type of page you are in, you may have the options of adding or removing data by clicking on the Add New or Delete Current buttons. You may edit the contents of each row of data by double clicking on it and also have the option of changing the page size and browsing through the available pages from the toolbar:

Changing Solution Approach

You may change the approach of solving for ranked candidates and critical decisions by changing the value of the Solution Approach combo box from the settings. By selecting the Custom option you will be able to dictate your specific solution weights to the tool: