Article | REF: H3288 V1

Software design and portability

Authors: Patrick BELLOT, Bernard ROBINET

Publication date: November 10, 1998

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


Overview

Français

Read this article from a comprehensive knowledge base, updated and supplemented with articles reviewed by scientific committees.

Read the article

AUTHORS

  • Patrick BELLOT: Doctorate in Computer Science - Professor at the École Nationale Supérieure des Télécommunications

  • Bernard ROBINET: University Professor - Scientific Director, École Nationale Supérieure des Télécommunications

 INTRODUCTION

The diversity of hardware architectures and operating systems poses the general problem of software portability. The definition of portability is given by NF ISO/CEI 9126 Z67-133, October 1992: a set of attributes relating to the ability of software to be transferred from one environment to another, the environment being either organizational, hardware or software. This vague definition covers conceptual and technical issues for which there are no definitive, absolute solutions. As B. Meyer in 1981 [12] , portability is 99% an open problem. In the space of a decade, the situation has hardly changed, the most obvious sign being the almost total absence of specific writings on the subject. While the goal to be achieved is obvious, the problems, means and solutions are poorly identified, as they too often depend on the software concerned. Software portability is a major economic factor in the IT industry, and the methods for achieving it represent a fundamental achievement of software engineering.

Portability is a key issue for companies, as it is now rare for them to be content with a single manufacturer, its machines and its proprietary operating systems. It is therefore essential that applications developed in-house or acquired by the company are portable. Similarly, for any company wishing to market software of its own design, the profitability of its development and marketing presupposes portability. For manufacturers, the effect is an obligatory standardization of their ranges of machines and operating systems. AUA (Application Unified Architecture) from IBM [13] and [14] is a typical example of this approach, since it offers a set of tools, languages and services available on a complete range of computers. Developers, for their part, are led to use methods that enable their programs to run in a variety of contexts.

The first four paragraphs have dealt with software portability from the technical point of view of programming and languages, as well as from the more methodological point of view of software organization and development. The Java language is experiencing an uncommon media explosion. One of its key features is the portability of its executables, made possible by the [10] virtual machine concept. This concept, which is not new but has been revived by Java, is the subject of this article. We compare it with the two other language implementation techniques, compilation and interpretation.

You do not have access to this resource.

Exclusive to subscribers. 97% yet to be discovered!

You do not have access to this resource.
Click here to request your free trial access!

Already subscribed? Log in!


The Ultimate Scientific and Technical Reference

A Comprehensive Knowledge Base, with over 1,200 authors and 100 scientific advisors
+ More than 10,000 articles and 1,000 how-to sheets, over 800 new or updated articles every year
From design to prototyping, right through to industrialization, the reference for securing the development of your industrial projects

This article is included in

Software technologies and System architectures

This offer includes:

Knowledge Base

Updated and enriched with articles validated by our scientific committees

Services

A set of exclusive tools to complement the resources

Practical Path

Operational and didactic, to guarantee the acquisition of transversal skills

Doc & Quiz

Interactive articles with quizzes, for constructive reading

Subscribe now!

Ongoing reading
Software design and portability