Skip to content

AIDA - a tool for the composition of Industrial APIs for resilience manufacturing.

License

Notifications You must be signed in to change notification settings

iaiamomo/summersoc23_tutorial

Repository files navigation

Services in Industry 4.0. Modeling and composition
SummerSOC 2023
AIDA tool

Linux Python Sapienza Licence

AIDA (Adaptive InDustrial APIs) is a tool for the composition of Industrial APIs for resilience manufacturing.

The proposed technique generates a plan for a manufacturing process by orchestrating manufacturing actors which are depicted as services.

Architecture

  • Design GUI: graphic tool to model manufacturing actors and goal
  • Controller: composing the manufacturing actors
  • Enactor: acting as a middleware between controller and Industrial API
  • Industrial API: realizing the services wrapping the manufacturing actors

IndustrialAPI

  • The controller interact with the Industrial API through REST API to retrieve service specification and current status and request the execution of an action by a service.
  • The services are connected to the server via websocket
  • Services connect to the server to register and execute actions

Preliminaries

We assume the user uses a UNIX-like machine and that has Python 3.10 installed.

  • To set up the virtual environment install Pipenv (pip install pipenv), then execute
pipenv install --dev
  • Start a shell within the Python virtual environment (to be done whenever a new terminal is opened):
pipenv shell
  • Install the Python package in development mode:
pip install -e .
sudo apt install xterm
  • Install Python GUI Tkinter module:
sudo apt install python3-tk
cd alto
git clone https://github.com/aibasel/downward.git
cd downward
./build.py
  • Generate Python client from OpenAPI v3.0 specification (maybe you need to change permissions of the script file):
cd local/IndustrialAPI/actors_api_lmdp_ltlf/openapi_client_script
# chmod 777 generate-openapi-client.sh
./generate-openapi-client.sh

cd local/IndustrialAPI/actors_api_plan/openapi_client_script
# chmod 777 generate-openapi-client.sh
./generate-openapi-client.sh

Run the tool

To run the tool you need to run the GUI script

cd GUI
python Adaptive.py

Design time

A design time frame allows to model both services (.sdl) and manufacturing goal (.tdl). Such models are usually saved in specific folders inside saved_models.

Run time

A run time frame allows to generate and execute the optimal policy (plan). The set-up of this phase depends on the selection of a proper configuration file. config_files contains some configuration files.

Cite the tutorial

@misc{leotta2023services,
  title={{Service in Industry 4.0 modeling and composition}},
  author={Leotta, Francesco and 
    Mecella, Massimo and 
    Monti, Flavia and 
    Silo, Luciana},
  booktitle={Service-Oriented Computing 17th Symposium and Summer School,
    SummerSOC 2023, Hersonissos, Crete, Greece, June 26–July 1, 2023 - Tutorial Program},
  year={2023}
}

Cite the article

@inproceedings{monti2023services,
  title={{Services in smart manufacturing: comparing automated reasoning techniques for composition and orchestration}},
  author={Monti, Flavia and 
    Silo, Luciana and
    Leotta, Francesco and 
    Mecella, Massimo},
  booktitle={Service-Oriented Computing: 17th Symposium and Summer School,
    SummerSOC 2023, Hersonissos, Crete, Greece, June 26–July 1, 2023},
  year={2023},
  organization={Springer}
}

Who are we?

We are part of the Processes, Services and Software Engineering group of DIAG (Sapienza Università di Roma).

The research team behind this work includes Francesco Leotta, Massimo Mecella, Flavia Monti and Luciana Silo.

License

The software is released under the MIT license.

About

AIDA - a tool for the composition of Industrial APIs for resilience manufacturing.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published