Author Topic: Using executable state machines - some questions  (Read 125 times)

David Hagood

  • EA Novice
  • *
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Using executable state machines - some questions
« on: February 26, 2021, 09:12:31 am »
I am wondering what the current state of the EA executable state machine generation is - is it really possible to implement non-trivial state machines and code generate them?

Some background on my needs: I am doing radio communications protocol development - think cellular, or trunked radio like public safety work. Currently I am advising a customer on setting up a project team to design such a system, and I need to advise them on how to actually implement the protocol parts of the work. Now, I've done this in the past using SDL and SDL tools, and I really found that doing model driven development was The Way To Go.
I'd like to be able to recommend using a tool like EA, and doing the modeling using UML state charts, rather than using SDL tools, but I am now starting to wonder if EA is really up to the task of generating a real-time protocol. I am trying to prepare a simple example to show my customer how it's done, and I've been running into some issues:
I don't see how to have the state machine send signals back to the entity generating the event - or for that matter, just sending a signal to the environment and letting it figure out the routine. It looks like that's not easy in the state chart, and that I'd have to embed an activity chart to do that. But then, can I set up a simulation of an executable state machine with an activity chart in it?
I don't see a graceful way to do timeouts, or timers in general.
I don't see how to take a Message Sequence Chart and use that to create a simulation environment to verify the state machine correctly implements the MSC.

I'm getting very close to changing my advice to the customer, and telling them to use a different tool - but a) that tool is a lot more expensive than EA and b) I would rather not have to change my advice.


  • EA User
  • **
  • Posts: 214
  • Karma: +0/-2
    • View Profile
Re: Using executable state machines - some questions
« Reply #1 on: February 26, 2021, 04:14:26 pm »
Hi, David

I got some experience in this field. UML state machines are really complex. In real development projects I got to strip down that semantics to the projects needs. Otherwise you'll end up nowhere. SDL and their tools seem to be such a strip-down.

But doing so, you are lost when trying to apply a state machine generator that does not know about your project.

My solution to this is: Be quick in creating your own generator - and do it new for a new context. It is not very easy. However, once you conceur the tools - I am using XSLT2, transforming the XMI export from EA - a new generator is done in a week, hierarchical and parallel.
« Last Edit: February 26, 2021, 05:18:49 pm by ngong »