UMBERTO is a conformance-checking engine designed to validate architectural constraints in EMF/UML models. This ZIP file provides the complete environment to review the implementation, reproduce the evaluation results, and run functional tests.
/code: The complete source code of the UMBERTO project.umberto.jar: The executable JAR file of the engine./evaluation: Contains raw data from performance benchmarks and setup files for functional testing.
Each subfolder contains a README.md file with detailed instructions specific to that module.
You can immediately perform a conformance check using the provided example models. Navigate to the root directory and run the following command:
JAR=umberto.jar
REF=evaluation/functionality-tests/\
adapter-test/adapter/adapter.uml
CONC=evaluation/functionality-tests/\
adapter-test/boat/boat.uml
java -jar $JAR check $REF $CONCThis executes a conformance check on the Adapter pattern example.
To reproduce the performance results (evalutation/benchmarks/test-results/test_case7.csv) use:
java -jar umberto.jar benchmarkNote: Depending on your system, this may take a while (>1h) as it performs multiple iterations to ensure statistical validity.
There a multiple ways to speed up the execution time, please read the README.md file in the evaluation/benchmark folder for more details.
Depending on your interest, please refer to the following files:
-
For usage and CLI configuration: See
code/cli/README.md. -
For performance benchmarks: See
evaluation/benchmarks/README.md. -
For details on functional tests: See
evaluation/functionality-tests/README.md. -
For developers (Core-API): See
code/core/README.md.