From: Ben H. <si...@lo...> - 2011-11-09 13:51:35
|
Thanks for this, At present we (our programmers) just design the code in a brief architectural diagram (Visio) and Word; then implement it in C, comment it well, and then generate documentation from the comments (moving to use Doxygen for that). >From what you're saying, the design process begins with external UML modelling tools of some sort? What was the Visio based one which you used? Thanks, Ben -----Original Message----- From: AKS [mailto:aun...@gm...] Sent: 09 November 2011 11:33 To: General mailing list for gumstix users. Subject: Re: [Gumstix-users] UML, Quantum Programming, Embedded Statecharts for Gumstix Hi Ben I have been using Ubuntu on Gumstix Overo COM and developed drivers and posix codes on Monta Vista Linux. And I think state machines are just condition checking like switch or if - else if - else and function pointers, so you can easily create hierarchial state machines using nested switch statements and modules. I think for pure embedded systems (without a RTOS or a simple soft RTOS, I have used a Visio based state chart making software. So that tool will convert nested FSMs you have drawn into text file with events and transactions and destination state. Those text files can be parsed by a C file inclusion trick so that they will be transformed into state machine C code in compile time. If I remember the code use #ifdef loop_x #include "xyz.c", the c file is included in abc.h file, the same abc.h includes the text file .def file, so using conditional parsing using #ifdef, if that file is being parsed for xth time then it is included. As you can see c file inclusion will bloat the memory and that was deadly for embedded system. But that trick was necessary because the platform designers want to hide implementations detail from application developers and it has to do in that way so that if an application developer wants to add a new state machine then he can just edit that .def file. That was in C and so no object orientation or information hiding like in C++. But for this Gumstix, you are using full fledged Linux, I cannot say for OE/Armstrong but I use Ubuntu and it is as good as Monta Vista and you can still make Ubuntu hard real time if you want. So if you want to add state machine you can just code. Or if you are a platform guy you can create simpler way to achieve that allows apps developers to add new events, transactions, destination state in C++ a fully OOP. For UML to C++, you can use tools like Borland Architect. I have played with such a tool but I found they are not that useful for embedded firmware. I may be wrong, but this is my opinion. I hope you got some pointers now. Cheers! On 11/9/11, Ben Harrison <si...@lo...> wrote: > Apologies if this is too far off topic, > > > > I've been experimenting with the Gumstix Overo platform for an upcoming > project. I've cross compiled application code, kernel drivers, attached > custom hardware to it, and generally bent it to my will (with a few hiccups > and assists along the way). > > > > Since the initial experimentation / familiarity phase I've been given a book > "Practical Statecharts in C/C++: Quantum Programming for Embedded Systems" > by Miro Samek, and told to begin using Quantum Statecharts as described > therein. These are to be used for providing design, management, testing, > traceability and documentation for all of the code within the overall > system, including the code which we create for the Gumstix. > > > > I know this isn't specifically a Gumstix related question yet, but here's > the specific bit - The Quantum Statechart Framework as described in the > above reference provides code examples and hints towards specific plug-ins > for different embedded hardware platforms. > > > > -Has anyone used this process successfully on the Gumstix? > > -Would anyone be able to point in the direction of any support packages / > plug-ins for the Gumstix within this framework or one which could be > modified to suit? > > > > Thanks, > > Ben > > > > ---------------------------------------------------------------------------- -- RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1 _______________________________________________ gumstix-users mailing list gum...@li... https://lists.sourceforge.net/lists/listinfo/gumstix-users |