Title: When to Migrate
1When to Migrate
- What Issues Drive Developers to Migrate to a New
Host, Target, Tool, or Language?
2- David Mosley
- Senior Software Engineer
- DDC-I, Inc.
- dmosley_at_ddci.com
3Agenda
- Why Migrate?
- Decision To Migrate
- Host Issues
- Target Issues
- Tool Issues
- Language Issues
- Factors Affecting The Cost Of Migration
4Why Migrate?
- Migration Is Not Undertaken Lightly And Is Often
Driven By Outside Factors. - Benefits of Migration gt Cost to Change
5Benefits of Change
- Extended Life of Product gt Extended Sales
Including -
- Product Enhancements
- Sales In New Projects
6Why is Change Necessary?
- The World Changes Around Us
- Such as
- Interface to a Different Component
- Provide Different Information to the User
- Environment Changes
7Why is Change Necessary?
- Cost Cutting Product Maintenance is Taken Over
by a New Subcontractor - Longevity of Product
- Competition Why did Apple Switch to Pentium?
8Decision to Migrate
- Why Migrate?
- Decision To Migrate
- Host Issues
- Target Issues
- Tool Issues
- Language Issues
- Factors Affecting The Cost Of Migration
9- In the Embedded Hardware/Software Domain There
are Three Categories Affecting the Migration
Decision - Host Factors
- Target Factors
- Language Factors
- Also Considered Are The Software Development
Tools Such as Compilers, Linkers, and Debuggers
10Need to Migrate
- A Product Change Is Needed
- Host And Tools Are OK
- Target Is Still Adequate
- There Is No Need To Migrate
- But If You Have Any Of The Following Problems
Then You Need To Migrate!
11Target is Constant - Why Change the Host?
- Host is Obsolete and Non-functioning
- VAX/VMS
- Sun SPARC/SunOS
- PC/Windows NT
12Host Changes
- Perhaps the Host is Still Functioning, but
- The Handwriting is on the Wall
- Contingency Plans for when the Last Host System
Dies
13Tool Changes
- Host is Still Viable, but Need to Acquire New
Software Tools - The Original Version of Software Tools is
Unavailable
14Tool Changes
- Yearly Support Payments are a Form of Insurance
- DDC-I will Support our Tools as Long as One
Customer Pays Maintenance.
15Tool Changes
- Acquire a New Host Platform, but the Original
Tools are Not Available for that System
16Host Constant or ChangesTarget Changes
- Physical Constraint of the Target Might be
Exceeded - Memory Addressability Limitation
- Processor Throughput
- Power Consumption
17Target Changes
- Original Software Tools Not Available for the New
Target
18Target Changes
- Changes in the Embedded Environment
- New Peripheral Devices
- New Communication Bus
- New Protocols
19Target Changes
- May Need an Embedded RTOS Where None Was Used
Before - New product would benefit from the additional
capabilities provided by an RTOS
20Target Changes
- Target Hardware or Processor Becomes Obsolete
- Intel 80860, 80960
- Motorola 68000
- Mil-Std 1750A
21Target Changes
- New Standards or Certification are Imposed on the
System - Recoding
- Testing All Paths
- Dead Code Removal
22Target Changes
- Interoperability With Newer Systems is Required
- Production Royalties Affect the Profitability of
the System
23Target Changes
- Expertise in the Product and/or Tools is Lost
- Product is Simply Unmaintainable
- Software Has Been Patched Repeatedly
- No One Knows How to Make a Change
24Language Changes
- The Software is Written in an Old Language Such
as JOVIAL - Consider Language Migrations for
- Ada 83 ? Ada 95
- Ada ? C
- JOVIAL ? C
- Others
25Cost of Migration
- Why Migrate?
- Decision To Migrate
- Host Issues
- Target Issues
- Tool Issues
- Language Issues
- Factors Affecting The Cost Of Migration
26Calculating Migration Costs
Test Environment
Host Dev System
Target System
27Calculating Migration Costs
- Changing Only The Host Side
- New Development System
- New Development Tools
- Warning Target Functions Could Change
28Calculating Migration Costs
- New Development Costs for Software Tools Such as
Compilers, Debuggers - Concern Source Code Incompatibilities Even When
Using the Same High-level Language
29Costs of Changing Software Tools
- Dont Expect to Simply
- Install a New Compiler
- Throw the Compilation Switch
- And Get a Working Executable!
30Costs of Changing Software Tools
- Hidden Dependencies
- For Example The Order in Which Memory is
Initialized at Startup - Code Size Issues
- Will Need to Work Closely With the Compiler
Vendor
31Costs of Changing Software Tools
- Old Target System Possibly Reached a Memory or
Performance Limit No Code Growth and No Slow
Down - Old Software Tuned to Old Compiler. Source
Code Must be Tuned to the New Compiler
32Cost of Changing Software Tools
- Choosing A Mixed Language Development System
Will - Allow The User To Keep Most Of The Code Unchanged
- Implement New Functions In The New Language
- Reduce The Cost Of Migration
33Cost of Changing Software Tools
- SCORE Integrated Development Environment From
DDC-I Offers - Mixed Language Compilers Debuggers for Ada, C,
Embedded C, Fortran, and JOVIAL - Cross Development for Popular Host Platforms
Targeting 80x86, PowerPC, Mil-Std 1750A,
34Calculating Migration Costs
- New Host System Typically PC/Windows or PC/Linux
- Other Infrastructure Costs
- Maintain Network
- Maintain Security
- Maintain Software Development Processes Such as
CM, Problem Tracking, Etc.
35Calculating Migration Costs
- New Target Typically Modern, Faster Processor
With Additional Memory - Cost of Host Development System
- Cost of Software Development
- Cost of Hardware Development
- Cost of Testing Environment Change
36Calculating Migration Costs
- Moving to a New Target
- Can Still Reuse Much of the Software, but
- May Need Compiler Vendor Support
- Cost Will be Comparable to Original Development
37Moving to a New Target
- Testing Costs Will be Very High
- Especially for Safety-critical Applications
- Modified Condition/Decision Coverage Testing
- Path Testing
- FAA DO-178B (Avionics)
- FDA 501(k) (Medical)
38Migration Mitigation
- Perform an Up-Front Migration Assessment
- Survey of Existing Systems
- Comprehensive Needs Assessment
- Detailed Migration Requirements
39Migration Mitigation
- DDC-I Offers Migration Services
- Compete Migration Assessment Package
- Detailed Assessment Report Including Cost, Risk
Factors, And Plan For Future - Complete Migration Of Application
- Why DDC-I?
- Extensive Experience In Migrations
- Tools To Ease The Process
40Lessons Learned
- Why Migrate? Competitive Advantage
- When to Migrate? Avoid Obsolescence
- Cost to Migrate? Significant But
Manageable
41David Mosley Senior Software Engineer, DDC-I,
Inc. dmosley_at_ddci.com http//www.ddci.com