S2A Installation Guide

This document includes system requirements, installation instructions, and configuration files documentation for S2A compilation and runtime environments, updated for S2A version 0.5 beta. For more information about S2A, visit the Scenarios in Action website.

Last updated: Oct. 10, 2007.

Note: The instructions below refer to the installation of S2A compilation environment. If you are intersted only in the S2A runtime envirnoment (i.e., to execute programs constructed using S2A) check these intructions instead.

Setting Up the S2A Compilation Environment

System Requirements

S2A requires the following software packages installed:

Eclipse 3.2
The Eclipse platform
EMF 2.2
Eclipse Modeling Framework
UML2 2.0
Eclipse UML2 project
ApsectJ 1.5.2
Eclipse AspectJ project

To edit Modal UML Sequence Diagrams (MUSD) specifications you would also need a UML 2 compliant editor. We use IBM Rational Software Architect 7.0.0 although any UML 2 compliant editor would work.

Note: Programs constructed using S2A do not require the above in order to run. The only external jars required at runtime are AspectJ runtime jar aspectjrt.jar (that comes with AspectJ), and MUSD runtime jar musdrt.jar (that comes with S2A installation).

Note: S2A requires JAVA 1.5 environment (or later)

Note: S2A 0.5 beta was developed and tested on Windows OS platform. We have not tested S2A on other OS platforms.

Downloading S2A

S2A 0.5 beta is available for downalod from the Scenarios in Action website.

Note: Installing and using S2A 0.5 beta is permitted for non-commercial research and evaluation usage. Generated source code files include a licensing comment that should not be changed or removed. No guarantee or warranty of any kind is provided with the compiler.

Installing the S2A Compiler

Extract the S2A zip file into a new folder.

Add S2A as an external tool to your Eclipse workspace. The Location attribute should point to the msdc.cmd file. The Working Directory attribute should point to the same directory (the folder where the musdc.jar file is located).

Required Configuration Files


In order to view the example models in IBM RSA, extract the profiles.zip into a new folder c:\msdprofiles.


Required configuration values for the compiler are set in the musdcompiler.properties file, located at the same folder with musdc.jar. A default properties file is included in the S2A installation zip. Below is an example musdcompiler.properties file:

#playout strategy class name

#full model path
model=D:\\EclipseWorkspaces\\ws2\\MUSDNewsTicker\\RSS Application Model

#Profile Reasourses jar
resourcesJar= jar:file:/F:/eclipse/plugins/org.eclipse.uml2.uml.resources_2.0.0.v200606191759.jar!/

All properties can be overridden using corresponding command line arguments (e.g., -strategy "CoordinatorStrategyNaiveImpl").


Required configuration values for an MUSD model are specified in the musdmodel.properties file, located at the same folder with the .uml file of the model. Below is an example musdmodel.properties file:

#output folder full path

#output package name

#imports required in the generated aspectj code
imports=newsticker.*;java.awt.* ;javax.swing.*; java.awt.event.*; newsticker.rssutils.*;

#names of the interactions that should be compiled (or wildcard * for all)
interactions=AbstractTickerBehaviour; ShowPopup; Blinking; ChangeScrollSpeed; 

#if true cleans the target folder before writing

#if true, enables support for object composition (default no support)


S2A Runtime

Executing S2A programs requires the use of two external jar files:
aspectjrt.jar and musdrt.jar. You can download these jars from the downloads section on the Scenarios in Action website.

To execute a program constructed using S2A, package it in a .jar file and put the aspectjrt.jar and musdrt.jar jars next to it. Make sure these library jars are listed in the class-path specified in your MANIFEST.MF file. Check out the Scenarios in Action case studies for examples.

Note: Running programs constructed using S2A requires Java 1.5 runtime environment.

NEW! Optional Scenario-based Monitoring: musdmonitor.properties

Optional scenario-based monitoring features may be specified in a musdmonitor.properties file, optionally located at the same folder as the musdrt.jar file. Below is an example musdmonitor.properties file:

#no monitoring if 0 or null

#monitor output file name

#names of interactions to monitor or '*' for all
interactions=ChangeScrollSpeed; TickAndMove; ShowPopup; 

#if false delets previous monitor log