Date post: | 20-Jan-2015 |
Category: |
Technology |
Upload: | bill-duncan |
View: | 716 times |
Download: | 7 times |
®
IBM Software Group
© 2008 IBM Corporation
Improve Productivity by Leveraging Existing Code for Embedded Software Development Paul Urban, IBM
IBM Software Group | Rational software
2
Challenges facing developers
Increasing productivity while design complexity increases
Managing changing requirements
Poor communication with customer on code level alone Some documentation is still required
Target hardware may not be available for early prototyping
More documentation required for embedded systems
Collaboration with large teams, often located globally
Long learning curve for new team members Maintenance of long life products is difficult with staff changes
IBM Software Group | Rational software
3
Typical software development projects Typical software projects consist of new code, modifications to existing
code, existing code not changing and third-party libraries
Documentation for code is often out of date, if it exists at all
Third-party librariesExisting code
New featuresModified code
IBM Software Group | Rational software
4
Development process is evolving…
t1960 1970 1980 1990 2000 2010
ASMC
Model Driven Development
MDD
IBM Software Group | Rational software
5
Engineers report…MDD more effective then traditional hand coding
Embedded Market Forecasters 2006 Survey Results
Documented in “What Do You Do When the Horse You’re Riding Drops Dead?: Why Model Driven Design is Emerging as a Preferred Best Practice”
IBM Software Group | Rational software
6
Proven advantages of MDD
Embedded Market Forecasters 2006 Survey Results
Documented in “What Do You Do When the Horse You’re Riding Drops Dead?: Why Model Driven Design is Emerging as a Preferred Best Practice”
IBM Software Group | Rational software
7
Model-driven development Model-driven development (MDD) enables developers to capture the design
using graphical models Visualizing design concepts increases understandability
Use Object Management Group (OMG) Unified Modeling Language (UML) or a domain-specific language (DSL)
Achieving the full benefits of MDD requires model and code synchronization
IBM Software Group | Rational software
8
Re-use software assets Rhapsody can incorporate external code to
Reuse code from other projects as a library
Integrate code developed by a third party
Import code generated from another tool
Such code can be: Viewed externally (code visualization)
Provides easy referencing from the model
Automatically allows graphical visualization of your software
Seamless workflow between model and hand-written code
Automatically reverse engineered to become part of the model
RTOS
LegacyCode
Rhapsody Real-Time Framework
Rhapsody Generated Code
IBM Software Group | Rational software
9
Visualize existing and third-party code Visualizing code clarifies the structure and architecture of the
application.
Streamlined reverse engineering and visualization workflow
Automatic generation of diagrams from code for documentation
IBM Software Group | Rational software
10
Integrating existing and third-party code More easily understand interfaces between existing code and new features
New features
External code
IBM Software Group | Rational software
11
Modify existing code Dynamic model and code collaboration
Code respect enables reuse while maintaining the structure, naming, location and order of existing code
Reverse-engineer existing code, changes at code level round-trippedinto model
Respect
IBM Software Group | Rational software
12
Rhapsody works the way you do Work at the code or model level
Reduce learning curve and increase effectiveness
Dynamic Model Code Associativity (DMCA) keeps design and code in sync Change one view, the others change automatically
Critical for realtime embedded software development
IBM Software Group | Rational software
13
Model-driven testing Bring the benefits of abstraction and automation to testing
Reduce defects early in the process when they are less costly to fix
Deliver products meeting customer expectations
Simulation
Finding & Correcting Errors
Sequence DiagramsRequirements-based testing Automated unit testing
Host based Target based
IBM Software Group | Rational software
14
Simulation, execution and animation Simulate to verify that model is correct
Best practice for avoiding errors and thereby helping to reduce development cost
Enhanced communication of intended behavior to customer
Execute on the target and animate on the host to verify the application is correct
IBM Software Group | Rational software
15
Demo
IBM Software Group | Rational software
16
Summary Rhapsody visualizes existing code to improve communication
A picture is worth a thousand words
Documents undocumented code using customizable formats
View structure and architecture of the current design
Develop complete applications while including existing libraries
Rhapsody enables you to work the way you want Work in the model or code with changes synchronized
Automates tedious coding tasks
Development continues even when target hardware is not available Leverage external code into your application
Design level debugging enables early validation of design functionality
IBM Software Group | Rational software
17
For more information To learn more, please visit: www.telelogic.com
Learn about IBM Rational® software at:IBM Rational softwareIBM Rational Software Delivery PlatformProcess and portfolio managementChange and release managementQuality managementArchitecture management
Rational trial downloads Leading Innovation Web site developerWorks® Rational
IBM Rational TV IBM Business Partners IBM Rational case studies
IBM Software Group | Rational software
18
Copyright information
© Copyright IBM Corporation 2008
IBM CorporationSoftware GroupRoute 100Somers, NY 10589U.S.A.
Produced in the United States of AmericaOctober 2008All Rights Reserved
IBM, the IBM logo, ibm.com, Rational, and Telelogic are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. If these and other IBM trademarked terms are marked on their first occurrence in this information with a trademark symbol (® or ™), these symbols indicate U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at “Copyright and trademark information” at ibm.com/legal/copytrade.shtml
Other company, product, or service names may be trademarks or service marks of others.
Java and all Java-based trademarks and logos are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
References in this publication to IBM products and services do not imply that IBM intends to make them available in all countries in which IBM operates. The information contained in this documentation is provided for informational purposes only. While efforts were made to verify the completeness and accuracy of the information contained in this documentation, it is provided “as is” without warranty of any kind, express or implied. In addition, this information is based on IBM’s current product plans and strategy, which are subject to change by IBM without notice. IBM shall not be responsible for any damages arising out of the use of, or otherwise related to, this documentation or any other documentation. Nothing contained in this documentation is intended to, nor shall have the effect of, creating any warranties or representations from IBM (or its suppliers or licensors), or altering the terms and conditions of the applicable license agreement governing the use of IBM software.
RAP14028-USEN-00