49
® IBM Software Group © 2008 IBM Corporation Improving software development with Telelogic Rhapsody

Rhapsody Software

Embed Size (px)

Citation preview

Page 1: Rhapsody Software

®

IBM Software Group

© 2008 IBM Corporation

Improving software development with Telelogic Rhapsody

Page 2: Rhapsody Software

IBM Software Group | Rational software

2

Systems and software lifecycle management

Requirementsdefinition andmanagement

Analysis and design

Quality management

Release management

Construction

Configuration and change mgmt

Asset management and

reuse

Production

Enterprise architecture/architectural frameworks

Measurement andreporting

Product portfolio management

System lifecycle process management

Page 3: Rhapsody Software

IBM Software Group | Rational software

3

Combined portfolio in action For technical systems development

Requirementsdefinition andmanagement

Analysis and design

Quality management

Release management

ConstructionConfiguration and

change mgmt

Asset management and

reuse

Production

Enterprise architecture/architectural frameworks

Measurement andreporting

Product portfolio management

System lifecycle process management

IBM Rational® Build Forge®

Telelogic DOORS®

Telelogic Focal Point™

EclipseWind River Workbench, other

integrated development environments (IDEs)

Telelogic Rhapsody®IBM Rational Systems Developer

Telelogic Tester™IBM Rational Test RealTime

IBM Rational PurifyPlus™

IBM Rational ClearCase®

IBM Rational ClearQuest®

Telelogic Synergy™Telelogic Change™

IBM Rational Asset Manager

IBM Rational Method Composer, Telelogic Harmony™, IBM Rational Unified Process Systems Engineering plug-in

IBM Rational® ProjectConsole™

Telelogic Dashboard™

Telelogic® System Architect™

Page 4: Rhapsody Software

IBM Software Group | Rational software

4

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 5: Rhapsody Software

IBM Software Group | Rational software

5

Typical software development issues Increasing design complexity

Reusing assets for product lines Nonmodular development of application makes makes product line reuse a

key challenge.

Constant time to market pressures

Difficult to understand designs with no documentation Often the best or only documentation is the code alone

Developer of code is often no longer at the company

New developers are faced with a steep learning curve to understand existing code

Reuse is difficult because of lack of understanding of existing code

Testing performed late in the development cycle, resulting in finding defects when they are the most costly to fix Features dropped from product

Product recalls

Page 6: Rhapsody Software

IBM Software Group | Rational software

6

Key enablers for the software developer

Dynamic model and code

collaboration

Rhapsody

Reuse software assets

Automated unit and integration

testing

Opendevelopmentenvironment

Page 7: Rhapsody Software

IBM Software Group | Rational software

7

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 8: Rhapsody Software

IBM Software Group | Rational software

8

Reuse software assets Rhapsody can incorporate external code to:

Reuse code from other projects

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 IP

Virtually 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 Software

IBM Software Group | Rational software

9

Integrating existing and third-party code More easily understand interfaces between existing code and new features

New features

External code

Page 10: Rhapsody Software

IBM Software Group | Rational software

10

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 11: Rhapsody Software

IBM Software Group | Rational software

11

Working with code and models Increase developer productivity and ease model-driven development

adoption Use tools familiar to coder

Tight integration with IDE Changes in code need to be reflected in model

Code respect helps ensure that the code and model have the same structure

Multilanguage development allows designers to use the C, C++ and Java™ languages in the same model

Page 12: Rhapsody Software

IBM Software Group | Rational software

12

Work the way you want Work at code or model level

Reduce learning curve Increase effectiveness

Design and code are kept synchronized: dynamic model code associativity (DMCA) Change one view, the others change automatically Critical for realtime embedded software development

DMCA

Page 13: Rhapsody Software

IBM Software Group | Rational software

13

Rhapsody integration with Eclipse Integrated model-driven development within Eclipse environment

Work in either the code or Rhapsody; both stay in sync

Leverage Eclipse to tailor environment for your needs

Eclipse code editor

Rhapsody diagram editors

Page 14: Rhapsody Software

IBM Software Group | Rational software

14

Integrated design and debug environment Natural workflow for code-centric developers

Perform design or code-level debugging in single environment

Use Eclipse Intellisense

View build errors

View Rhapsody diagrams

View model information

Page 15: Rhapsody Software

IBM Software Group | Rational software

15

Test and validate early Simulate to verify that model is correct

Best practice to help avoid errors and therefore reduce development cost

