??? 07/06/10 01:07 Read: times |
#177112 - Reverse State Tables Responding to: ???'s previous message |
Andy Neil said:
I'm currently using Enterprise Architect, which seemed very reasonably priced to me:
http://www.sparxsystems.com.au/products/...index.html Andy Neil said:
There are also supposed to be "reverse engineering" facilities...
Similar reverse engineering facilities I looked at in another package some while ago was designed to recognize code sequences of the type that it knew how to build in the forward direction and re-display those in the state table format. Not so useful though if the "code" had been compiled with a whole bunch of optimizations turned on. On the other hand in this case maybe the tool may be "reverse engineering" from the language source code level as opposed to the object code level. I hesitate to try out this tool on an evaluation basis due to the learning time required before being able to evaluate in a robust way. On the other hand almost every embedded system firmware design I do has at least one and sometimes more than a half dozen state machines in it. I have found maintenance and extensibility to be extremely easy at the C code level. So have not had a strong incentive to go looking at tools. Soon I may be working on a much more complex project that uses an ARM SOC such as the AT91SAM9G45. This could potentially have some large state machines with 35+ states that may be good to manage with a tool - so I'll keep my eyes and ears open. I do have to say that after reading the product web site that you linked for this Enterprise Architect that a really good use for this tool would be for documenting state machines in certain medical products. Most medical gadgets that I worked on have required some rather robust design documentation to requirements tracking. Also required was some full and detailed code flow charts. Something like this Enterprise Architect appears to have a suite of features that could lend themselves to the rigor that I used to take care of with lots of work in Visio and a tagged requirements tracking system I designed into a WORD document format using VBA embedded into the DOC file. Michael Karas |