Giter Site home page Giter Site logo

effective-permission-evaluation's Introduction

Evaluation of deriving effective permissions for modeling artifacts

Requirements

To ease the setup, you can download a new Eclipse Oxygen for Java and DSL Developers which contains Xtext and install the latest version of Viatra from the Eclipse Marketplace.

Environment Setup

  • Create src-gen folders in the projects
  • Execute the MWE2 workflow in project org.mondo.collaboration.policy
    • Exact location: (org.mondo.collaboration.policy/src/org.mondo.collaboration.policy/GenerateRules.mwe2)
  • Generate code for the metamodel in project org.mondo.collaboration.security.meta
    • Open the *.genmodel file (org.mondo.collaboration.security.meta/model/wt.genmodel)
    • Right click on the root element and click on the Generate Model Code entry
  • (Optional) Rebuild the queries.vql file to eliminate the error in project ```org.mondo.collaboration.security.rule`
    • Open the file org.mondo.collaboration.security.rule/src/org.mondo.collaboration.security.query/queries.vql
    • Force the rebuild by add a space character anywhere in the file, then delete it and save the file
    • This is not a required step because the code generated from queries.vql will not be used during the evaluation.

Execute the Measurement

  • Generate instance models and rules

  • Execute the Generator.main() in project org.mondo.collaboration.security.eval

    • It requires exactly one parameter which is the system path to org.mondo.collaboration.security.rule/src/org.mondo.collaboration.security.query/queries.vql
    • For instance, C:\org.mondo.collaboration.security.rule\src\org\mondo\collaboration\security\query\queries.vql
  • The generated artifacts can be found under project org.mondo.collaboration.security.eval.generated.artifacts

  • Evaluate the derivation of effective permissions

    • Both types of evaluation requires several parameter for the executions
      • -model-size [int] describes the size of model
      • -limit-user [int] describes the maximum number of collaborators that can work on the model
      • -user-size [int] describes the number of collaborats actually working on the model
      • -repeat [int] describes how many times the evaluation will be executed
    • To execute the batch evaluation, start BatchEvaluation.main() as Java Application
    • To execute the incremental evaluation, start IncrementalEvaluation.main() as Java Application

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.