Developing portable software



Download 370.21 Kb.
View original pdf
Page10/31
Date25.01.2021
Size370.21 Kb.
#55683
1   ...   6   7   8   9   10   11   12   13   ...   31
Mooney2004 Chapter DevelopingPortableSoftware (1)
5.1.3
Think Portable
5.2
Classifying the Strategies
This final principle is simply an admonition to be conscious of the portability goal during all design decisions and development activities.
Many portability problems arise not because there was noway to avoid them, but because portability wasn’t considered when the choice was made.
The strategies to be studied are concerned with controlling particular interfaces. They can be identified and classified by considering the various interface models of Section 2. Static models such as the SIM or the
OSE/RM allow us to identify the principal interfaces with which atypical application interacts. We have seen that the primary low-level interfaces can be classified as architecture interfaces (including processor, memory, and direct I/O), operating system interfaces (including APIs), and library
interfaces (including support packages).
We are most interested in achieving commonality for these low-level interfaces. These interfaces in turn mediate access to higher-level interfaces such as the user interface, file systems, network resources, and numerous domain-specific abstractions. Controlling these interfaces can be viewed as special cases of controlling the underlying interfaces to the architecture,
operating system, and libraries.
The first and most essential strategy for portable software development is the use of a suitable programming language. Portable programming in an appropriate language will generally provide a common model for most (but not all) of the elements of each of the three main interface classes. The remaining elements must be dealt with by considering the interfaces more directly.
There are thus four main classes of strategies that are most important to consider:
Language-based strategies
Library strategies
Operating system strategies
Architecture strategies
1.
2.
3.
4.
Regardless of the specific interface or representation we are dealing with,
all strategies for achieving portability at that interface can be grouped into


66
James D. Mooney
three main types. We examine these types in the next subsection. We will then discuss strategies of each type that apply to each of the four classes.

Download 370.21 Kb.

Share with your friends:
1   ...   6   7   8   9   10   11   12   13   ...   31




The database is protected by copyright ©ininet.org 2024
send message

    Main page