component TimedCargoRouteEntity is { state { } invariant { } interface { req ir_clktck: clockTick(); } operations { req or_clktck: { let time : STATE_VARIABLE; post ~time = time + 1; } } map { ir_clktck -> or_clktck (); } } component Vehicle is subtype TimedCargoRouteEntity (int \and beh) { state { } invariant { } interface { req ir_clktck: clockTick(); } operations { req or_clktck: { let time : STATE_VARIABLE; post ~time = time - 1; } } map { ir_clktck -> or_clktck (); } }