// **************************************************************************
//
//    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 example has a if-else statement inside of which there is a flow statement 
// 
// ******************************************************************************




module FlowIfElse(){
    bool a;
    int b;
    hybrid real c;
    a = true;
    b > 0;
    c = 0.5;
    if (a) {
	l1,l2:flow{
	    drv(c) <- 1.0;
	}until(cont(c) >= 1.0);
    }
    else{
	l3,l4:flow{
	    drv(c) <- -1.0;
	}until(cont(c) <= 0.0);
    }
    next(b) = b+1;
    next(a) = !a;
    l5:pause;    
}