The application can be used to modularise conceptual models. Based on parameters, the application produces a set of modularisation solutions. The modularisation solution is a modularised knowledge graph to provide a generic solution for the various types of conceptual model. Parameters and settings are used to provide a configurability.
The following prerequisites are needed to run the application:
- Docker
For building the container, hosting the backend application. - Angular 7+
For building and running the web application locally.
At first clone the repository using the git clone command.
The application can be found in the folder 02. Application folder. This folder consists of two subfolders backendservice and webapp. backendservice is the backend application, which is responsible for modularising conceptual models. webapp is the web application that serves as the client for the backend, which calls the backend services.\
To run the complete application, the following steps must be done:
- Change directory to 02. Application
- Start Docker. Run docker-compose build in the current directory 02. Application. This builds the docker container.
- After building, run docker-compose up to run the backend application in the container.
- Change directory to webapp
- Execute ng build
- Execute ng serve
- In an internet browser, such as firefox, open http://localhost:4200 to access the web application.
The following table shows the possible parameters and settings that can be changed in the UI.
Type | Name | Explanation |
---|---|---|
Genetic Algorithm Parameter | Population Size | The size of solutions in the current generation. |
Genetic Algorithm Parameter | Mutation Probability | The probability of mutating a chromosome and changing a modularisation solution of a knowledge graph. |
Genetic Algorithm Parameter | Crossover Probability | The probability of starting the crossover process for 2 modularisation solutions. During this process modularisation informations are exchanged while preserving the linear linkage encoding constraints. |
Genetic Algorithm Parameter | Tournament Size | The number of chromosomes who compete in a tournament and are selected for the alteration process. The winner is determined by the best fitness. |
Termination | Number of Generations | The number of iterations until the genetic algorithms terminates. |
Termination | Converged Gene Rate | TODO |
Pareto Set Parameter | Minimum Pareto Set Size | The possible minimum size of Pareto optimal solutions set (The Pareto set size can be lower than the given minimum size if the Pareto set contains duplicate solutions. Duplicate solutions are removed). |
Pareto Set Parameter | Maximum Pareto Set Size | The possible maximum size of Pareto optimal solutions set. |
Mutation Parameter | Split Module Weight | The weight of splitting the random module during the mutation process (Higher weights increases the probability of splitting modules). |
Mutation Parameter | Combine Modules Weight | The weight of combining the random module during the mutation process (Higher weights increases the probability of combining modules). |
Mutation Parameter | Move Elements Between Modules Weight | The weight of moving a modularisable element from one module to another module during the mutation process (Higher weights increases the probability of moving modularisable elements). |
Conceptual Model | Conceptual Model Type | The conceptual model type of the file which is uploaded. |
Conceptual Model | Meta Model Type | The meta model type of the file which is uploaded. |
Conceptual Model | Use custom edge weights | The flag to determine if the edge weights should customised. If this is true, table with edges and weights is displayed. |
Conceptual Model | Edge Weights | The table of edges and their weights. The weights for the type of edges is used for the objectives that utilise information from edges. |
Objectives | Use weighted sum method | The flag to determine if the weighted sum method is used for the list of objectives. |
Objectives | Objectives | The table of objectives used to determine the fitness of a modularisation solution. |
File | Concpetual Model File | The file containing the conceptual model. |