Various tools and software are being developed to support the use of Alfa for modeling, analyzing, and implementing Alfa compositions.
ViSAC
ViSAC is a domain-specific modeling environment for architectural styles and style-based sotware architectures using Alfa's primitives. ViSAC has been implemented using Vanderbilt University's Generic Modeling Environment (v3.10.13). To use ViSAC:
- Download GME, the xAlfa paradigm for customizing GME, and the xAlfa icons.
- Unzip the icons into a folder and note its path.
- Start GME, and set the "File -> Settings... -> User icon path" to the icons path from Step 2.
- Choose "File -> Register Paradigm...". Navigate to the downloaded xAlfa paradigm and select it.
Now ViSAC is ready for use. Any time you want to create a model for styles and/or architectures, you can create a new GME project using the xAlfa paradigm, or open an existing xAlfa project. Detailed instructions on how to use ViSAC for modeling styles and architectures can be found in Alfa publications.
A more recent version of the xAlfa paradigm, which performs type verification for style conformance is also available now. To perform type verification on an architecture, open the model corresponding to the architecture by double-clicking its icon in the model hierarchy and selecting "File -> Check -> Check All" menu item.
An example architecture created in ViSAC from three different styles: client-server, pipeline and event-based integration is also available for download.
AlfaacAlfaac is an analyzer and compiler for compositions of styles and architectures created from Alfa's primitives. Alfaac can be run from the command-line using the Java run time on your platform according to the following usage:
edu.usc.alfa.alfaac.Main [-d|-l|-c|-t|-s] <source> <architecture>
| Option |
Description |
| <source> |
The location of file containing the architecture to compile and analyze |
| <architecture> |
The architectural composition to compile and analyze |
| -d <driver> |
xAlfa driver to be used for reading the <source> either of
edu.usc.alfa.xalfa.driver.gme.GMEDriver
edu.usc.alfa.xalfa.driver.file.FileDriver
|
| -l <file> |
Verify language using the temporary file |
| -c <file> |
Verify constraints using the temporary file |
| -s |
Generate primitive usage statistics |
| -t |
Synthesize code in dir |
To run alfaac you will need to install the following on your computer:
- alfaac.jar
- cocoa.jar
- jintegra.jar (Only if you wish to extract xAlfa models from ViSAC, i.e., using GMEDriver. Not required if using Alfa serialized pickles, i.e., FileDriver)
- antlr.jar
- JDK 1.4 or above
To get started with using alfaac, you can use the serialized pickle of the Photo Album architecture generated from its ViSAC model. In fact you can generate a serialized pickle for any ViSAC architecture using alfaac. For this purpose, alfaac provides a test utility in Java GMEDriverTest with the following usage:
edu.usc.alfa.xalfa.driver.gme.GMEDriverTest <source> <architecture> <pickle>
| Option |
Description |
| <source> |
The location of file containing the architecture to serialize |
| <architecture> |
The architectural composition to serialize |
| <pickle> |
The target file in which to store the pickled architecture |
CoCoA
The behavior of Alfa compositions can be modeled using constraint automata developed at CWI. We have developed a plain text notation for constraint automata called CoLa (Constraint automata Language) along the lines of the FSP notation developed at Imperial College London. We have also developed an analyzer for CoLa called CoCoA (Composite Constraint automata Analyzer). CoCoA executes on any platform with Java 1.4.2 and uses ANTLR from jGuru.com.
Download alpha version of CoCoA in a ZIP package here.
Download sample CoLa specifications in a ZIP package here.
|