method undeploy node =
assert (self#is_root node);
let service = self#service node in
let deployed, nodes = Hashtbl.find services service in
assert !deployed;
deployed := false;
(* itering on nodes of the current service *)
List.iter
(fun n ->
if not (self#is_root n) then n#hide ();
view#iter_succ_e
(fun e -> match self#edge_kind e with
| Service.Inter_services | Service.Both -> e#show ()
| Service.Inter_functions -> e#hide ())
n)
!nodes