Repository containing the implementation of the CM2KG platform.
Utility class for Archi can be found under at.ac.tuwien.big.msm.cmgba.graphml/src/utilities/ArchiUtility.java
:
public void setFile(File file);
public void transform(String filename);
public File getFile();
public String getGraphXML();
Utility class for ADOxx can be found under at.ac.tuwien.big.msm.cmgba.graphml/src/utilities/ADOxxUtility.java
:
public void setFile(File file);
public void transform(String filename);
public File getFile();
public String getGraphXML();
Utility class for ADOxx can be found under at.ac.tuwien.big.msm.cmgba.graphml/src/utilities/PapyrusUMLUtility.java
:
public void setFile(File file);
public void transform(String filename);
public File getFile();
public String getGraphXML();
To start the Web UI navigate to webapp
folder and start the Spring Application. The default port the app is running is 8080. Default app can be accessed http://localhost:8080/cm2kg
.
In order to use Neo4j the database connection should be configured in at.ac.tuwien.big.msm.cmgba.graphml\src\graphDb\neo4jConnector.java
:
private Driver driver;
private String uri = "bolt://localhost:7687";
private String user = "neo4j";
private String password = "admin";
In order to configure neovis.js connection to Neo4j database parameters should be set in webapp\src\main\resources\graphDb\application.properties
:
neovis.server_url=bolt://{public_neo4j_url}:7687
neovis.server_user=neo4j
neovis.server_password=admin
Platform provides API for transformation of models.
Method: POST
Endpoint cm2kg/api/transformation/{model type}
Payload request: multipart/form-data request
The Open Group ArchiMate Model Exchange File Format can be transformed via POST request to /api/transformation/archi
. Parameters: file
.
ADOxx File Format can be transformed via POST request to /api/transformation/adoxx
. Parameters: file
, dtdfile
.
Papyrus UML File Format can be transformed via POST request to /api/transformation/papyrusuml
. Parameters: file
. Response structure:
{
"id": "{uid}",
"transformedGraph": "{transformed_graphml_xml_file_content}"
}
The sample source models can be found under Experiments
folder:
ADOxx: ADOxx/TEAM/ArchiMetal/soruce models
Archi: EMF/Archi/ManyModels/repo-github-archimate/models/OpenGroup Format
PapyrusUML: PapyrusUML
The Neo4j queries for EA and UML code smell detection can be found in at.ac.tuwien.big.msm.cmgba.graphml/smellQueries/
folder.
Large scale utility class for running experiments with a lot of models is implemented in ExperimentUtility.java
located in at.ac.tuwien.big.msm.cmgba.graphml/src/at/ac/tuwien/big/msm/cmgba/graphml
folder. Examples can be seen in at.ac.tuwien.big.msm.cmgba.graphml/src/experiments
.
This repository uses graphml2rdf (https://github.com/cui-ke/graphml2rdf) implementation to enable export to RDF/OWL.