data and scripts used for the experiment we executed in the Onto.Com 2021 paper
Install python 3.x.
Install the following libraries:
$ pip install networkx
$ pip install matplotlib.pyplot
$ pip install regex
$ pip install pandas
$ pip install pygraphviz
Install RapidMiner free version.
Run the the gufo2alloy converter to generate Alloy .als
specifications (see related model examples).
Customize the simulations scope. Run simulations. Save the output simulations into .DOT
files.
Copy any generated anti-pattern occurrence .DOT
into a .txt
file (see example file car-binover-proc.txt
). Then execute the following steps:
-
Use the anti-pattern occurrence (
.txt
format) as input ofgeneralize-pattern.py
in scritpts -
Use all the outputs of 1. to generate an example set like
examples.xlsx
. -
Give
examples.xlsx
as input of RapidMinerembedding+clustering.xml
process in scritpts - this is necessary to embed, bootstrap, evaluate, cluster and extract the clusters prototypes as described in the paper. -
To generate the generalized anti-pattern give the output of 1. to
generate-dot.py
and then tovisualize-graph.py
.