Embedded Systems Design Europe - June/July 2008 - (Page 25) MDD & IDEs not nearly the disruptive force it used to be. In an MDD environment using tight synchronization between the code and the model, the developer can continue developing code or move to the model level, reusing legacy code with better understanding of its functionality through visualization. OPTIMAL APPROACH Applications that may have been developed over many years may be rather large, sometimes reaching millions of lines of code. The optimal approach to effectively reverse engineer a large code base is to reverse engineer smaller portions of the code in an iterative fashion. A large application is generally structured in a modular fashion; reverse engineering should be approached at one module at a time. For example, Figure 1 shows how code for a mobile handset could be represented visually in a UML class diagram. The diagram shows the dependencies between the files and from this the structure of the application can be visualized. The code to reverse engineer is mapped into corresponding constructs defined in UML. In this example, a profile tailoring UML for the C developer is used to map the code to files, functions and data, which are much more intuitive for the C developer. With the ability to visualize external code into an ongoing project, today’s powerful MDD environments are the time- and labor-saving techniques that developers need to meet tight schedules. Developers can reuse code from other projects, and integrate code developed by third-party providers. In addition, code generated in other tools is no longer a problem, because the MDD environment is tool agnostic and accepts code from other tools. Now this code can be viewed externally, providing an easy reference from the model. In addition, code visualization enables developers to graphically visualize their intellectual property (IP). This bidirectional process enables developers to seamlessly exchange between model and handwritten code; moreover, the legacy code can be automatically reverse engineered to become part of the model. The net effect is that visualizing the code clarifies the structure and architecture of the application, accelerating the team’s ability to deliver applications on time and clearly communicate designs amongst each other. Should implementation across a widespread project prove too much, another approach that can be taken is to adopt MDD for a new portion of the design. In this case the code being developed (or that may already exist for the rest of the application) can be reverse engineered into the model as an external reference. This provides the developer the ability to visualize how the new functionality being created in the model is interacting with the other parts of the applica-tion, and the modeler can easily reference this code from within the model. Figure 2 shows how the new functionality being created in the model for a Bluetooth Reader and Bluetooth Writer can be shown working with the other code being developed for the application. The modeler can see the content of the external code from within the modeling environment and can easily leverage the functionality provided by the MDD environment. This same concept can also apply to third-party libraries, too. In addition, common interfaces to libraries, such as studio library, can be added as external references in the modeling environment enabling the developer to see where third-party libraries are used within the application. AUTOMATIC DOCUMENTATION Documentation, a necessary but typically painful and slow task, is usually not in step with the latest code design, which can lead to many problems. These problems arise when a developer reuses the existing code, expecting a certain behavior based on out-of-date documentation. This may be as simple www.embedded.com/europe | embedded systems design europe | JUNE – JULY 2008 25 http://www.dvsinc.com http://www.dvsinc.com 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.