HP Announces OpenVMS Development to Restart


HP have released exciting news that will bring delight and relief to many organizations that have relied on OpenVMS for decades. A new company VMS Software, Inc. (VSI) has been formed with former DEC engineers to continue development of OpenVMS, adding broader support across multiple architectures and developing new layered products.

  • HP will continue to support current (v. 8.4) and prior versions of OpenVMS as shown on the January 2014 roadmap.
  • VSI will develop future versions of the OpenVMS operating system including support for HP Integrity i4 servers on Intel 9500 processors.

VSI’s initial Roadmap indicates a new version on x86 architecture for around 2016, although many customers are asking if that date can be brought forward. Not only have HP licensed the source code to VSI, they will conduct rigorous quality assurance and resell future releases of OpenVMS.

HP have worked closely with its global partners since it first announced the end of support for OpenVMS to devise a path forward. The OpenVMS community is delighted that customer concerns have been heard and OpenVMS is being rekindled.

While some elements of the relationship between VSI and OpenVMS customers have yet to be fully clarified, the widespread support of OpenVMS user organizations and of HP itself, make this a satisfying “win/win” for all concerned.

Organizations running OpenVMS suddenly have many more options open for consideration and should re-evaluate their strategy for this elegant and secure operating system.

RapidGen has been helping leading organizations make the most of their OpenVMS systems for over 30 years and can offer strategic advice to help you decide which path is right for your OpenVMS systems.

Video on How to Write Decision Tables


David Durant has extended his series of educational decision videos to cover the proper way to write a decision table so that the business logic is reliable and accurate.

OpenVMS: What are the Options?


HP has advised revisions to its Roadmap for OpenVMS Support as of January 2014. These revisions give additional breathing space to user organizations following the announcement in May 2013 that HP would cease to support the operating system beyond 2020.

It is clear that the efforts of both individual large customers and User Groups to persuade HP to extend support or migrate the O/S to the x86-64 architecture have had limited success.

To summarise the revisions as they apply to each of the Machine architectures:

  • VAX: Unchanged from previous Roadmap: HP offers Mature Product Support without Sustaining Engineering (MPS w/o SE) until December 2015.
  • Alpha: V8.4 : Two years of MPS w/o SE have been added. Standard Support will continue until December 2016 and MPS w/o SE will continue until December 2018.
  • Integrity: V8.4 : Five years of MPS w/o SE have been added to extend support until 2025.

HP defines Mature Product Support without Sustaining Engineering to mean that, amongst other elements, no new patches will be created and support is limited to technical resources available in HP Global Solution Centres.

What are the options for users?

RapidGen offers a range of possible ways forward: Emulation, ongoing Support, Migration and Integration, endeavouring to identify and implement the optimal solution for the customer.


Emulation on new industry standard servers such as HP’s Proliant range

  • VAX: The Charon products from Stromasys are well established. AVT/Vere also offer solutions.
  • Alpha: Charon-AXP and AVT are available.
  • Integrity/Itanium: No known products. Several factors mitigate against the development of such a product including the complexity of the instruction set and limited market demand.

These emulation products have proved themselves very robust and reliable. However, their pricing can be a constraint. For customers who have static systems, for example a need to preserve older data for regulatory reasons, emulation would appear a logical solution. However, since HP has confirmed that support for OpenVMS even on Alpha hardware will cease within five years, for more dynamic environments, the hardware emulation option now becomes a short-term solution unless support is also provided for the OpenVMS O/S .

Ongoing Support services for OpenVMS

Whilst the availability of OpenVMS skills may be diminishing, it is clear that the enduring quality of this O/S has attracted many capable and committed supporters, both professional and at the hobbyist level OpenVMS.org – OpenVMS Community Portal, News and Info . RapidGen will continue to offer support of its products under OpenVMS significantly beyond the dates announced by HP.

Migration / Integration

Applications written using RapidGen Genius products can be migrated between operating systems with relative ease. RapidGen can assist with migration of your Genius or other sourced applications running on OpenVMS (or, indeed Tru64) to Windows or Linux with the assistance of Data Conversion Tools. Alternatively, consideration can be given to rewriting of applications.

Decision Table Programming


