Skip to main content

No project description provided

Project description

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 for events, e.g., '2023-11-04-13-0-0';
    • the end date of the time window for events, e.g., '2023-11-04-14-2-0';
    • The learned automaton will be saved in resources/learned_sha.
  • function delete_automaton deletes nodes representing the learned automaton from the SKG, if there already exists one with the same name;
  • function store_automaton stores the learned automaton into the SKG;
  • function write_semantic_links identifies and stores the semantic links between the learned automaton and existing SKG nodes.

Copyright © 2024 Livia Lestingi

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

autotwin_autlib-0.1.3.tar.gz (99.7 kB view hashes)

Uploaded Source

Built Distribution

autotwin_autlib-0.1.3-py3-none-any.whl (107.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page