Skip to content
/ qegal Public

Rule-based fact extraction in a megamodeling context

Notifications You must be signed in to change notification settings

softlang/qegal

Repository files navigation

QegaL

Rule-based fact extraction in a megamodeling context

What is contained:

How to reproduce the inference:

  • Import the org.softlang.qegal project into an Eclipse workspace.
  • Use Eclipse Maven to automatically build the project.
  • Create a file "config.properties" in the project org.softlang.qegal with the following entries:
  • temp=<filepath to a temporary folder> (used to check out the target repositories and might require up to 250GB)
  • (Optional) login_git=<github-username>
  • (Optional) password_git=<github-password> (only needed for the Git API)
  • When running Java add the VM Arguments -Xss and -Xmx depending on your system (e.g., -Xss4m -Xmx10000m).
  • (Optional) Run the main in QueryGitProcess.java to query recently indexed EMF related files on GitHub. In the data folder, this produces:
  • (Optional) Run the python script combine_raw.py to combine the data of the previous step and to annotate meta-data to the repositories producing repository_raw.csv.
  • (Optional) Run the main in LayoutMiningProcess.java to mine the repository layout detection (rules) on repository_raw.csv to produce repository_layout.csv.
  • (Optional) Run the python script filter_vanilla.py to filter the repository_layout.csv and to produce repository_vanilla.csv.
  • Run the main in EMFMiningProcess.java to mine the EMF patterns (rules) on repository_vanilla.csv to produce repository_emf.csv (The passed arguments decide on the IO-layer or logging).
  • (Optional) Run the python script analyse_emf.py to analyze the repository_emf.csv

How to write and apply a custom mining:

  • Create new '.qegal' files in any folder.
  • Copy the EMFMiningProcess.java and replace the EMF rules folder by the new folder, if necessary also replace the repository_vanilla.csv by a different selection of repositories. The EMF rules can be extended by combining the rule folders passes as a set of paths.

How to install XText IDE support:

  • Import all projects into the workspace.
  • Right-click on the workspace and select Export>Plug-in Development>Deployable plug-ins and fragments.
  • Check all boxes for the three projects and select Install into host. Repository:.
  • Finally install by clicking Finish. Wait until Eclipse finished building. Then, restart (a dialog will ask you to).
  • '.qegal' files can now be opened using the IDE Support.

About

Rule-based fact extraction in a megamodeling context

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published