The goal of this project is to connect architecture documentation and models while identifying missing or deviating elements (inconsistencies). An element can be any representable item of the model, like a component or a relation. To do so, we first create trace links and then make use of them and other information to identify inconsistencies.
ArDoCo is actively developed by researchers of the Modelling for Continuous Software Engineering (MCSE) group of KASTEL - Institute of Information Security and Dependability at the KIT.
The Core Project contains a CLI that currently supports to find trace links between PCM Models and Textual SW Architecture Documentation. The CLI is part of the pipeline module of this project. The PCM models have to be converted to ontologies using Ecore2OWL. The model can also contain a (java) code model that you can insert using the CodeModelExtractors.
usage: java -jar ardoco-core-pipeline.jar
-c,--conf <arg> path to the additional config file
-h,--help show this message
-ma,--model-architecture <arg> path to the architecture model
-mc,--model-code <arg> path to the java code model
-n,--name <arg> name of the run
-o,--out <arg> path to the output directory
-t,--text <arg> path to the text file
For more information about the setup or the architecture have a look on the docs. The docs are at some points deprecated, the general overview and setup should still hold.
To test the Core, you could use case studies and benchmarks provided in ..
<dependencies>
<dependency>
<groupId>io.github.ardoco.core</groupId>
<artifactId>pipeline</artifactId> <!-- or any other subproject -->
<version>0.5-SNAPSHOT</version>
</dependency>
</dependencies>
For snapshot releases, make sure to add the following repository
<repositories>
<repository>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>mavenSnapshot</id>
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
</repository>
</repositories>
The base for this project is based on the master thesis Linking Software Architecture Documentation and Models.
This work was supported by funding from the topic Engineering Secure Systems of the Helmholtz Association (HGF) and by KASTEL Security Research Labs (46.23.01).