Feedback

Faculté des Sciences appliquées
Faculté des Sciences appliquées
Mémoire
VIEW 20 | DOWNLOAD 1

Master thesis : Implementation of Automata over Linear Orderings

Télécharger
Gualtieri, Pauline ULiège
Promoteur(s) : Boigelot, Bernard ULiège
Date de soutenance : 4-sep-2023/5-sep-2023 • URL permanente : http://hdl.handle.net/2268.2/18159
Détails
Titre : Master thesis : Implementation of Automata over Linear Orderings
Titre traduit : [fr] Implémentation d'Automates sur Ordres Linéaires
Auteur : Gualtieri, Pauline ULiège
Date de soutenance  : 4-sep-2023/5-sep-2023
Promoteur(s) : Boigelot, Bernard ULiège
Membre(s) du jury : Fontaine, Pascal ULiège
Rigo, Michel ULiège
Langue : Anglais
Nombre de pages : 58
Mots-clés : [en] automaton
[en] linear orderings
[en] automata over linear orderings
[en] LASH
Discipline(s) : Ingénierie, informatique & technologie > Sciences informatiques
Institution(s) : Université de Liège, Liège, Belgique
Diplôme : Master en sciences informatiques, à finalité spécialisée en "computer systems security"
Faculté : Mémoires de la Faculté des Sciences appliquées

Résumé

[en] The goal of this master's thesis was to implement a data structure able to represent automata over linear orderings and operations over them, in the framework of the LASH (Liège Automata-based Symbolic Handler) toolset.
We first introduce the basic notions used throughout the work such as linear orderings, words, automata over finite words and infinite words. We then add the notions of left and right limit transitions in order to reach the definition of automata over linear orderings as described by Olivier Carton and Véronique Bruyère.
The operations of intersection and union are presented and some potential additional operations to be implemented in the future are mentioned.
We explain our solutions for the operations of intersection and union through two simplified algorithms to showcase their main principles. Two examples then demonstrate, with a representation of the stack and hash table, how those algorithms behave.
The implementation of the data structure and operations was done in the C language just as the base code of LASH. To implement the intersection and union operations, some challenges had to be faced. The first one was how to handle the states that are made accessible by limit transitions while exploring the two input automata in the operations of intersection and union. We proposed a solution using a loop over a stack that keeps track of states with unexplored transitions, together with a hash table keeping track of states already added to the automaton. For each loop, the limit transitions are checked to find out if we can add them to the output automaton. We also explain how we handled left limit transitions in an efficient way using a counter to avoid pointless computations. The structures that we used to implement automata over linear orderings are presented by providing the detailed pseudo-code of the implementation of our solution.
As the final step in our work, tests were made on both operations to find out their limitations. The last tests involved automata with large numbers of states and limit transitions, both left and right. The results show that the operations of intersection and union have little difference in performance for the same set of input automata. In the case of two input automata with many limit transitions, we find that the program is rapidly running out of memory as the structures necessary for keeping track of possible limit transitions increase exponentially in size.
The implementation of this work has room for improvements in terms of performance. Some possible ideas for improvements are discussed as a final word.


Fichier(s)

Document(s)

File
Access Implementation of Automata over Linear Orderings.pdf
Description:
Taille: 640.6 kB
Format: Adobe PDF
File
Access Implementation of Automata over Linear Orderings - Abstract.pdf
Description: The abstract of the master's thesis
Taille: 81.03 kB
Format: Adobe PDF

Annexe(s)

File
Access Implementation of Automata over Linear Orderings - Code.zip
Description: Zip archive including the LASH toolset with the implementation of automata over linear orderings and a readme file specifying which files are related to this work
Taille: 1.32 MB
Format: Unknown

Auteur

  • Gualtieri, Pauline ULiège Université de Liège > Master sc. informatiques, à fin.

Promoteur(s)

Membre(s) du jury

  • Fontaine, Pascal ULiège Université de Liège - ULiège > Dép. d'électric., électron. et informat. (Inst.Montefiore) > Systèmes informatiques distribués
    ORBi Voir ses publications sur ORBi
  • Rigo, Michel ULiège Université de Liège - ULiège > Département de mathématique > Mathématiques discrètes
    ORBi Voir ses publications sur ORBi
  • Nombre total de vues 20
  • Nombre total de téléchargements 1










Tous les documents disponibles sur MatheO sont protégés par le droit d'auteur et soumis aux règles habituelles de bon usage.
L'Université de Liège ne garantit pas la qualité scientifique de ces travaux d'étudiants ni l'exactitude de l'ensemble des informations qu'ils contiennent.