This is an exploratory tool, which, through the combination of frequent subgraph mining algorithm and graph manipulation techniques, can process multiple conceptual models and discover recurrent graph structures according to multiple criteria. The tool is adapted to mine information from two main state-of-the-art conceptual modeling languages, nemely OntoUML and ArchiMate, and can be easily adapted to other languages by plugging-in new importing and visualization components.
The primary objective is to offer a support facility for language engineers. This can be employed to leverage both good and bad modeling practices, to evolve and maintain the conceptual modeling language, and to promote the reuse of encoded experience in designing better models with the given language.
You can install the library using the following pip command:
git clone https://github.com/unibz-core/CM-Mining
- create the following folders,
domain_patterns
,patterns
,input
. - install the dependencies you find in the
requirements.txt
file. - run the
main.py
file from the rootscript
folder. - (!) Note that this application requires
Python==3.9
Follow the input from the command line and play.
This project is licensed under the Apache License 2.0.
You can use this section to credit any individuals, libraries, or resources that inspired or assisted your project.# CM-Mining
If this tool is helpful to your research, please consider citing it.
The article is currently under evaluation for publication at the International Journal on Software and Systems Modeling (SoSyM), the pre-print version is available here.