Class Main
- java.lang.Object
-
- main.Main
-
public class Main extends Object
Command-line entry point of AuRUS.Orchestrates a complete repair run: parses the command-line flags, transfers them into
Settings, loads the input specification (TLSF, or Spectra with-use-spectra), launches the genetic search (SpecificationGeneticAlgorithm.run(Tlsf, double, double, double), or the random baseline with-random), and finally writes the results:- one
specN.tlsffile per realisable repair found, annotated with its fitness and its syntactic/semantic similarity to the original specification; - an
out.txtsummary with solution counts, fitness statistics, timing and the full configuration — the file consumed byread-results.sh(its line format is load-bearing for the experiment scripts and must not be changed); - optionally, when genuine reference repairs are supplied with
-ref=..., a comparison of the found solutions against them (equivalent / weaker / stronger, viaGenuineSolutionsAnalysis).
Run
./unreal-repair.sh -helpfor the full flag reference; the same information, with defaults, is documented in the project README.Reference implementation of: Brizzio, Cordy, Papadakis, Sánchez, Aguirre, Degiovanni. "Automated Repair of Unrealisable LTL Specifications Guided by Model Counting", GECCO 2023 (doi:10.1145/3583131.3590454).
- Author:
- Matías Brizzio
- See Also:
Settings,SpecificationGeneticAlgorithm
- one
-
-
Constructor Summary
Constructors Constructor Description Main()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static voidmain(String[] args)Parses the arguments, configuresSettings, runs the search and writes the repairs and the summary report.
-
-
-
Method Detail
-
main
public static void main(String[] args) throws IOException, InterruptedException
Parses the arguments, configuresSettings, runs the search and writes the repairs and the summary report.Exits with status
0on success (including-help), and with status1on malformed arguments or unreadable input files, after printing a targeted error message.- Parameters:
args- the command-line arguments (seeprintUsage())- Throws:
IOException- if writing the output files failsInterruptedException- if an external solver call is interrupted
-
-