let node_id ?port ?comp id =
  match port with
    None -> (id, None)
  | Some p ->
      match comp with
        None -> (id, Some (p,None))
      | Some c -> (id, Some (p, Some c))