User Tools

Site Tools


Main How to Use ROLL in Command Line How to Use ROLL in JAVA Program Tool Contact

Regular Omega Language Learning (ROLL)

ROLL is a Library of learning algorithms for ω-regular languages. It consists of all ω-regular learning algorithms available in the literature, namely

  1. the learning algorithm for FDFAs
    • the algorithm in [5] learns three canonical FDFAs using observation tables, which is based on results in [3],
    • the algorithm in [6] learns three canonical FDFAs using classification trees;
  2. and the learning algorithm for Büchi automata
    • the algorithm in [4] learns a Büchi automaton by combining L* algorithm [1] and results in [2],
    • the algorithm in [6] learns the Büchi automata via learning three canonical FDFAs.

The ROLL library is implemented in JAVA. Its DFA operations are delegated to the dk.brics.automaton package. We use RABIT tool to check the equivalence of two Büchi automata.

New Features in ROLL v1.0

ROLL v1.0 is now publicly available on GitHub at this repository. ROLL v1.0 is a large rewrite of the previous version used in the TACAS paper. Compared to its previous version, it now supports new features such as:

  • Interactive mode for education purpose.
  • Büchi automata complementation based on learning [7].
  • Büchi automata inclusion testing based on word sampling and learning.
  • PAC-learning for Büchi automata based on Monte-Carlo word sampling (our improved version of [8]).

[1] Dana Angluin. “Learning regular sets from queries and counterexamples.” Information and computation 75.2 (1987): 87-106.

[2] Hugues Calbrix, Maurice Nivat, and Andreas Podelski. “Ultimately periodic words of rational ω-languages.” In MFPS. Springer Berlin Heidelberg, 1993: 554-566.

[3] Oded Maler and Ludwig Staiger. “On syntactic congruences for ω-languages.” In STACS. Springer Berlin Heidelberg, 1993: 586-594.

[4] Azadeh Farzan, Yu-Fang Chen, Edmund M. Clarke, Yih-Kuen Tsay, Bow-Yaw Wang. “Extending automated compositional verification to the full class of omega-regular languages.” In TACAS. Springer Berlin Heidelberg, 2008: 2-17.

[5] Dana Angluin, and Dana Fisman. “Learning regular omega languages.” In ALT. Springer International Publishing, 2014: 125-139.

[6] Yong Li, Yu-Fang Chen, Lijun Zhang, and Depeng Liu. “A Novel Learning Algorithm for Büchi Automata based on Family of DFAs and Classification Trees.” In TACAS. Springer Berlin Heidelberg, 2017: 208-226. preprint

[7] Yong Li, Andrea Turrini, Lijun Zhang and Sven Schewe. “Learning to Complement Büchi Automata.” In VMCAI. Springer, Cham, 2018:313-335.

[8] Radu Grosu, Scott A. Smolka. “Monte carlo model checking.” In TACAS. Springer-Verlag Berlin, Heidelberg, 2005:271-286.

start.txt · Last modified: 2018/01/31 10:04 by liyong