Book a Demo

Author Topic: Composite states with regions  (Read 5085 times)

Dave.B

  • EA User
  • **
  • Posts: 94
  • Karma: +0/-0
    • View Profile
Composite states with regions
« on: May 19, 2008, 08:28:33 pm »
If I create a state with a composite state chart that has regions (i.e. the super-state appears in it's own composition diagram), then these regions also appear on the state-element in its containing parent diagram (where it is shown as a composite). The problem with this is that if these regions are moved in the composite state they affect the region positions within the super-state in the composition diagram, and vice-versa. This means that the composite state has to be unduly large in its parent diagram.

Shouldn't the regions be hidden when the state appears as a composite?

Thanks for the help,
Dave B.

PS Using EA v7.1.829.

Frank Horn

  • EA User
  • **
  • Posts: 535
  • Karma: +1/-0
    • View Profile
Re: Composite states with regions
« Reply #1 on: May 19, 2008, 09:45:39 pm »
I reported this as a bug in the days of EA 7.0 and got the answer that it would be fixed in some future release. Looks like they were not talking about 7.1.

Anyway I think that the handling of concurrent state regions in EA is a complete mess. Not only do they move around in diagrams, but you don't see them in the project browser, can hardly move them from one state to another, and can hardly determine to which state they actually belong.

I've given up using them for the time being. Instead I do something very un-UML: I've introduced a stereotype "region" for states and divide my states into substates with this stereotype. It's against the grain, but at least EA doesn't mess up my diagrams.

Dave.B

  • EA User
  • **
  • Posts: 94
  • Karma: +0/-0
    • View Profile
Re: Composite states with regions
« Reply #2 on: May 19, 2008, 10:19:02 pm »
Yes, you are right, state regions are very inflexible. Apart from the lack of visibility in the model, which must affect code generators, there are several management issues, some of which you have already mentioned.

One of these that has annoyed me is that regions are always visualised as  horizontal partitions of the state-element. Why can't we divide up the super-state in arbitrary horizontal and vertical divisions?

As for the project browser limitations, there is a general problem of not being able to clone stuff. E.g. using the project browser it is possible to move a classes attributes and operations to another class, but it is impossible to copy (i.e. clone) them. But that's going a bit off topic.

Dave B.