Embedded Systems Design Europe - June/July 2008 - (Page 26) MDD & IDEs the changes in the code. Figure 4 shows that the variable is now visible in the model and the operation name changed. The code and the documentation in the model remain in synch. It’s important to note that making changes such as these get reflected in all references to the effected element within the model, in other words, all diagrams that show the attribute are updated to reflect the change. In a similar fashion, performing an edit of the model is also reflected in code. Keeping both the model and code in synch ensures that your documentation represented in the model accurately reflects the actual implementation. WORKING IN A TOTALLY INTEGRATED ENVIRONMENT By integrating design (MDD), development (IDE), and deployment (RTOS and middleware) into one seamless, bidirectional workflow environment, both systems and software engineers have a common framework that includes all phases of development in one tightly integrated tool chain. Rather than using a traditional “waterfall” approach where separate processes are used for different aspects of development – for example, separating requirements analysis through design from the implementation through deployment process – now a tight, iterative model-based approach can be used to rapidly construct and respond to requirements changes throughout the development process. The MDD tools within this bidirectional environment can then generate production quality C, C++, Java, and Ada source code automatically from the UML models, which can be fed into the IDE’s C/C++, Java, and Ada compilers, and the object code then transferred to the target. The developer can then take programs running on the target, set breakpoints on the graphics in the modeling environment, and have the program stop at the same point in the IDE’s source-level debugger. Working from the other direction, a developer can load and debug the code in the IDE environment and set break points as well. The modeling environment will highlight the graphical diagrams that correspond with the breakpoints, allowing a seamless, bidirectional workflow in a clearly understood environment that’s most natural to the user’s development process. The resulting debugged application is then downloaded and deployed on the target through the IDE. Now the models, from which the code was generated, are linked to the executable enabling run-time analysis and debug. Lastly, any changes made as compiler errors that are uncovered early in the development cycle, but in the worst case subtle incorrect behavior may be implemented that may not be uncovered until late in the development cycle resulting in product delays. A bidirectional IDE/MDD framework offers developers the benefit of automatic documentation, keeping the design and the code in synch with DMCA. Reducing the learning curve and increasing effectiveness by working at either the code or model level makes a bidirectional workflow possible by enabling the developer to change one view and have all the other views change automatically. Since this happens automatically, the developer need not change the way he wishes to work: the workflow environment works the way he does, at either the model or the code level. As the work environment automatically documents the design, the code and the documentation are always up to date, enabling embedded and real-time development projects to move in any direction the team needs to go. For example, Figure 3 shows a snippet of code for a temperature sensor and a representation of the code in an MDD environment. We may want to perform some refactoring in the code, renaming the data variable to clarify the purpose of the variable like temp for temperature and change the name of the operation to reflect reading the temperature variable. Once we’re done with the edits from within the Eclipse editor and save the code, the modeling environment automatically detects the change and automatically updates the model to reflect 26 in the model or code is automatically synchronized, ensuring that the design and the code are always in step with each other. Paul Urban (purban@us.ibm.com) is senior marketing manager at Telelogic, an IBM company. Currently, he works with customers to develop software and systems Model Driven Development tools and methods. JUNE – JULY 2008 | embedded systems design europe | www.embedded.com/europe http://www.embedded.com/europe
Table of Contents Feed for the Digital Edition of Embedded Systems Design Europe - June/July 2008 Embedded Systems Design Europe - June 2008 Contents Work in Progress to Define Compact PCI Plus Power.org Demonstrates New Tools Project Supports Multi-core System Programming Altium Links Electronic to Mechanical Design PLDs Look to Cut Power Budget and Costs Project to Provide Coverage Analysis Tool Microsoft Details Windows Embedded Update Cover Feature: Leveraging Virtual Hardware Platforms for Software Allocating Memory in MATLAB-to-C Code MDD & IDEs: Making the Twain Meet in Embedded System Designs Debugging Mixed Signal Designs for Infrequent & Random Events Why Open Source is the Natural Choice for High-security Systems Bringing the Benefits of Low Power CPUs to Modular Design New Products Advertising Contacts Embedded Systems Design Europe - June/July 2008 Embedded Systems Design Europe - June/July 2008 - Embedded Systems Design Europe - June 2008 (Page 1) Embedded Systems Design Europe - June/July 2008 - Embedded Systems Design Europe - June 2008 (Page 2) Embedded Systems Design Europe - June/July 2008 - Contents (Page 3) Embedded Systems Design Europe - June/July 2008 - Contents (Page 4) Embedded Systems Design Europe - June/July 2008 - Contents (Page 5) Embedded Systems Design Europe - June/July 2008 - Project Supports Multi-core System Programming (Page 6) Embedded Systems Design Europe - June/July 2008 - Project Supports Multi-core System Programming (Page 7) Embedded Systems Design Europe - June/July 2008 - Altium Links Electronic to Mechanical Design (Page 8) Embedded Systems Design Europe - June/July 2008 - Altium Links Electronic to Mechanical Design (Page 9) Embedded Systems Design Europe - June/July 2008 - PLDs Look to Cut Power Budget and Costs (Page 10) Embedded Systems Design Europe - June/July 2008 - PLDs Look to Cut Power Budget and Costs (Page 11) Embedded Systems Design Europe - June/July 2008 - Microsoft Details Windows Embedded Update (Page 12) Embedded Systems Design Europe - June/July 2008 - Microsoft Details Windows Embedded Update (Page 13) Embedded Systems Design Europe - June/July 2008 - Cover Feature: Leveraging Virtual Hardware Platforms for Software (Page 14) Embedded Systems Design Europe - June/July 2008 - Cover Feature: Leveraging Virtual Hardware Platforms for Software (Page 15) Embedded Systems Design Europe - June/July 2008 - Cover Feature: Leveraging Virtual Hardware Platforms for Software (Page 16) Embedded Systems Design Europe - June/July 2008 - Cover Feature: Leveraging Virtual Hardware Platforms for Software (Page 17) Embedded Systems Design Europe - June/July 2008 - Allocating Memory in MATLAB-to-C Code (Page 18) Embedded Systems Design Europe - June/July 2008 - Allocating Memory in MATLAB-to-C Code (Page 19) Embedded Systems Design Europe - June/July 2008 - Allocating Memory in MATLAB-to-C Code (Page 20) Embedded Systems Design Europe - June/July 2008 - Allocating Memory in MATLAB-to-C Code (Page 21) Embedded Systems Design Europe - June/July 2008 - MDD & IDEs: Making the Twain Meet in Embedded System Designs (Page 22) Embedded Systems Design Europe - June/July 2008 - MDD & IDEs: Making the Twain Meet in Embedded System Designs (Page 23) Embedded Systems Design Europe - June/July 2008 - MDD & IDEs: Making the Twain Meet in Embedded System Designs (Page 24) Embedded Systems Design Europe - June/July 2008 - MDD & IDEs: Making the Twain Meet in Embedded System Designs (Page 25) Embedded Systems Design Europe - June/July 2008 - MDD & IDEs: Making the Twain Meet in Embedded System Designs (Page 26) Embedded Systems Design Europe - June/July 2008 - Debugging Mixed Signal Designs for Infrequent & Random Events (Page 27) Embedded Systems Design Europe - June/July 2008 - Debugging Mixed Signal Designs for Infrequent & Random Events (Page 28) Embedded Systems Design Europe - June/July 2008 - Debugging Mixed Signal Designs for Infrequent & Random Events (Page 29) Embedded Systems Design Europe - June/July 2008 - Debugging Mixed Signal Designs for Infrequent & Random Events (Page 30) Embedded Systems Design Europe - June/July 2008 - Why Open Source is the Natural Choice for High-security Systems (Page 31) Embedded Systems Design Europe - June/July 2008 - Why Open Source is the Natural Choice for High-security Systems (Page 32) Embedded Systems Design Europe - June/July 2008 - Why Open Source is the Natural Choice for High-security Systems (Page 33) Embedded Systems Design Europe - June/July 2008 - Bringing the Benefits of Low Power CPUs to Modular Design (Page 34) Embedded Systems Design Europe - June/July 2008 - Bringing the Benefits of Low Power CPUs to Modular Design (Page 35) Embedded Systems Design Europe - June/July 2008 - Bringing the Benefits of Low Power CPUs to Modular Design (Page 36) Embedded Systems Design Europe - June/July 2008 - New Products (Page 37) Embedded Systems Design Europe - June/July 2008 - New Products (Page 38) Embedded Systems Design Europe - June/July 2008 - New Products (Page 39) Embedded Systems Design Europe - June/July 2008 - New Products (Page 40) Embedded Systems Design Europe - June/July 2008 - New Products (Page 41) Embedded Systems Design Europe - June/July 2008 - New Products (Page 42) Embedded Systems Design Europe - June/July 2008 - Advertising Contacts (Page 43) Embedded Systems Design Europe - June/July 2008 - Advertising Contacts (Page 44)
For optimal viewing of this digital publication, please enable JavaScript and then refresh the page. If you would like to try to load the digital publication without using Flash Player detection, please click here.