Rapid simulation at the design level or even target level debugging

Virtual prototype/panel graphics support

Ideal communications aid for design reviews and to share information

Page 16: Rhapsody Software

IBM Software Group | Rational software

16

Traditional code-centric testing process

Coding test benches manually ...

Error prone;

no fun

Coding test cases manually ...

Difficult;

poor coverage is the norm

Code on host ...

Puzzling;

time consuming

Code on target ...

Frustrating;

expensive

Page 17: Rhapsody Software

IBM Software Group | Rational software

17

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 18: Rhapsody Software

IBM Software Group | Rational software

18

Design and test process integration Virtually seamless integrated process, based on UML 2.0

testing profile Requirements linked to test cases

Easier navigation between design and test artifacts

Design and test—in sync

Automatically generated test execution reports

Design artifactsDesign artifacts

Test artifactsTest artifactsTest execution reportsTest execution reports

Page 19: Rhapsody Software

IBM Software Group | Rational software

19

Creating a Graphical Test Architecture

A Test Architecture is a model of a code-based TestBench

Automatically generated

Updates as model gets updated

19

Page 20: Rhapsody Software

IBM Software Group | Rational software

20

Test Cases Behaviors as Sequence Diagrams

20

Use Sequence Diagrams as graphical test scripts to capture the required behavior

Record and ReUse Animated Sequence Diagrams as test cases for regression testing purposes

Use ATG to automatically generate test cases from the design

Page 21: Rhapsody Software

IBM Software Group | Rational software

21

Test Cases Behaviors as Flowcharts and Code

21

Page 22: Rhapsody Software

IBM Software Group | Rational software

22

Test Execution & Test Reporting

22

Execute/Report on Test Execution

Inputs to SUT and stubs behaviours are played out automatically

Unexpected behaviours are highlighted

Test Execution Reports can be customized to match company/project standards

Page 23: Rhapsody Software

IBM Software Group | Rational software

23

Structural Testing with Rational Test RealTime

Static Analysis

Metrics Reporting

MISRA-C:2004 compliance review

Runtime Analysis

Code Coverage

Memory Profiling

Performance Profiling

23

Analyze user code blocks to ensure quality of the application.

Page 24: Rhapsody Software

IBM Software Group | Rational software

24

Runtime Analysis: Code Coverage

Get insights into program execution

Identify unused and/or untested code

MC/DC Coverage levels for C/C++

Directly correlate all analysis results to test cases and code

24

Page 25: Rhapsody Software

IBM Software Group | Rational software

25

Runtime Analysis: Memory Profiling

Detect hard-to-find memory problems Error Messages

Freeing Freed Memory (FFM)

Freeing Unallocated Memory (FUM)

Freeing Invalid Memory (FIM)

Late Detect Array Bounds Write (ABWL)

Late Detect Free Memory Write (FMWL)

Memory Allocation Failure (MAF)

Core Dump (COR)

Warning Messages Memory in Use (MIU)

Memory Leak (MLK)

Potential Memory Leak (MPK)

File in Use (FIU)

Signal Handled (SIG)

Directly correlate all analysis results to test cases and code

25

Page 26: Rhapsody Software

IBM Software Group | Rational software

26

Runtime Analysis: Performance Profiling

Graphically see where your application is consuming the most time Top functions graph

Performance summary report

26

Page 27: Rhapsody Software

IBM Software Group | Rational software

27

Open development environment• Requirements management

• Configuration management

• Documentation

• Test

• Continuous modeling

• Tool interoperability

• IDEs

• Realtime operating systems and operating

systems (sample)

Co

nfig

uratio

nC

on

figu

ration

m

anag

emen

tm

anag

emen

t

OSsOSs

CompilersCompilers

RhapsodyRhapsody

Req

uirem

ents

Req

uirem

ents

m

anag

emen

tm

anag

emen

t

DocumentationDocumentation

TestTest

HMIHMI

CORBACORBACOMCOM

Pushbutton CORBA (Tao) and COM support

Page 28: Rhapsody Software

IBM Software Group | Rational software

28

Open development environment Reuse existing IP

Work with existing development tools and processes Open configuration management Interface

Interface to any compiler or IDE

Work with any realtime operating system or target

Continue to use existing development tools

Code coverage

Static analysis

Simulink integration

Application programming interface (API) to create custom scripts

Page 29: Rhapsody Software

IBM Software Group | Rational software

29

Summary Rhapsody’s model-driven development environment lets you work the way

