I’m just a bit curious. I were at a trial course for embedded UML (Rhapsody from Telelogic) recently and it might be interesting for me. However neither GNU compiler nor FreeRTOS are supported by their IDE yet. After talking to some responsible people I found out that they would like to support FreeRTOS as an alternative to their own real time scheduler but haven’t gotten into it. Regarding GNU compiler they did not really want to do that. There would be a consensus splitting the work of implementing the compiler and FreeRTOS where I would do the compiler implementation and they would do FreeRTOS. It’s not someting written in stone yet or in the near future but beforehand I wanted to know how the interest towards UML and FreeRTOS is. Is someone already using UML for embedded development? Is someone planning to use UML? Regards Matthias
What is the relationship between the UML tool and the RTOS? Is it that the UML tool generates code for designs described in UML to execute ontop of the RTOS and therefore needs to know the API’s etc? In any case I would be very interested in progressing any FreeRTOS.org friendly UML tools. You can contact me directly on r (dot) barry [at] freertos.org. Regards.
Yes this UML tool would generate code and FreeRTOS could be the managing scheduler for events and parallel working code.
I worked for Telelogic at their office in Germany for a practicum a couple of years ago, just before they purchased Rhapsody. The other UML tool that they have is called TAU and was developed in-house. One of the things I worked on was to increase the number of supported embedded targets you could run UML state machines on. Basically the UML tool would generate a bunch of c code which would run the model. Porting was simply a matter of providing the generators with macros to hook into the system calls needed from the target. I did ports to LegOS and OpenOSEK. I can’t see the process being much different for Rhapsody, although I admittedly have never seen the way Rhapsody generates its code.
The QP family of ultra-light, open source, UML state machine frameworks has been just recently ported to FreeRTOS.org. The open source QP should fit very well the lightweight, open-source nature of FreeRTOS.org. QP is not a traditional UML tool. Rather, QP is a lightweight framework, similar to the Rhapsody’s OXF (Object Execution Framework) or the IDF (Interrupt Driven Framework), except QP is designed for manual coding. With QP, coding of modern UML state machines (UML statecharts) directly in C or C++ is a non-issue and no big design automation tools are needed. QP consists of a universal UML-compliant event processor (QEP), a portable event-driven framework (QF), and a portability layer for an RTOS/Kernel of your choice. QP also provides a cooperative as well as a fully preemptive kernel (QK). Current versions of QP include: QP/C and QP/C++, which require about 4KB of code and a few hundred bytes of RAM, and the ultra-lightweight QP-nano, which requires only 1-2KB of code and just several bytes of RAM. QP is described in great detail in the book “Practical UML Statecharts in C/C++, Second Edition”, (Newnes, 2008). The QP port to FreeRTOS is available for download from www.state-machine.com/freertos. The QP port has been tested on the STR912-SK (ARM9) board with the IAR compiler. The QP port comes with a detailed manual in PDF available at http://www.state-machine.com/freertos/QDK_FreeRTOS.pdf. Please visit www.state-machine.com for more details about QP. Miro Samek email@example.com
I just worked on a project that used Quantum Leap’s framwork on a different OS (IPOS). The learning curve was a little steep, much like learning a new language but a little easier. After that it was a very clean way to design state machines. I’m glad I read this here since it might be a nice thing to add to my list of portable tools.
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.