11'https://editor.plantuml.com/
2- 'Sequence Diagram 1– Генериране на тест кейсове с ABC генератора
2+ 'Sequence Diagram 1 - Test Case Generation with Hybrid ABC Algorithm
33
44@startuml
5- ' === Класически UML стил със силно визуално присъствие ===
5+ ' === Classic UML style with strong visual presence ===
66skinparam style strictuml
77skinparam roundcorner 0
88skinparam ArrowColor Black
@@ -19,58 +19,68 @@ participant outputStrategy as "outputStrategy : ITestCaseOutputGenerator"
1919client -> generator : GenerateTestCases(methodName, parameters, category)
2020
2121note right of generator
22- Фаза 0: Извличане на стратегии от Settings
22+ Phase 0: Initialize strategies from Settings
2323end note
2424
2525generator -> settings : get_TestCaseGenerator()
2626generator -> settings : get_TestCaseEvaluator()
2727generator -> settings : get_OutputGenerator()
2828
2929note right of generator
30- Фаза 1: Генериране на начална популация
30+ Phase 1: Generate initial population
3131end note
3232
3333generator -> generatorStrategy : GenerateTestCases(parameters)
3434generatorStrategy --> generator : HashSet<TestCase>
3535
3636note right of generator
37- Фаза 2: Оценка на началната популация
37+ Phase 2: Evaluate initial population
3838end note
3939
4040generator -> evaluatorStrategy : EvaluatePopulation(initialPopulation)
4141
42- loop за всяко поколение
42+ loop for each generation (1 to TotalGenerations)
4343
4444 note right of generator
45- Фаза 3: Мутация и подобрение
45+ Phase 3: Elite selection
4646 end note
4747
48- generator -> generator : ApplyMutation( )
48+ generator -> generator : SelectElitePopulation(evaluatedPopulation, eliteCount )
4949
5050 note right of generator
51- Фаза 4: Преоценка
51+ Phase 4: Onlooker selection (if enabled)
5252 end note
5353
54- generator -> evaluatorStrategy : EvaluatePopulation(mutatedPopulation )
54+ generator -> generator : MaintainDiversePopulationOnlookerSelection(nonElite, evaluated, eliteCount )
5555
5656 note right of generator
57- Фаза 5: Селекция (Elite, Onlooker, Scout)
57+ Phase 5: Mutation with temperature control
5858 end note
5959
60- generator -> generator : SelectEliteBees()
61- generator -> generator : SelectOnlookerBees()
62- generator -> generator : SelectScoutBees()
60+ generator -> generator : MutatePopulation(evaluatedPopulation, nonElite, parameters, currentGen)
61+
62+ note right of generator
63+ Phase 6: Scout phase (if currentGen >= threshold)
64+ end note
65+
66+ generator -> generator : PerformScoutPhaseIfNeeded(parameters, evaluated, nonElite, currentGen)
67+
68+ note right of generator
69+ Phase 7: Re-evaluate population
70+ end note
71+
72+ generator -> evaluatorStrategy : EvaluatePopulation(evaluatedPopulation)
6373
6474end
6575
6676note right of generator
67- Фаза 6: Финална селекция
77+ Phase 8: Apply final selection ratio
6878end note
6979
70- generator -> generator : SelectFinalPopulation( )
80+ generator -> generator : LimitFinalPopulationBasedOnSelectionRatio(evaluatedPopulation )
7181
7282note right of generator
73- Фаза 7: Генериране на изход
83+ Phase 9: Generate output (if output generator provided)
7484end note
7585
7686generator -> outputStrategy : GenerateOutput(methodName, finalTestCases, category)
0 commit comments