Skip to content

Commit

Permalink
Feature: Fusion of InFormALin and ArDoCo (#206)
Browse files Browse the repository at this point in the history
* Initial commit

* add gitignore

* add mediastore

* add teastore

* add teammates

* add BBB

* fix goldstandards

* add models with java for teammates and teastore

not for mediastore yet because there are multiple implementations
not for BBB because it consists of multiple languages

* add missing trace link for teammates

In line 132 there was a missing link to the storage component

* add missing TL for FreeSWITCH

* remove duplicate BasicComponent ImageProvider from TeaStore

* Added Text as JSON files.

* Added small model again.

* update JSON files

* Rename locations

* Added current code model of teammates

* Add alternative text-version with 1 sentence per line

* Add more information about the projects and licenses

* Add codeowners

* Update README.md

* added statistics

* Update README.md

Add Zenodo's DOI-Badge

* Add simple uml component diagrams

The diagrams were created using a PCM2UML transformation on the repository files

* Add IDs to names in UML

* Documentation of UML

* Update UML model IDs

Instead of having PCM IDs in the name field, put them over to the actual ID field (manually for now)

* Rename TEAMMATES.uml

* Rename TEAMMATES.uml

* Remove ancient *.txt.json files (#4)

Remove now unneeded files that previously represented preprocessed text.

* Add JabRef with initial goldstandard (#5)

This adds an initial version of JabRef.
This includes:
- PCM, modelled after the [extracted architecture from SAEroCon](https://github.com/sebastianherold/SAEroConRepo/blob/master/systems/JabRef/architectures/JabRef-3.7-0002/jabref-diagram.png). This currently only has BasicComponents within the Repository
- UML, transformed from the PCM model
- goldstandard for TLR

* correct jabref goldstandard

* Add gold standards for Undocumented Model Elements (#6)

* Feature: Different Versions of SAD with Gold Standards (#7)

* Add other version of documentation of TeaStore

* add alternative teastore text and goldstandard

* update alternative teastore goldstandard

* add alternative mediastore goldstandard

* add alternative jabref goldstandard

* Fix gold standard teastore A

* add alternative teammates text

* add alternative teammates goldstandard

* New GoldStandards for TeaStore

* add alternative bigbluebutton goldstandard

* add teastore goldstandard (text 2018, model 2018)

* review teastore goldstandard (B, prevModel)

- the text does not describe the slope one recommender, but refers to the algorithm

* insert modelIDs for teastore goldstandard

* Update goldstandard 2015 (teammates)

* Update BBB Goldstandard

* Rename

* correct teammates goldstandard

* remove package names from teammates goldstandards

- storage,119 was a fault in the original goldstandard

* review bigbluebutton goldstandard

* Teammates cleanup

* change component names in goldstandards to modelElementIDs

- removed webrtc-sfu since these are different to webrtc
- added four occurrences of BBB web

* correct teastore goldstandard

- slope one refers to the general algorithm - not to the component

* add goldstandards for undocumented model elements

* restructuring

* repair

Co-authored-by: Dominik Fuchß <[email protected]>

* Fix small errors in gold standard format

* Fix wrong header in JabRef 2016 gold standard

* Remove obsolete text of mediastore (2011)

* Update README.md

* First work on merge. Moved, Renamed and Bump Ver.

* Update paths

* Apply formatting changes

* Squashed 'tests/src/test/resources/benchmark/' changes from db06232..cd4606d

cd4606d Update README.md

git-subtree-dir: tests/src/test/resources/benchmark
git-subtree-split: cd4606d

* Merge framework common and configuration

* Merge more of informalin to common part of informalin

* Remove duplicated subtree.

* Fix docker on windows

* Rename common (framework) to util because of name clash

* align group ids

* move stages to module

* Created SAD/SAM API

* Fix build

* Rename all informalin packages

* Move more to common (framework)

* Fix build

* Just a sync (WIP)

* Apply formatting changes

* Reduce smells.

* Add some JavaDoc

* Create report module for test coverage reports

* Enable jacoco on all submodules

Fixes the bug that only classes executed during ITs in the tests-module are considered. Now, each test is considered. This should have been fixed earlier but wasn't discovered until now when introducing the report-module that does not execute code and, thus, only brought 0% coverage

* Disable docker module for now

We currently have no real dependency on it and this would need the user to have docker running when compiling

* Apply formatting changes

* Clean up code smells

* Update workflows

* Remove docker and java model extractor

* Remove report module from default

* Update maven.config

---------

Co-authored-by: Jan Keim <[email protected]>
Co-authored-by: Jan Keim <[email protected]>
Co-authored-by: Sophie Schulz <[email protected]>
Co-authored-by: dfuchss <[email protected]>
Co-authored-by: Gram21 <[email protected]>
  • Loading branch information
6 people authored Apr 12, 2023
1 parent 12f34ac commit 1e39b6e
Show file tree
Hide file tree
Showing 276 changed files with 3,603 additions and 1,062 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/dependency-update.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:

jobs:
update:
uses: informalin/actions/.github/workflows/maven-update.yml@main
uses: ardoco/actions/.github/workflows/maven-update.yml@main
with:
with-submodules: true
secrets:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ on:

jobs:
publish:
uses: informalin/actions/.github/workflows/maven.yml@main
uses: ardoco/actions/.github/workflows/maven.yml@main
with:
deploy: true
with-submodules: true
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/maven-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ on:

jobs:
update:
uses: informalin/actions/.github/workflows/maven-release.yml@main
uses: ardoco/actions/.github/workflows/maven-release.yml@main
with:
with-submodules: true
secrets:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ on:

jobs:
release:
uses: informalin/actions/.github/workflows/github-release.yml@main
uses: ardoco/actions/.github/workflows/github-release.yml@main

2 changes: 1 addition & 1 deletion .github/workflows/sonarcloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ on:
jobs:
sonarcloud:
if: ${{ github.actor != 'dependabot[bot]' }}
uses: informalin/actions/.github/workflows/sonarcloud.yml@main
uses: ardoco/actions/.github/workflows/sonarcloud.yml@main
with:
with-submodules: true
secrets:
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ on:

jobs:
verify:
uses: informalin/actions/.github/workflows/maven.yml@main
uses: ardoco/actions/.github/workflows/maven.yml@main
with:
deploy: false
with-submodules: true
Expand Down
1 change: 1 addition & 0 deletions .mvn/maven.config
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
-DskipTests=false
-T1C

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

38 changes: 19 additions & 19 deletions common/pom.xml → framework/common/pom.xml
Original file line number Diff line number Diff line change
@@ -1,26 +1,32 @@
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>io.github.ardoco.core</groupId>
<artifactId>parent</artifactId>
<version>0.7.8-SNAPSHOT</version>
<relativePath>../pom.xml</relativePath>
<artifactId>framework</artifactId>
<version>0.8.0-SNAPSHOT</version>
</parent>
<artifactId>common</artifactId>

<properties>
<sonar.coverage.jacoco.xmlReportPaths>${project.basedir}/../${aggregate.report.dir}</sonar.coverage.jacoco.xmlReportPaths>
</properties>

<artifactId>common</artifactId>
<name>Common Utilities &amp; Pipeline Definitions</name>
<dependencies>
<dependency>
<groupId>io.github.informalin.framework</groupId>
<artifactId>common</artifactId>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>io.github.informalin.framework</groupId>
<artifactId>configuration</artifactId>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
</dependency>
<dependency>
<groupId>org.eclipse.collections</groupId>
<artifactId>eclipse-collections</artifactId>
</dependency>
<dependency>
<groupId>org.apache.commons</groupId>
Expand All @@ -41,11 +47,5 @@
<artifactId>opennlp-tools</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
</dependencies>

</project>
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/* Licensed under MIT 2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data;

import edu.kit.kastel.informalin.data.PipelineStepData;
import edu.kit.kastel.mcse.ardoco.core.data.PipelineStepData;

public class InputTextData implements PipelineStepData {

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/* Licensed under MIT 2022. */
/* Licensed under MIT 2022-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data;

import edu.kit.kastel.informalin.data.PipelineStepData;
import edu.kit.kastel.mcse.ardoco.core.api.data.text.Text;
import edu.kit.kastel.mcse.ardoco.core.data.PipelineStepData;

/**
* This class serves as container for different data after preprocessing to store as {@link PipelineStepData}. Right
Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
/* Licensed under MIT 2021-2022. */
/* Licensed under MIT 2021-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.connectiongenerator;

import org.eclipse.collections.api.factory.Sets;
import org.eclipse.collections.api.list.ImmutableList;
import org.eclipse.collections.api.set.ImmutableSet;
import org.eclipse.collections.api.set.MutableSet;

import edu.kit.kastel.informalin.framework.configuration.IConfigurable;
import edu.kit.kastel.mcse.ardoco.core.api.agent.Claimant;
import edu.kit.kastel.mcse.ardoco.core.api.data.model.ModelInstance;
import edu.kit.kastel.mcse.ardoco.core.api.data.recommendationgenerator.RecommendedInstance;
import edu.kit.kastel.mcse.ardoco.core.configuration.IConfigurable;
import edu.kit.kastel.mcse.ardoco.core.pipeline.agent.Claimant;

/**
* The Interface IConnectionState.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/* Licensed under MIT 2022. */
/* Licensed under MIT 2022-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.connectiongenerator;

import edu.kit.kastel.informalin.data.PipelineStepData;
import edu.kit.kastel.mcse.ardoco.core.api.data.model.Metamodel;
import edu.kit.kastel.mcse.ardoco.core.data.PipelineStepData;

public interface ConnectionStates extends PipelineStepData {
String ID = "ConnectionStates";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Licensed under MIT 2021-2022. */
/* Licensed under MIT 2021-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.connectiongenerator;

import edu.kit.kastel.mcse.ardoco.core.api.data.model.ModelInstance;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Licensed under MIT 2021-2022. */
/* Licensed under MIT 2021-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.connectiongenerator;

import java.util.Objects;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Licensed under MIT 2021-2022. */
/* Licensed under MIT 2021-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.inconsistency;

import org.eclipse.collections.api.collection.ImmutableCollection;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
/* Licensed under MIT 2021-2022. */
/* Licensed under MIT 2021-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.inconsistency;

import java.util.List;

import org.eclipse.collections.api.list.ImmutableList;
import org.eclipse.collections.api.list.MutableList;

import edu.kit.kastel.informalin.framework.configuration.IConfigurable;
import edu.kit.kastel.mcse.ardoco.core.api.data.recommendationgenerator.RecommendedInstance;
import edu.kit.kastel.mcse.ardoco.core.configuration.IConfigurable;

/**
* Inconsistency state holding data and information about inconsistency.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/* Licensed under MIT 2022. */
/* Licensed under MIT 2022-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.inconsistency;

import edu.kit.kastel.informalin.data.PipelineStepData;
import edu.kit.kastel.mcse.ardoco.core.api.data.model.Metamodel;
import edu.kit.kastel.mcse.ardoco.core.data.PipelineStepData;

public interface InconsistencyStates extends PipelineStepData {
static final String ID = "InconsistencyStates";
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Licensed under MIT 2022. */
/* Licensed under MIT 2022-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.inconsistency;

import java.util.List;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Licensed under MIT 2022. */
/* Licensed under MIT 2022-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.inconsistency;

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Licensed under MIT 2022. */
/* Licensed under MIT 2022-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.inconsistency;

/**
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Licensed under MIT 2022. */
/* Licensed under MIT 2022-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.model;

public enum Metamodel {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Licensed under MIT 2021-2022. */
/* Licensed under MIT 2021-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.model;

import org.eclipse.collections.api.list.ImmutableList;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
/* Licensed under MIT 2021-2022. */
/* Licensed under MIT 2021-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.model;

import java.util.Set;

import org.eclipse.collections.api.list.ImmutableList;
import org.eclipse.collections.api.set.ImmutableSet;

import edu.kit.kastel.informalin.framework.configuration.IConfigurable;
import edu.kit.kastel.mcse.ardoco.core.configuration.IConfigurable;

/**
* The Interface IModelState defines the information directly extracted from the models.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
/* Licensed under MIT 2021-2022. */
/* Licensed under MIT 2021-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.model;

import org.eclipse.collections.api.list.ImmutableList;
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
/* Licensed under MIT 2022-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.model;

import java.util.HashMap;
import java.util.Map;
import java.util.Set;

import edu.kit.kastel.mcse.ardoco.core.data.PipelineStepData;

public class ModelStates implements PipelineStepData {
public static final String ID = "ModelStatesData";

private transient Map<String, ModelExtractionState> models = new HashMap<>();

/**
* Constructor to create a {@link ModelStates} object that holds all {@link ModelExtractionState}s
*/
public ModelStates() {
super();
}

/**
* Returns the {@link ModelExtractionState} with the given id
*
* @param id the id
* @return the corresponding {@link ModelExtractionState}
*/
public ModelExtractionState getModelState(String id) {
return models.get(id);
}

/**
* Adds a {@link ModelExtractionState} with the given id to the set of {@link ModelExtractionState}s
*
* @param id the id
* @param modelState the {@link ModelExtractionState}
*/
public void addModelState(String id, ModelExtractionState modelState) {
models.put(id, modelState);
}

/**
* Return the set of IDs of all {@link ModelExtractionState}s that are contained within this object.
*
* @return the IDs of all contained {@link ModelExtractionState}s
*/
public Set<String> modelIds() {
return models.keySet();
}

}
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
/* Licensed under MIT 2021-2022. */
/* Licensed under MIT 2021-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.recommendationgenerator;

import org.eclipse.collections.api.list.ImmutableList;

import edu.kit.kastel.informalin.framework.configuration.IConfigurable;
import edu.kit.kastel.mcse.ardoco.core.api.agent.Claimant;
import edu.kit.kastel.mcse.ardoco.core.api.data.textextraction.NounMapping;
import edu.kit.kastel.mcse.ardoco.core.configuration.IConfigurable;
import edu.kit.kastel.mcse.ardoco.core.pipeline.agent.Claimant;

/**
* The Interface IRecommendationState defines the state for recommendations.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
/* Licensed under MIT 2022. */
/* Licensed under MIT 2022-2023. */
package edu.kit.kastel.mcse.ardoco.core.api.data.recommendationgenerator;

import edu.kit.kastel.informalin.data.PipelineStepData;
import edu.kit.kastel.mcse.ardoco.core.api.data.model.Metamodel;
import edu.kit.kastel.mcse.ardoco.core.data.PipelineStepData;

public interface RecommendationStates extends PipelineStepData {
String ID = "RecommendationStates";
Expand Down
Loading

0 comments on commit 1e39b6e

Please sign in to comment.