module observer_subject { interface Subject; interface Observer { void notifier(in Subject s); }; typedef sequence ObserverList; exception DejaAttache {}; exception PasAttache {}; interface Subject { void attach(in Observer o) raises (DejaAttache); void multiple_attach(in ObserverList l) raises (DejaAttache); void detach(in Observer o) raises (PasAttache); void provoc_modif(); }; };