indata: "Input data" { shape: cylinder } model_generation: Model Generation { _.generator->model_search: Start model_search: Model Search { database_search: Database search autoML: Automl } model_search->model_training: Propose model model_training->model_search: Reject model and request new one model_training: Model Traning { _.model_training->node: Start Training node: Node _.model_training<-node: End Training } model_training->_.generator: Accept Model } node_manager: Node_Manager { node1 node2 noden: "node..." node_manager->node1: Manage node_manager->node2: Manage node_manager->noden: Manage } model_generation.generator.model_training.node<->node_manager: Request/Gives node to train model_database: Model database { shape: cylinder } model_runner: Model Runner { node: Node model: Model model<->_.model_database: Request/Get Model model<->node: Run/Result node->_.model_runner: Results } model_runner.node<->node_manager: Request/Gives node to run model User.shape: Person User->indata: Uploads data User->model_generation: Requests Model User->model_database: Manages Models User->model_runner: Request image for classification model_runner->User: Give class of image model_generation <-> indata: Requests Data