{
 "twin": "Wiz3DT",
 "workspace": "D:\\vw\\wiz3",
 "step_ns": 100000,
 "total_ns": 10000000,
 "components": [
  {
   "name": "Sensor",
   "lang": "Python",
   "ports": [
    {"name": "sense_p", "protocol": "GenericPayload",
     "signals": [{"name": "sense_temperature"}, {"name": "sense_pressure"}]},
    {"name": "health_p", "protocol": "Can",
     "signals": [{"name": "health_status"}, {"name": "health_counter"}]}
   ]
  },
  {
   "name": "Controller",
   "lang": "C++",
   "ports": [
    {"name": "ctl_p", "protocol": "GenericPayload",
     "signals": [{"name": "ctl_in_temperature"}, {"name": "ctl_in_pressure"}, {"name": "ctl_command"}]},
    {"name": "ctl_health_p", "protocol": "Can",
     "signals": [{"name": "ctl_health_status"}, {"name": "ctl_health_counter"}]}
   ]
  },
  {
   "name": "Actuator",
   "lang": "Python",
   "ports": [
    {"name": "act_p", "protocol": "Uart",
     "signals": [{"name": "act_command"}]},
    {"name": "act_health_p", "protocol": "Can",
     "signals": [{"name": "act_health_status"}, {"name": "act_health_counter"}]}
   ]
  }
 ],
 "links": [
  {"type": "signal", "src": "Sensor.sense_temperature", "dst": "Controller.ctl_in_temperature", "bus": "SensorData"},
  {"type": "signal", "src": "Sensor.sense_pressure", "dst": "Controller.ctl_in_pressure", "bus": "SensorData"},
  {"type": "signal", "src": "Controller.ctl_command", "dst": "Actuator.act_command", "bus": "ActuatorCommand"},
  {"type": "can", "id": "0x100", "members": ["Sensor.health_p", "Controller.ctl_health_p", "Actuator.act_health_p"], "bus": "HealthBus"}
 ]
}
