google-code-export / umple

Automatically exported from code.google.com/p/umple
1 stars 0 forks source link

Multiple do activities and chive blocks should all be possible #635

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
If there are multiple do activities in a state (directly written in a state, or 
via mixing) or multiple do activities in an active block, then they should 
trigger multiple concurrent blocks. Currently there are parsing issues / code 
gen issues and various other problems

See also issue 388

The following code should all work, assuming the methods blah and so on are all 
written too.

class X {
  sm {
    s1 {
      // two concurrent processes, both of which terminated on e1 transition
      do {blah1();};
      do {blah2();};
     e1 -> s2;
    }
    s2 {}
  }
}

class Y {
  active {blah3()};
  active {blah4()};
}

class Z {
  active Cpp {blah3()};
  active Java {blah4()};
}

class A {
  active Cpp {blah3()} Java {blah4()};
}

class B {
  sm {
    s1 {
      // two concurrent processes, both of which terminated on e1 transition
      do {blah3();};
     e1 -> s2;
    }
    s2 {}
  }
}
// Mixin
class B {
  sm {
    s1 {
      do {blah4();};
    }
  }
}

Many more similar test cases will also be needed to cover all cases.

Original issue reported on code.google.com by TimothyCLethbridge on 21 Sep 2014 at 1:08

GoogleCodeExporter commented 9 years ago

Original comment by TimothyCLethbridge on 22 Sep 2014 at 5:47

GoogleCodeExporter commented 9 years ago
Multiple activity support was added in r4628

Original comment by ac.ring...@gmail.com on 24 Oct 2014 at 2:58

GoogleCodeExporter commented 9 years ago

Original comment by ac.ring...@gmail.com on 2 Dec 2014 at 8:52