•Moving
to a different RTOS, C compiler, or different hardware architecture
with the same C compiler and RTOS may break assumptions of the
original code
–Assumptions
are rarely documented
–Requires
extensive code review and comprehensive testing
–Porting/integration
effort requires changes to source code
•Assembling
independently developed components is likely to violate integrity
of certain components
–Variable
naming collisions
–Race
conditions may result from platform differences