list of dots Digital Research Alliance of Canada logo  NSERC logo  University of Ottawa logo / UniversitĂ© d'Ottawa

User Manual    [Previous]   [Next]   

E229 Two Times Renaming

Umple semantic error related to state machine operators

When a state is to be renamed, it should not be renamed more than one time. If this happens, the Umple compiler detects that and raises this error.

Example

// In this example, there is an error
// because class C tries to
// rename states s0 of trait T two times.
trait T {
  sm{
    s0{
      e1-> s1;
      s11{ e12-> s12; }
      s12{ e11-> s11; }   
    }
    s1{ e0-> s1;  }  
  }
}
class C {
  isA T<sm.s0 as state0, sm.s0 as state01>;
}
      

Load the above code into UmpleOnline