This page contains accompanying files for our CommitMDE 2017 paper "Towards Efficient Evaluation of Rule-based Permissions for Fine-grained Access Control in Collaborative Modeling".
Due to the shared case study, this repository itself has been cloned from the repository of an earlier paper.
- Eclipse Modeling Framework (EMF)
- Xtend 2.12.0 | update-site
- Viatra Query 1.6.0 | update-site
- Import the
*.metaand*.arbiter.vocabularyplugin projects. - In both projects, open the
*.genmodelfile and generate the model code: in the tree-editor, right click on the root object and select theGenerate Model. - Launch an Eclipse instance that has both of these metamodel plugins loaded, and continue with the following steps.
- Import the rest of relevant projects (
*.model,*.query,*.arbiter.stratifier,*.arbiter) into the workspace of the launched project.
- In the
*.modelplugin project, theModelGenerator.javafile has amainmethod that can be run. - Modify the
generate()method to select the output folder. - Modify the
MODEL_SIZESvariable to set the models to be generated.
- In the
*.arbiter.stratifierplugin project, launch theGenStratified.xtendfile (has amainmethod entry point) as Java Application. - Viatra Query code realizing the stratified form of the recursive queries will be generated to the standard output (as seen in the Eclipse Console View).
- Replace
arbiterMock.vqlin project*.arbiterwith the generated Viatra Query code.
- Open
small-sample-model-0010.xmifrom the*.modelproject, or alternatively one of the smaller generated models, using the Sample Reflective Editor. - Open the Viatra Query Results View, and load the instance model from the active editor (use the green load button).
- Load the following query files using the Query Results View:
queries.vqlfrom project*.query, thenmodelWrapper.vqlandpolicyInterpreter.vqland finallyarbiterMock.vqlfrom project*.query.