Skip to content

weicheng22/autotwin_automata_learning

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automata Learning Routine for Auto-Twin

Description

Module developed within the Auto-Twin Horizon EU project perform an automata learning experiment with data extracted from a System Knowledge Graph (SKG), store the resulting model in the SKG, and create semantic links between the learned features and the existing nodes representing the system.

Authors:

Name E-mail address
Lestingi Livia livia.lestingi@polimi.it

Requirements

Dependencies are listed in the environment.yml file.

Module Structure

This module acts as an orchestrator of the following submodules:

  • lsha: Automata learning component, specifically implementing algorithm L*_SHA for Stochastic Hybrid Automata (SHA) learning;
  • skg_connector: Component performing queries on the SKG to extract data and store the newly created model;
  • sha2dt_semantic_mapper: Component identifying the semantic links between learned features and the existing representation of the System Under Learning (e.g., between an edge of the learned automaton and the sensor that triggers it).

Upon cloning the repository, run the following commands to initialize the submodules:

git submodule init	
git submodule update

Note that it is necessary to run git submodule update everytime submodules must synchronize with the corresponding repositories.

Configuration

The configuration file for the skg_connector module (config.ini), by default, is set up as follows:

  • instance: name of the .ini file containing the information necessary to connect to the SKG (mainly URI, user, and password). By default, this points to the local.ini file pointing to a local Neo4j instance with password 12345678. Should a connection to a connection to a differently parameterized instance be needed, a new file with the same structure as local.ini must be added to the same folder, and parameter instance accordingly.
  • schema.name: identifier of the use case targeted by the automata learning experiment. By default, this is set to legoFactory, but it can be changed to any value from the schema folder.

Note that the following must be added to your local PYTHONPATH environment variable:

How to use

The automata_learner script contains an example of a learning procedure for testing purposes:

  • function learn_automaton takes as input:
    • the pov, i.e., a string out of 'item', 'resource', 'plant';
    • the start date of the time window to be considered for event mining, e.g., '2023-11-04-13-0-0';
    • the end date of the time window to be considered for event mining, e.g., '2023-11-04-14-2-0';

The learned automaton will be saved in resources/learned_sha.


Copyright © 2024 Livia Lestingi

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%