IMPLEMENTATION SimulationImp REFINES Simulation IMPORTS BASIC_IO , affichage , TP3WinnieInterface OPERATIONS main = VAR ch , ctr , IdParking IN ch := 1 ; ctr := MAXINT ; IdParking := 0 ; WHILE ( ( ch /= 0 ) & ( ctr > 0 ) ) DO ctr := ctr - 1 ; affichageMenu ; ch <-- INTERVAL_READ ( 0 , 4 ) ; CASE ch OF EITHER 0 THEN skip OR 1 THEN XAjout_Voiture ( IdParking ) OR 2 THEN XRetire_Voiture ( IdParking ) OR 3 THEN XNbLibre ( IdParking ) OR 4 THEN affichageMenuParkings ; IdParking <-- INTERVAL_READ ( 0 , 10 ) END /* EITHER */ END /* CASE */ INVARIANT ch : 0 .. 3 & ctr : NAT VARIANT ctr END /* WHILE */ END /* VAR */ END /* IMPLEMENTATION */