rhapsody leveraging software for reuse

18
® IBM Software Group © 2008 IBM Corporation Improve Productivity by Leveraging Existing Code for Embedded Software Development Paul Urban, IBM

Upload: bill-duncan

Post on 20-Jan-2015

724 views

Category:

Technology


7 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Rhapsody Leveraging Software For Reuse

®

IBM Software Group

© 2008 IBM Corporation

Improve Productivity by Leveraging Existing Code for Embedded Software Development Paul Urban, IBM

Page 2: Rhapsody Leveraging Software For Reuse

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

Page 3: Rhapsody Leveraging Software For Reuse

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

Page 4: Rhapsody Leveraging Software For Reuse

IBM Software Group | Rational software

4

Development process is evolving…

t1960 1970 1980 1990 2000 2010

ASMC

Model Driven Development

MDD

Page 5: Rhapsody Leveraging Software For Reuse

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”

Page 6: Rhapsody Leveraging Software For Reuse

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”

Page 7: Rhapsody Leveraging Software For Reuse

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

Page 8: Rhapsody Leveraging Software For Reuse

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

Page 9: Rhapsody Leveraging Software For Reuse

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

Page 10: Rhapsody Leveraging Software For Reuse

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

Page 11: Rhapsody Leveraging Software For Reuse

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

Page 12: Rhapsody Leveraging Software For Reuse

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

Page 13: Rhapsody Leveraging Software For Reuse

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

Page 14: Rhapsody Leveraging Software For Reuse

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

Page 15: Rhapsody Leveraging Software For Reuse

IBM Software Group | Rational software

15

Demo

Page 16: Rhapsody Leveraging Software For Reuse

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

Page 17: Rhapsody Leveraging Software For Reuse

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

Page 18: Rhapsody Leveraging Software For Reuse

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