model-generation: Model Generation { hidden-layers-generator: Hidden Layers Model Generator hidden-layers-generator<->generator: Request/Accept Model head-generator: Head Models Generator { _.head-generator->model1: Create _.head-generator->model2: Create _.head-generator->modeln: Create model1 model2 modeln: "Model..." model1<->_.generator: Request/Accept Model model2<->_.generator: Request/Accept Model modeln<->_.generator: Request/Accept Model model1->_.head-generator: Accept Model model2->_.head-generator: Accept Model modeln->_.head-generator: Accept Model } generator: Generator { _.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 } } User.shape: Person User->model-generation: Requests Model model-generation.generator <-> indata: Requests Data model-generation->model-generation.hidden-layers-generator: Start model-generation.hidden-layers-generator->model-generation.head-generator: Strip head and give base model to Head Generator model-generation.head-generator->model-database: Save hidden layers model and heads indata: "Input data" { shape: cylinder } model-database: "Model Database" { shape: cylinder }