SAMM Obfuscator =============== The SAMM Obfuscator can be used to perform an obfuscation for a SAMM model. It replaces all name attributes by randomly generated numbers, thus making it hard to understand a SAMM model that contains sensitive data (such as component names or interface names). A SAMM model consists of several SAMM model files. Usually, SAMM models are used within the Q-ImPrESS IDE which stores such models in a Q-ImPrESS alternative. The SAMM Obfuscator currently does not know about Q-ImPrESS alternatives, but operates directly on the model files. Installation ============ The SAMM Obfuscator tool works only in a Q-ImPrESS IDE workspace. Hence, the Eclipse installation has to contain the Q-ImPrESS features. To use the SAMM Obfuscator, open the Q-ImPrESS IDE and import the SammObfuscator project into the workspace. To check if everything is installed properly, open the file "SAMMObfuscator.qvto" in the "transforms" folder of the plugin. Use the Operational QVT Editor to open the file. If the opened file does not contain any compilation errors, the installation is fine. Usage ===== To use the obfuscation tool, you have to select a set of SAMM model files. Note that the selected files are overwritten. Make a copy of the files if you want to keep the original files. If you use the Q-ImPrESS IDE to create the files, it might be better to switch to the Java perspective to locate the model files in the alternative folder and copy them to a different place. To perform an obfuscation run, click "Run"-->"Run Configurations..." On the run configuration screen, create a new launch configuration in the "QVT Operation Interpreter" category. For the new launch configuration, first specify the transformation module. This is the transformation script used for obfuscation. Click "Browse" and select the file "SAMMObfuscator.qvto" in the "transforms" folder of the plugin with the workspace browse dialog. Once the transformation module is selected, the dialog displays 6 additional parameter fields. These fields have to be filled with the SAMM model files for which obfuscation is to be applied. Use the "Browse..." button for each field to select the following 6 files: samm_repository samm_servicearchitecturemodel samm_qosannotation samm_seff samm_hardware samm_targetenvironment Once everything is specified, the launch configuration can be run. Open the selected files after the run to check if all names have been replaced with random numbers. Example ======= The project comes with some example SAMM files that can be used for trying out the obfuscation. A predefined launch configuration for the example launch configuration is also present in the project. Look out for the "SammObfuscator Example.launch" file.