Model-based embedded design
I have been investigating several modeling systems for my January 18 cover story on embedded software shortcuts. Instead of a traditional written specification, these systems require a formal graphical representation that defines the functions and behavior of the proposed system. In general, most system modeling programs allow the user to construct a system representation by selecting pre-built blocks from a library and connecting them together to form the graphical model. One of the primary benefits of system modeling is the ability to simulate the embedded system’s operation prior to committing the design to hardware. A graphical model coupled with a simulator and code generator can also produce operational system software even before the prototype hardware is available. Some modeling systems offer reverse engineering to automatically synchronize and update the model when you change object code in the lab. Modeling programs also allow you to extract system data to automatically create system documentation.
Although there are many ways to model a system, one of the most widely used standards is the Unified Modeling Language (UML). This standard is maintained by the Object Management Group (OMG) and you can download the latest version of the specification without charge from their website. They offer plenty of tutorials and links to educational material for new or potential users. As defined by Wikipedia, UML is a non-proprietary graphical technique for capturing the analysis and design of object-oriented software. The latest UML specification defines thirteen diagram types to document the software system from the behavior, interaction, and structure points of view. IBM’s Rational Rose and Rhapsody from Telelogic are both commercial UML-based modeling packages.