There are many ways of expressing logic – verbal, written, diagrammatically as in a flow chart to mention a few. A decision table is a method of expressing logic by showing, in a tabular form, the Actions which are to be carried out for different combinations of Conditions.

A Mathematical Concept evolves into a Programming Technique

Tabular forms of expressing logic go back to ancient civilisations but the structure that we use is based on the science of the 1950-60s and has been used by NASA. Decision Tables are an excellent way of expressing logic and analysing problems. Many universities still teach the theory as part of their mathematics or computer science degrees. Systems and Business analysts often express their processing logic and problems using decision tables. These would then be coded by programmers. We at RapidGen have combined this process so that the analyst has virtually written his own program logic.

Simple forms of Decision Tables

People are often unaware that they have used decision tables in everyday life. Bus times and train times tables and multiple-choice questions are varieties of Decision tables.

Decision Tables are structured yet very flexible. In their most common form, they give details of initial actions which are to be performed, conditions which are to be tested and actions which are to be taken dependent on the result of any condition tests. It is also possible just to have a list of actions to be performed without any condition.

In theory it is possible to have a very large number of conditions and actions. However, in practice it is best to try and keep things simple and we are, with our programming language, constrained by the processor the software is running on. In fact this constraint is larger than most practical decision tables and even then the constraint can be overcome by linking decision tables together.

Very complex logic can be simply expressed; even disconnected conditions and actions can be handled simultaneously. The way the decision tables are named and the conditions and actions listed can help with documenting the process logic.

You could even say that the writing of the program is self-documenting.

For the Technically inclined: powerful processing capabilities

RapidGen software is implemented in RPL, a fully-featured programming language which compiles decision tables directly into executable machine code programs, using a compiler which is itself written in RPL. Compiled programs are stored for reuse and mapped directly into memory for execution under the control of a low-footprint, highly-portable runtime system.

The compiled code is highly efficient and performs most conditions and actions inline, making calls into the runtime system only for more complex operations such as file system I/O, database access etc.

Decision table rules are stored in a machine register and manipulated using bitwise logic instructions for maximum efficiency.

Data Conversion & Migration Facilities


There are no hard-and-fast rules for the best way of converting or migrating data between platforms, applications or formats: each case must be examined on its own merits. Typical considerations are:

  • Data volume
  • Storage mechanism (relational or other database, flat file, application-specific etc.)
  • Data complexity (flat records, BLOBs, structures etc.)
  • Binary formats (dates, floating-point, zoned / overpunched / packed etc.)

The two principal methods used by RapidGen are:

  • A custom record-by-record conversion program, auto-generated by the Genius Transfer Utility. This works well for conversion of flat files between different record layouts stored in the Genius Data Dictionary. Variables can be auto-converted (e.g. from VAX floating to IEEE floating) at the same time. This method can also be used for certain types of database, but may not be the most efficient approach for large data volumes.
  • Unloading to serial format (XML, CSV etc.), performing any necessary conversion or reformatting, then loading into the new system. This is usually the best approach for converting from one type of relational database to another, using the inbuilt backup/.restore facilities which are optimized for the specific database type. Conversion between disparate save/restore formats can usually be done using XSLT if the source format is XML. In other cases it is usually necessary to create a custom conversion program, either manually or by defining the serial formats to the Genius Data Dictionary and using the Transfer Utility as above.

In more complex cases a combination of these and other techniques may be necessary, particularly when data volumes are large. Additional complications can include:

  • Character set conversion (EBCDIC, Unicode, Windows code pages etc.)
  • Little-endian to big-endian numeric conversions and vice versa
  • Data dependencies and database constraints requiring strict load sequencing, partial or split loads or constraint deferment
  • Graphics and multimedia format conversions

Conversion programs can usually be written (manually or using the Transfer Utility) in RapidGen’s RPL language, which employs Decision Table logic and natively supports an extremely wide range of data types. In some situations, however, other languages such as C++ or FORTRAN may be more appropriate; RapidGen can advise on request.

RapidGen is adept at developing ‘Bespoke Solutions’, tailored to meet Client requirements and has an excellent record of resolving complex challenges of ‘Software Plumbing’