Skip to content

KASTEL-CSSDA/PCM2Java4Joana

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PCM2Java4JOANA

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).

Structure of Repository

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.

Setting Up the Plugins

Setting up Eclipse

  1. Download and Install Eclipse Modelling Tools from EMT
  2. Install the Palladio Component Model Extension from PCM
  3. Install the Palladio Component Extensios from PCM Extension
  4. Install Confidentiality4CBSE from Conf4CBSE
  5. Install Ecore2Log from Ecore2Log
  6. Install Ecore2Text from Ecore2Text
  7. Install PCM2Prolog from PCM2Prolog
  8. Install the SDQ Commons from SDQCommons
  9. Install the XAnnotations from XAnnotations
  10. Install the Xtend extension from Xtend
  11. Install the Xtext extension from Xtext
  12. Setting text encoding of the eclipse instance to UTF-8
  13. Load all four projects from Bundles

Setting up Access Analysis

  1. Set up the eclipse instance as described before
  2. Install Linux Subsystem for Windows. A good instruction can be found here Instruction.
  3. In the Linux Subsystem install Haskaladio
  4. In the Linux Subsystem install XSB

Setting up JOANA

  1. Install JOANA with instructions from JOANA

Usage of the Plugins

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.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 99.8%
  • Xtend 0.2%