Installation
We provide multiple installation methods of our attack propagation. Depending on the use case different variants are preferably. For user who only want to try or only use the attack propagation, we would recommend the Palladio-Bench (Attack Drop) and use the current release. It is the easiest way to get started. For more advanced users or potential developers, we would recommend a mixture of the Manual Installation and the Update Site Installation variant (also see sec. Recommended Developer Installation).
Dependencies
Our attack propagation analysis is realized as Eclipse Plugins. The analysis source code is compiled with Java 17 as Target. Therefore, we recommend using a Java 17 environment for execution. Newer versions might work, but we have not tested them. Older versions especially Java 11 or Java 8 are not supported.
Note
If you only want to use the metamodel, you also can use Java 11. However you have to use the Java11 branch and manually install it.
If not our Palladio-Bench (Attack Drop) is used, our tooling requires an Eclipse Modelling Edition (min. 2021-12) with the following dependencies:
com.google.gson
com.google.guava
org.apache.commons.codec
org.apache.commons.lang3
org.slf4j.api
com.sun.xml.bind version=”2.3.3”
jakarta.xml.bind version=”2.3.3”
jakarta.activation version=”1.2.2”
org.apache.logging.log4j version=”2.8.2”
The Eclipse dependencies without a link are available from Eclipse Orbit
Note
We provide an Eclipse installation file. The file assumes that the Eclipse Modelling Tools are already installed. After downloading the file you can install it in Eclipse via File->Import->Install->Install Software Items from File and then selecting the installation file. Install-File
.
Note
For the release update site replace nightly in the urls with release/latest.
Palladio-Bench (Attack Drop)
We created an Eclipse product, which can be used to start our analysis and view the models. It should be configured that it automatically opens a workspace with the necessary projects loaded.
Download and unpack the version for your operating system
Start the application by executing the PalladioBench binary (not the Eclipse one!)
- After the load screen you should see 3 Projects in the Modelviewer on the left side:
edu.kit.ipd.sdq.kamp4attack.tests
org.palladiosimulator.pcm.confidentiality.context.analysis.testframework
org.palladiosimulator.pcm.confidentiality.context.analysis.testmodels
Note
The nightly version can be found here.
Note
The MAC-Version might not work, because of MACOS security features. In that case this might help. If not, you can still use the update site or manually install the tooling, but you are required to solve the dependencies manually.
Manual Installation
Please make sure that you have installed the Dependencies. Clone the metamodel and analysis repositories. The repositories do not contain the source code for the stored metamodels. The easiest solution to create the source code is to build each repository with maven for instance with mvn clean verify
. If there is no maven available see Code Generation (without Maven).
After downloading the source code. The necessary plugins for applying the projects are in each repository in the bundle folder. All folder in this folder contain plugin projects and must be imported into the Eclipse workspace. After importing the projects, an inner Eclipse application can be started, where the attack propagation is installed.
Code Generation (without Maven)
The metamodel source code can be generated without using the Maven workflow. However, this process must be triggered manually for each metamodel in Eclipse. The code generation utilizes the MWE2 workflow, and the MWE2 workflow engine must be installed in Eclipse. After installing the engine, the code generation projects for our metamodels can be found in the releng subfolders of each Git repository. These projects are identified by the file extension *.mwe2*.
To generate the metamodel source code, follow these steps:
Import each project ending with *.mwe2* into the workspace. The workspace should also contain the Eclipse projects for the metamodels.
For each metamodel, execute the workflow/generate.mwe2 workflow. You can do this by selecting the file and then opening the context menu (right-click) and selecting Run as -> MWE2 Workflow. This will create the required source code and automatically insert the custom code.
If necessary, the generated code can be deleted by executing the clean.mwe2 workflow.
Warning
The regular genmodels from EMF cannot be used because the analysis requires custom code, which is inserted by the workflows.
Update Site Installation
We provide also two Eclipse update site for our attack propagation. The Eclipse installation needs to have the Dependencies installed. After installing the dependencies, our attack propagation analysis can be installed. First add and install our metamodel. Afterwards, our analysis can be installed.
Note
We also provide a complete Eclipse installation file. Using this installation file, it is not necessary to install the dependencies before, since they are bundled within. The file assumes that the Eclipse Modelling Tools are already installed. After downloading the file you can install it in Eclipse via File->Import->Install->Install Software Items from File and then selecting the installation file. Install-File
.
Recommended Developer Installation
For developers, we recommend a mixture between the Update Site Installation and Manual Installation. Install first the tooling via the update sites (preferably with the installation file) afterwards only import the necessary plugins, for the development step. Eclipse should then automatically choose the correct dependencies for the inner instance. Usually the projects in the workspace are preferred over installed file. However, this can be configured in the launch config.
Note
The Palladio models use the CDO-Framework. For easier debugging it is useful to install the CDODebugUtil. It will automatically reorder the layout in the debug view to see the relevant properties.