From Domain-Specific Language to Timed Automata. Automatic Translation and Verification of Contract Specifications
Analysis of contracts is becoming an increasingly important subject due to the amount of agreements on the web. In this thesis a compositional formal language, Simplified
Contract Language, SCL, is used to represent contracts. A translation between SCL and Timed Automata is designed and implemented, in order to verify contracts using temporal logic. UPPAAL is used as the timed automata verifying tool. 
The translation is shown to preserve the behavioral semantics of the SCL. The translation is tested thoroughly, using QuickCheck, against an implementation of the semantics
in terms of trace acceptance. A case study of a university course, modeled as a contract, is done. It shows that it is possible to use the SCL and the translation for analyzing a real world contract with different traces. The case study also shows that when randomly generating events the state space can get large enough to slow down the verification speed significantly.