예제 #1
0
    's2': 0.0,
    's3': 1.0,
    's4': 1.0,
    'timestamp': '2018-10-01 15:16:24'
}

# Environment Process
# ToDo: Depreciation Waring for env_proc_trigger convention
trigger_timestamps = [
    '2018-10-01 15:16:25', '2018-10-01 15:16:27', '2018-10-01 15:16:29'
]
env_processes = {
    "s3": [lambda _g, x: 5],
    "s4":
    env_trigger(3)(trigger_field='timestamp',
                   trigger_vals=trigger_timestamps,
                   funct_list=[lambda _g, x: 10])
}

partial_state_update_block = [
    {
        "policies": {
            "b1": p1m1,
            "b2": p2m1
        },
        "variables": {
            "s1": s1m1,
            "s2": s2m1,
            "s3": es3,
            "s4": es4,
            "timestamp": update_timestamp
예제 #2
0
}

# Optional
g: Dict[str, List[int]] = {
    'alpha': [1],
    # 'beta': [2],
    # 'gamma': [3],
    'beta': [2, 5],
    'gamma': [3, 4],
    'omega': [7]
}

psu_steps = ['m1', 'm2', 'm3']
system_substeps = len(psu_steps)
var_timestep_trigger = var_substep_trigger([0, system_substeps])
env_timestep_trigger = env_trigger(system_substeps)
env_process = {}
psu_block = {k: {"policies": {}, "variables": {}} for k in psu_steps}

# ['s1', 's2', 's3', 's4']
# Policies per Mechanism
def p1m1(_g, step, sL, s, **kwargs):
    return {'param1': 1}
psu_block['m1']['policies']['p1'] = p1m1

def p2m1(_g, step, sL, s, **kwargs):
    return {'param2': 4}
psu_block['m1']['policies']['p2'] = p2m1

def p1m2(_g, step, sL, s, **kwargs):
    return {'param1': 'a', 'param2': _g['beta']}