Architecture arch{ Group { name = "environment" Port env_no_objPresent { name = "no_objPresent" } Port env_objPresent { name = "objPresent" } Port env_cmdDown { name = "cmdDown" } Port env_cmdNeutral { name = "cmdNeutral" } Port env_cmdUp { name = "cmdUp" } } Group { name = "plant" Port plant_up { name = "up" } Port plant_neutral { name = "neutral" } Port plant_down { name = "down" } Port plant_interrupt { name = "interrupt" } Port plant_objPresent { name = "objPresent" } Port plant_no_objPresent { name = "no_objPresent" } Port plant_objDetected { name = "objDetected" } Port plant_no_objDetected { name = "no_objDetected" } } Group { name = "control" Port plant_cmdDown { name = "cmdDown" } Port plant_cmdNeutral { name = "cmdNeutral" } Port plant_cmdUp { name = "cmdUp" } Port plant_up { name = "up" } Port plant_down { name = "down" } Port plant_neutral { name = "neutral" } Port plant_interrupt { name = "interrupt" } Port plant_objDetected { name = "objDetected" } Port plant_no_objDetected { name = "no_objDetected" } } Connects (env_no_objPresent, plant_no_objPresent) {} Connects (env_objPresent, plant_objPresent) {} Connects (env_cmdDown, control_cmdDown) {} Connects (env_cmdNeutral, control_cmdNeutral) {} Connects (env_cmdUp, control_cmdUp) {} Connects (plant_objDetected, control_objDetected) {} Connects (plant_no_objDetected, control_no_objDetected) {} Connects (plant_interrupt, control_interrupt) {} Connects (control_up, plant_up) {} Connects (controL_neutral, plant_neutral) {} Connects (control_down, plant_down) {} }