Sam, Sally i Andy kupują ubrania. Muszą dzielić między siebie jedną przymierzalnię. Każde z nich rozgląda się po sklepie przez około 12 minut, a następnie korzysta z przymierzalni przez 3 minuty (oba czasy pochodzą z rozkładu normalnego). Symulacja opisanej sytuacji może zostać zaimplementowana w ten sposób:

Simulation Begin Class FittingRoom; Begin Ref (Head) door; Boolean inUse; Procedure request; Begin If inUse Then Begin Wait (door); door.First.Out; End; inUse:= True; End; Procedure leave; Begin inUse:= False; Activate door.First; End; door:– New Head; End;

Procedure report (message); Text message; Begin OutFix (Time, 2, 0); OutText (": " & message); OutImage; End;

Process Class Person (pname); Text pname; Begin While True Do Begin Hold (Normal (12, 4, u)); report (pname & " is requesting the fitting room"); fittingroom1.request; report (pname & " has entered the fitting room"); Hold (Normal (3, 1, u)); fittingroom1.leave; report (pname & " has left the fitting room"); End; End;

Integer u; Ref (FittingRoom) fittingRoom1;

fittingRoom1:– New FittingRoom; Activate New Person ("Sam"); Activate New Person ("Sally"); Activate New Person ("Andy"); Hold (100); End;