... | ... | @@ -18,7 +18,7 @@ class SimulationTracker { |
|
|
+{static} create(string, map<string,string> cfg)
|
|
|
-- protected --
|
|
|
map<string,string> config;
|
|
|
{static}map<string,TrackerCreator> creator;
|
|
|
{static}map<string,TrackerCreator> creators;
|
|
|
}
|
|
|
class CompoundTracker {
|
|
|
+add(SimulationTracker)
|
... | ... | @@ -48,12 +48,15 @@ class ConcreteTrackerCreatorA { |
|
|
class ConcreteTrackerCreatorB {
|
|
|
SimulationTracker create(Simulation const&, map<string,string> cfg);
|
|
|
}
|
|
|
Simulation*--CompoundTracker
|
|
|
SimulationTracker--Simulation
|
|
|
Simulation*--CompoundTracker : trigger signals
|
|
|
SimulationTracker--Simulation : keep track
|
|
|
SimulationTracker<|--CompoundTracker
|
|
|
SimulationTracker<|--ConcreteTrackerA
|
|
|
SimulationTracker<|--ConcreteTrackerB
|
|
|
TrackerCreator<|--ConcreteTrackerCreatorA
|
|
|
TrackerCreator<|--ConcreteTrackerCreatorB
|
|
|
CompoundTracker*-->"many" SimulationTracker
|
|
|
CompoundTracker*-->"many" SimulationTracker : forward triggers
|
|
|
SimulationTracker*->"many" TrackerCreator : static creator map
|
|
|
ConcreteTrackerCreatorA-->ConcreteTrackerA : create
|
|
|
ConcreteTrackerCreatorB-->ConcreteTrackerB : create
|
|
|
``` |