Skip to content

This repository contains the ongoing development of a project that aims to achieve a I4.0 Standardized Microservice-based Industrial Agent (I4.0 SMIA) proposal. This development is performed by Ekaitz Hurtado within a PhD thesis at the University of the Basque Country (UPV/EHU) , specifically in the Control and Systems Integration research group.

License

Notifications You must be signed in to change notification settings

ekhurtado/I4_0_SMIA

Repository files navigation

Self-configurable Manufacturing Industrial Agent: SMIA

Docker badge GitHub release (latest SemVer) Codacy Badge Documentation Status

I4.0 SMIA Logo Light I4.0 SMIA Logo Dark

The Self-configurable Manufacturing Industrial Agent (SMIA) is a proposal for the implementation of the concept of the I4.0 Component from the Reference Architectural Model Industrie 4.0 (RAMI 4.0) as an AAS-compliant agent-based Digital Twin (DT). The features of the SMIA approach include:

  • free & open-source
  • AAS-compliant: standardized approach
  • Ontology-based
  • easily customizable and configurable
  • self-configuration at software startup
  • easy to usage
  • containerized solution

Tip

For more details on Self-configurable Manufacturing Industrial Agent see the 📘 full documentation.

Project structure

The repository of the SMIA project is structured as follows:

  • additional_tools: additional tools developed related to the SMIA.
    • aas_ontology_reader: this tool contains the source code of a reader capable of analyzing an AAS model based on a given OWL ontology.
    • aasx_package_explorer_resources: this tool contains the JSON files to extend the AASX Package Explorer software with the Capability-Skill-Service (CSS) model.
    • capability_skill_ontology: this tool contains the ontology for the Capability-Skill-Service (CSS) model in an OWL file. It also provides some ExtendedClasses implemented in Python.
    • gui_agent: this tool provides a SPADE agent with an easy-to-use graphical interface. This agent provides several useful functionalities for SMIA usage and execution.
  • deploy: all the necessary resources for the deployment of the solution. As the execution platform is Kubernetes, these files are in YAML format.
  • src: the entire source code of the I4.0 SMIA.
    • smia: the main Python package for the entire source code of the SMIA.

Usage

Important

At the moment there is no final version available for the SMIA. The project is currently under development. Therefore, SMIA is not a ready-to-use implementation. New features and bug fixes will be uploaded during development.

Multiple ways of running SMIA software are available.

Download source code

The source code inside the src folder can be downloaded, and there are two launchers to run the software easily.

python3 smia_cli_starter.py --model <path to AASX package>

Note

smia_starter.py specifies the AAS model manually, so the code must be modified.

python3 smia_starter.py

Install as pip package

The SMIA approach is also available as Python package in PyPI. It can be easily installed using pip:

pip install smia

The PyPI project is available at https://test.pypi.org/project/smia/.

Run as Docker container

The SMIA approach is also available as Docker image in DockerHub. To run SMIA software the AAS model should be passed as environmental variable:

docker run -e model=<path to AASX package> ehu-gcis/smia

Discussions

Note

Discussions page has been set as available to share announcements, create conversations, answer questions, and more.

License

GNU General Public License v3.0. See LICENSE for more information.

About

This repository contains the ongoing development of a project that aims to achieve a I4.0 Standardized Microservice-based Industrial Agent (I4.0 SMIA) proposal. This development is performed by Ekaitz Hurtado within a PhD thesis at the University of the Basque Country (UPV/EHU) , specifically in the Control and Systems Integration research group.

Topics

Resources

License

Stars

Watchers

Forks