Skip to content

contractautomataproject/jlampIce2023experiments

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This repository contains the source code for the experiments of the paper

"Advancing Orchestration Synthesis for Contract Automata" by Davide Basile and Maurice ter Beek.

The automata used in the experiments are located in src/main/resources.

This repository uses a branch of CATLib currently under development, imported as a jar under the folder lib.

Composition Experiments

The class src/main/java/io/github/contractautomata/experimentsJLAMPICE2023/compositions/CardGame.java is used for producing the results in Table 1 (Comparison of different state-space reduction techniques for the card game).

Logs: CardGame Composition Example Composition with addresses and committed states: states=36, transitions=37 computed in 126 milliseconds Orchestration with addresses and committed states: states=24, transitions=23 computed in 84 milliseconds

Composition with committed states: states=73, transitions=82 computed in 82 milliseconds Composition no pruning with committed states: states=177, transitions=224 computed in 137 milliseconds Orchestration with committed states: states=49, transitions=54 computed in 47 milliseconds

Composition: states=85, transitions=94 computed in 52 milliseconds Composition no pruning: states=560, transitions=935 computed in 337 milliseconds Orchestration with property: states=49, transitions=54 computed in 127 milliseconds

Orchestration Experiments

The class src/main/java/io/github/contractautomata/experimentsJLAMPICE2023/orchestrations/CardGame.java is used for producing the results in Table 2 (Comparison of different orchestrations for the card game).

Logs: CardGame Orchestration Example Splitting orchestration synthesis: 241 milliseconds the orchestration is non-empty Splitting orchestration : states=41, transitions=54

Conditional orchestration synthesis: 52 milliseconds the orchestration is non-empty Conditional orchestration : states=49, transitions=54

Refined conditional orchestration synthesis: 42 milliseconds the orchestration is empty

The class src/main/java/io/github/contractautomata/experimentsJLAMPICE2023/orchestrations/Railway.java is used for producing the results in Table 3 (Comparison of different orchestrations for the railway example).

Logs: Railway Orchestration Example Splitting orchestration synthesis: 207 milliseconds the orchestration is non-empty Splitting orchestration : states=90, transitions=159

Conditional orchestration synthesis: 40 milliseconds the orchestration is non-empty Conditional orchestration : states=32, transitions=44

Refined conditional orchestration synthesis: 31 milliseconds the orchestration is non-empty Refined orchestration : states=32, transitions=44

About

Experiments for the special issue in JLAMP of ICE 2023

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages