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