Architecture/Group {
    name = "environment"

    Architecture/Port env_no_objPresent {
        name = "no_objPresent"
    }
    Architecture/Port env_objPresent {
        name = "objPresent"
    }
    Architecture/Port env_cmdDown {
        name = "cmdDown"
    }
    Architecture/Port env_cmdNeutral {
        name = "cmdNeutral"
    }
    Architecture/Port env_cmdUp {
        name = "cmdUp"
    }
}

Architecture/Group {
    name = "plant"

    Architecture/Port plant_up {
        name = "up"
    }
    Architecture/Port plant_neutral {
        name = "neutral"
    }
    Architecture/Port plant_down {
        name = "down"
    }
    Architecture/Port plant_interrupt {
        name = "interrupt"
    }
    Architecture/Port plant_objPresent {
        name = "objPresent"
    }
    Architecture/Port plant_no_objPresent {
        name = "no_objPresent"
    }
    Architecture/Port plant_objDetected {
        name = "objDetected"
    }
    Architecture/Port plant_no_objDetected {
        name = "no_objDetected"
    }
}

Architecture/Group {
    name = "control"

    Architecture/Port control_cmdDown {
        name = "cmdDown"
    }
    Architecture/Port control_cmdNeutral {
        name = "cmdNeutral"
    }
    Architecture/Port control_cmdUp {
        name = "cmdUp"
    }
    Architecture/Port control_up {
        name = "up"
    }
    Architecture/Port control_down {
        name = "down"
    }
    Architecture/Port control_neutral {
        name = "neutral"
    }
    Architecture/Port control_interrupt {
        name = "interrupt"
    }
    Architecture/Port control_objDetected {
        name = "objDetected"
    }
    Architecture/Port control_no_objDetected {
        name = "no_objDetected"
    }
}

Architecture/Connects (env_no_objPresent, plant_no_objPresent) {}
Architecture/Connects (env_objPresent, plant_objPresent) {}
Architecture/Connects (env_cmdDown, control_cmdDown) {}
Architecture/Connects (env_cmdNeutral, control_cmdNeutral) {}
Architecture/Connects (env_cmdUp, control_cmdUp) {}

Architecture/Connects (plant_objDetected, control_objDetected) {}
Architecture/Connects (plant_no_objDetected, control_no_objDetected) {}
Architecture/Connects (plant_interrupt, control_interrupt) {}

Architecture/Connects (control_up, plant_up) {}
Architecture/Connects (control_neutral, plant_neutral) {}
Architecture/Connects (control_down, plant_down) {}
