-
Notifications
You must be signed in to change notification settings - Fork 1
/
demo.py
49 lines (42 loc) · 963 Bytes
/
demo.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
# demo.py
'''
Representa o Scenario API do Mosaik.
'''
import mosaik
import mosaik.util
"""
CONFIGURAÇÃO DOS MODELOS
"""
SIM_CONFIG = { # Determina os modelos utilizados no cenário
'ExampleSim': {
'python': 'simulator_mosaik:ExampleSim',
},
'Collector': {
'cmd': '%(python)s collector.py %(addr)s',
},
}
END = 10 # 10 seconds
"""
CRIAÇÃO DO MUNDO
"""
world = mosaik.World(SIM_CONFIG)
"""
INICIALIZAÇÃO DOS MODELOS
"""
examplesim = world.start('ExampleSim', eid_prefix='Model_')
collector = world.start('Collector')
"""
CRIAÇÃO DAS INSTÂNCIAS
"""
model = examplesim.ExampleModel(init_val=2)
monitor = collector.Monitor()
"""
CONEXÃO DAS ENTIDADES
"""
world.connect(model, monitor, 'val', 'delta')
more_models = examplesim.ExampleModel.create(2, init_val=3)
mosaik.util.connect_many_to_one(world, more_models, monitor, 'val', 'delta')
"""
EXECUÇÃO DA SIMULAÇÃO
"""
world.run(until=END)