// ************************************************************************** //
//                                                                            //
//    eses                   eses                                             //
//   eses                     eses                                            //
//  eses    eseses  esesese    eses   Embedded Systems Group                  //
//  ese    ese  ese ese         ese                                           //
//  ese    eseseses eseseses    ese   Department of Computer Science          //
//  eses   eses          ese   eses                                           //
//   eses   eseses  eseseses  eses    University of Kaiserslautern            //
//    eses                   eses                                             //
//                                                                            //
// ************************************************************************** //
// The program below has cyclic dependencies that can not be resolved. The 
// guarded actions are:
//    o2     => o1 = True
//    o1&o3  => o2 = True
//    o4&!o1 => o2 = True
//    True   => o3 = True
//    True   => o4 = True
// ************************************************************************** //


module P20(event o1,o2,o3,o4) {
      if(o2) emit(o1);
    ||
      if(o1 & o3) emit(o2);
    || 
      if(!o1 & o4) emit(o2);
    ||
      emit(o3);
    || 
      emit(o4);
}
drivenby {
    nothing;
}