2.4 Levels of Porting 2.5 Portability Myths A software unit goes through multiple representations, generally moving from high to low level, between its initial creation and actual execution. Each of these representations maybe considered for adaptation, giving rise to multiple levels of porting: Source Portability. This is the most common level the software is adapted in its source-level, human-readable form, then recompiled for the new target environment. Binary Portability. This term refers to porting software directly in its executable form. Usually little adaptation is possible. This is the most convenient situation, but possible only for very similar environments. Intermediate-Level Portability. In some cases it maybe possible to adapt and port a software representation that falls between source and binary. The portability problem is often affected by the silver bullet syndrome. A wide variety of innovations have all promised to provide universal portability. These include: Standard languages (e.g., FORTRAN, COBOL, Ada, CC, Java) Universal operating systems (e.g., Unix, MS-DOS, Windows, JavaOS) Universal platforms (e.g., IBM-PC, SPARC, JavaVM, .NET) Open systems and POSIX OOP and distributed object models (e.g., OLE, CORBA) Software patterns, architectures, and UML The World Wide Web All of these have helped, but none have provided a complete solution. We will examine both the value and the limitations of these technologies.
Share with your friends: |