// **************************************************************************
//
//    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 is used to get familiar with flow statement
// 
// **************************************************************************



module Hybrid16(){
    hybrid real x,y;
    x = 0.0;
    y = 1.0;
    {
    flow{
	drv(x) <- 1.0;
    }until(cont(x) >= cont(y));
    }
    ||
    {
    flow{
	drv(y) <- -1.0;
    }until(cont(x) >= cont(y));
    }
    flow{}until(true);
}

drivenby{
    for(i = 0.. 3)
	pause;
}