@startuml actor User User -> evaluator: evaluator parameters evaluator -> User: evaluator object User -> creator: specify desired a/c specs creator --> evaluator: inform evaluator of desired specs evaluator --> creator: request acceptable components creator -> User: acceptable initial a/c candidate User -> generator: specify genetic variability generator --> creator: request varied a/c creator --> generator: varied a/c population generator <--> evaluator: exchange population to evaluate\nwith new population based on\nfittest individuals evaluator -> User: return individual a/c specs generator -> User: return population fitness and top candidates @enduml