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.
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.
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.
The source code inside the src
folder can be downloaded, and there are two launchers to run the software easily. If the folder where the launchers are located is accessed, it is possible to run SMIA using the following command:
python3 smia_cli_starter.py --model "<path to AASX package>"
Tip
The launcher smia_starter.py
specifies the AAS model manually, so the code must be modified. Just change the line that specifies the path to the AASX package that contains the AAS model. Then it can be executed:
python3 smia_starter.py
The SMIA approach is also available as Python package in PyPI. It can be easily installed using pip:
pip install smia
Note
The PyPI project is available at https://test.pypi.org/project/smia/.
The PyPI SMIA package contains all the source code and there are determined the necessary dependencies, so they can be automatically installed by pip, so it can run SMIA directly by:
python3 -m smia.launchers.smia_cli_starter --model "<path to AASX package>"
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:alpine-latest
Note
The SMIA Docker Hub repository is available at https://hub.docker.com/r/ekhurtado/smia.
Note
Discussions page has been set as available to share announcements, create conversations, answer questions, and more.
GNU General Public License v3.0. See LICENSE
for more information.