This repository contains two eclipse plugins. One plugin is used to generate Java code with JOANA annotations from a PCM model with Confidentiality4CBSE specifications. The other plugin is used to adapt the PCM model based on the JOANA results.
The plugins were developed during the bachelor's thesis of Johannes Häring. The thesis can be found in Thesis.
The goal of the two plugins is to transfer information between Access Analysis and Java Object-sensitive ANAlysis (JOANA).
There are four projects. The project correspondencemodel contains the structural and security correspondence model. The project joana contains the JOANA model and the JOANA results model. The project sourcecode contains the Java source code model. The project Plugins contains the two eclipse plugins.
The results of the executed analyses can be found in Analysis Results. The Access Analysis results on the unadapted client analysis model are in AccessAnalysisUnadapted. The Access Analysis results on the adapted client analysis model are AccessAnalysisAdapted. The JOANA results, on which the back-projection is based, are in JoanaResults.
The models used for the evaluation are provided in Evaluation Models.
The provided client analysis model is found Provided Client Analysis Model. The provided implementation of the supplier analysis model is in Provided Implementation.
The generated supplier analysis model skeleton merged with the implementation is found in Supplier Analysis Model. The client analysis model that is adapted based on the supplier analysis results is in Adapted Client Analysis Model.
- Download and Install Eclipse Modelling Tools from EMT
- Install the Palladio Component Model Extension from PCM
- Install the Palladio Component Extensios from PCM Extension
- Install Confidentiality4CBSE from Conf4CBSE
- Install Ecore2Log from Ecore2Log
- Install Ecore2Text from Ecore2Text
- Install PCM2Prolog from PCM2Prolog
- Install the SDQ Commons from SDQCommons
- Install the XAnnotations from XAnnotations
- Install the Xtend extension from Xtend
- Install the Xtext extension from Xtext
- Setting text encoding of the eclipse instance to UTF-8
- Load all four projects from Bundles
- Set up the eclipse instance as described before
- Install Linux Subsystem for Windows. A good instruction can be found here Instruction.
- In the Linux Subsystem install Haskaladio
- In the Linux Subsystem install XSB
- Install JOANA with instructions from JOANA
Start an inner instance from the set-up eclipse instance.
Select the repository, confidentiality, and adversary file, then right-click and choose "To Java For Joana" to generate the supplier analysis model skeleton.
Complete the supplier analysis model skeleton.
Run JOANA for every entry point and merge the results into a file with the file ending ".joanaresults".
Load the file into the client analysis model.
Select the repsository, confidentiality, adversary, joana results, and model file, then right-click and choose "Backprojection JOANA Results" to backproject the JOANA results.