ODE - OSF Distributed Environment


The OSF Development Environment (ODE) is the source control and build environment used by most OSF projects. ODE offers a flexible development environment with build and source control features and private and public work areas for software development.

The ODE toolset uses a distributed client/server approach for source control functions built on top of the standard RCS 5.6 revision control system. The ODE build environment includes an unencumbered version of the make command (BSD Reno make with parallelisation and additional CMU functionality) augmented with a set of common makefile rules.

The ODE source code was designed to be machine-independent for ease of portability. The current version, ODE 2.3.4 has been ported to a variety of workstations and operating systems.

Background

ODE build and source control components are used with the OSF/1 Operating System, Motif, DCE, DME, and other releases. ODE has been bundled with each technology release that officially supports building from source code.

ODE has also been provided to OSF members, research partners, industrial collaborators, and others licensed to receive an OSF technology. Some OSF members have adopted and/or incorporated ODE into their own software development environments.

ODE has undergone several releases. ODE versions 1.0 through 2.1 and 2.1.1 represent the "first generation" of ODE. ODE was substantially enhanced and reorganized beginning with releases 2.2, 2.3, and 2.3.3 and some conversion was required to upgrade to ODE 2.3.X from earlier versions.

Overview of the ANDF Technology

The Architecture-Neutral Distribution Format (ANDF) is a technology that OSF's Research Institute, in conjunction with the UK's Defense Research Agency-Malvern (DRA), has been investigating for portable software distribution.

ANDF compiles your high-level source code to machine-independent byte code. This byte code can be executed on any machine (on which an ANDF installer is located) without further portability concerns.

The ANDF installer then converts the byte code to the computer's machine code for execution.

ANDF technology allows application developers to transport their applications to any machine, regardless of operating system, hardware architecture, or language development environment. Instead, portability issues are handled by the ANDF installer for the specific machine.

Researchers at OSF, along with other collaborators around the world, have made advances through the use of ANDF technology. ANDF has proven useful for:

ANDF may also prove useful:
  A Brief Introduction to ANDF

What is ANDF?

ANDF stands for Architecture-Neutral Distribution Format. It is a technology that facilitates the development and distribution of portable software on heterogeneous hardware and operating system platforms. It is based on a compiler intermediate language in which all target dependence has been abstracted out and deferred to installation. Thus a single version of an application can be distributed in a "shrink-wrapped" format that can be installed on diverse platforms.

With ANDF, the compilation process is divided into two parts. A "producer", which is similar to a compiler front-end, processes the source code and target-independent header files to produce the ANDF form of the application. When the software is installed at the target site, an "installer", which is similar to a compiler back-end, combines the ANDF code with target-dependent definitions and libraries to produce an executable program or an object code library.

There are three main roles relative to ANDF: Software Vendor, System Vendor, and End User. System vendors (or perhaps independent ANDF tool suppliers) will supply ANDF producers, installers, debuggers, interpreters and other portability aids to the software vendors for use in developing applications. The system vendors will use these and additional components such as validation suites and formal methods to increase the reliability of the ANDF tools. The end user will buy an application in ANDF form and then use an ANDF installer supplied by the system vendor to install the software. An alternate scenario is that a software distribution service agency or network server could do the work of using the installer to produce the target executable files for the end user.

A Very Brief ANDF History

On April 25, 1989, the Open Software Foundation (OSF), of Cambridge, Massachusetts, issued the Architecture-Neutral Distribution Format Request for Technology (RFT). Its purpose was to solicit technologies that would provide a single format for distributing software, independent of the hardware platform. Twenty five summary proposals, and then fifteen full proposals were received. Representative solutions included obscured source code, compiler intermediate languages, and tagged executable code.

The list of submitters was narrowed to a short list of four in February 1990. These produced prototypes which were evaluated. On June 4, 1991, OSF announced that it had selected the TDF (Ten15 Distribution Format) technology from the Electronics Division of the Defense Research Agency (DRA) of the UK, formerly Royal Signals and Radar Establishment, for the core technology of ANDF. TDF is specified as a many-sorted algebra. TDF itself was the result of a 5 year research program at DRA with goals very similar to those of ANDF. Since that time, OSF has released 4 snapshots of the ANDF technology.

From its inception until about April 1992, the ANDF program was managed by OSF Engineering, with advice from industry consultants and the ANDF Special Interest Group (SIG). Since then it has moved to the OSF Research Institute. The ANDF SIG has been replaced by an ANDF Working Group (WG) which had its first meeting on September 17, 1992.

Installers have been written for the MIPS, i386, SPARC, 68K, RS/6000, HP-PA, and DEC Alpha architectures. Currently, C is the only language with an ANDF producer. Operating systems supported are Ultrix, SCO/UNIX, SUNOS, HP_UX, AIX, and OSF/1 (both integrated kernel and microkernel). The runtime performance of code produced by the ANDF technology is within about 5% of the best native compiler produced code, for selected benchmarks (including SPECint), and is sometimes better. Application Programming Interfaces (APIs) currently supported include ANSI C, Posix, XPG3, and SVID3. X11R5, Motif, and COSE support is in progress.



Last Updated: 6th September 1997 by  Mark Baker