you want to Model code associativity synchronizes the model and code

Rhapsody supports reuse of software assets Visualize legacy code to provide clarity

View structure and architecture of the current design

Better understand code that is in “maintenance mode”

Leverage external code into your application

Move forward with model-driven testing to help improve quality and productivity Integrated Verification and Validation with TestConductor & Test RT integration

Rhapsody provides an open environment that allows you to continue to use existing tools

Page 30: Rhapsody Software

®

IBM Software Group

© 2008 IBM Corporation

Appendix

Page 31: Rhapsody Software

IBM Software Group | Rational software

31

Aerospace/defense applications

Aerospace/defense applications

Air traffic control

Avionics

Displays

Navigation

Autopilot

Cabin systems

Communications

Wireless

Secure

Engine controls

Flight controls

Fuel systems

Hydraulic systems

Landing gear

Flight controls

Aerospace/defense applications

Landing systems

Lighting systems

Maintenance systems

Military vehicles

Manned

Unmanned

Missiles

Mission software

Power management

RadarSatellites

Training systems

Weapons systems

Stores management

Fire control

Page 32: Rhapsody Software

IBM Software Group | Rational software

32

Automotive applications

Automotive applications

Body/cabin systems

Air bag

Communications - buses (Can and J1850)

Communication gateways

Displays (dashboard)

Digital tachography systems

GPS

HVAC (climate control)

Keyless entry

Lighting (interior/exterior)

Occupant position

Power seat

Power tilt

Power seat belts

Power mirrors

Power roofs

Automotive applications

Body/cabin systems

Power windows

Power sliding doors

Power locks

Radios

Security/anti-theft

Telematics

Tire deflation indicator

Windshield wipers

Chassis control systems

ABS

Power train systems

Cruise controlGlowPlugTransmission/gear box

Page 33: Rhapsody Software

IBM Software Group | Rational software

33

Medical applications

Medical applications

Medical imaging

IMRT

Computed tomography (CT) scanners

Implantable therapeutic devices

Blood oxygenation

Heart lung machines

Pacemakers

Defibrillators

Medical applications

Blood glucose monitors

PAP test

Blood analyzer

Incubator

Oncology care

Infusion pumps and systems

Dental treatment centers

Page 34: Rhapsody Software

IBM Software Group | Rational software

34

Industrial automation applications

Industrial automation applications

Air-conditioning systems

Elevator controls

Home heating systems

Pick and place systems

Semiconductor manufacturing

Industrial automation applications

Wafer inspection systems

Letter sorting systems

Semiconductor component handlers

Industrial process engineering

Page 35: Rhapsody Software

IBM Software Group | Rational software

35

Telecommunications applications

Telecom applications

EVDO

IMS (IP multimedia subsystem)

Intelligent networks

Radio access network for 3G

Routers/switches

Telecom applications

Set-top boxes

Terminal devices (handsets)

Telephony modems

Ultra mobile broadband

Wi-MAX

Page 36: Rhapsody Software

IBM Software Group | Rational software

36

Consumer electronics/office automation applications

Consumer/office applications

CopiersDECT with SMS/MMS

Faxes

Hard drives

Image processing

Multifunction copiers

Printers

Consumer/office applications

Copiers

Printer drivers

Security systems

Industrial printers

TV applications

Cashless point of sale

Mobile data capturing terminals

Page 37: Rhapsody Software

IBM Software Group | Rational software

37

IBM services Customer services

Technical support Client center Administrative support

Consulting Best practices assessment Process and methodology Consulting and mentoring

Training Tool training: dedicated for systems engineers

Dedicated for software engineers Process training, including Harmony process training

and modeling guidelines handbook UML / SysML training Department of Defense Architecture Framework

(DoDAF) training Rapid deployment package Custom courses

Tools Consulting

Customer serviceTraining

Page 38: Rhapsody Software

IBM Software Group | Rational software

38

Rapid deployment package Provides a roadmap for a successful and on-time project

Supports enhanced productivity

Helps reduce risks

Specifically designed for new Telelogic Rhapsody users or existing users beginning a new project

IBM experts work directly with your team

Based on extensive experience in helping users develop systems and software with Rhapsody

Contents customized based on your project needs

Includes a customized methodology handbook with plus version

Page 39: Rhapsody Software

IBM Software Group | Rational software

39

Rapid deployment package—how it works

Info gathering • Definition of goals, requirements, deliverables, milestones, etc.

Kickoff workshop• Develop methodology to optimally use Rhapsody within your process

Essentials training• Teaches the concepts and techniques used to apply Rhapsody for systems engineering

Consulting/mentoring• Collaboration with experts to get

you started

Best practice reviews

• Periodic reviews to help ensure that Rhapsody is being used to its fullest potential

Exact content based on your needs

Page 40: Rhapsody Software

IBM Software Group | Rational software

40

Rapid development package—the handbook

Info gathering

Kickoff workshop

Essentials training

Consulting/mentoring

Best practice reviews

Modeling guidelines

handbook

Customized for your goals

Tailored to your process

Includes Process description

Modeling guidelines

Traceability guidelines

Content management guidelines

Illustrations

Completed by the end of rapid development package

Exact content based on your needs

Page 41: Rhapsody Software

IBM Software Group | Rational software

41

Open, extensible and configurable framework Goal: customizable framework so that users have greater control

The framework is delivered as a Rhapsody model Provides a clear understanding of its component structure and functionality,

to support fine-tuning

Includes requirements and design rationale so it’s easily understood

Validation suite can be made available through professional services

Facilitates scaling down for smaller footprint applications Pick and choose only the necessary components

Customize components

Facilitates certification of the framework such as DO-178B Scalable—helps ensure that you include only the components you need;

no dead code

Customizable—you can fine-tune the implementation to help meet the safety-critical standards

Page 42: Rhapsody Software

®

IBM Software Group

© 2008 IBM Corporation

Agile and model-driven development for development of realtime or embedded systems

Page 43: Rhapsody Software

IBM Software Group | Rational software

43

Agile software principles Implementation versus exhaustive planning and documentation

Iterative, incremental development and testing of working parts of the design completed quickly

Team collaboration with customers and business stakeholders

Responsiveness to ever-changing requirements, virtually anytime in the development cycle

Page 44: Rhapsody Software

IBM Software Group | Rational software

44

Challenges facing developers Poor communication with customer on code level alone

Some documentation is still required

Valuable diagrams are created during meetings that are discarded and later needed

Target hardware may not be available for early prototyping

Managing changing requirements

Increasing productivity while design complexity increases

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 45: Rhapsody Software

IBM Software Group | Rational software

45

Rhapsody Model-Driven Development Rhapsody Model-Driven Development™ helps developers to capture the design

using graphical models Visualizing design concepts helps increase understandability

Use Object Management Group (OMG) UML or a domain-specific language (DSL)

Achieving the benefits of both Model-Driven Development and Agile requires the model and code to be the same

Page 46: Rhapsody Software

IBM Software Group | Rational software

46

Agile and model-driven development with Rhapsody

Rhapsody supports graphical programming of the working application while documentation is automatically generated

Empowers individuals to work the way they want to get the job done the way they know how at either the code or model level

Work in an iterative, incremental development fashion producing working parts of the design in short time frames while executing and validating each part on target or host

Support team collaboration with customers and business stakeholders via graphical models and prototypes as opposed to code based designs

Ability to respond to ever-changing requirements, virtually anytime in the development cycle using dynamic links to requirements and automatic graphical differencing and merging

Page 47: Rhapsody Software

IBM Software Group | Rational software

47

Iterative development Deliver prototypes often with increasing functionality

Customers and stakeholders provide feedback

Helps ensure that final product meets expectationsPrototype 1 Prototype 2 Prototype 3

Name: Hello WorldMission:• Subsystem architecture• Data acquisition• Basic user interface for monitoring

Name: Revision 1Mission:• Basic distribution architecture• Data waveform display• User setting of control values• Data logging

Name: 'Customer Review Prototype'Mission:• Reliable Distribution Architecture • Reliable transport protocol • Sockets• Closed Loop Control

Analysis

Design

Implementation

Testing

Increment review

Page 48: Rhapsody Software

IBM Software Group | Rational software

48

For more information

To learn more about Telelogic Rhapsody, please visit:http://modeling.telelogic.com/products/rhapsody/index.cfm

Page 49: Rhapsody Software

IBM Software Group | Rational software

49

© Copyright IBM Corporation 2008

IBM CorporationRoute 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

Java and all Java-based trademarks and logos are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.

Linux is a registered trademark of Linus Torvalds in the United States, other countries, or both.

Other company, product, or service names may be trademarks or service marks of others.

References in this publication to IBM products or services do not imply that IBM intends to make them available in all countries in which IBM operates.

Copyright information

RAP14031-USEN-00