1

I have inherited a very old tool which our customer wants to keep alive for another 20 years. This tool was developed using Sparc Ultra 1 workstations with Sun OS 5.6 and SPARCworks Ada 3.0 and Rational Ada 6.2.3c. Half of the tool runs on the Ultra 1 and the other half runs on an MVME card (I'm not worried about that half).

So I plan to use VirtualBox, VMware or SimICS to emulate hardware/OS. I am not sure what to do with the OpenWindows calls. I was planning to replace them with Java/Gnat Pro, but that would not operate on the emulated workstation. Help? Has anyone had similar experience? Any ideas?

P.S. I left the Sun/Solaris world in the late 90s and have not kept up :(

BartJ
  • 21
  • 2
  • 1
    Not obvious whether you want virtualization of the original hardware as e.g. [here](http://kb.networksystemssolutions.info/index.php/Sparc_Virtualization) or to port to e.g. OpenSolaris on x86 hardware (I don’t know about windowing support; I made a record of a related porting effort [here](http://forward-in-code.blogspot.co.uk/2012/05/building-gcc-with-ada-on-solaris-x86.html)) or to modern Ada on modern Linux. In the last case you might look at Gnoga ([here](http://www.gnoga.com) and [here](https://sourceforge.net/projects/gnoga/)). – Simon Wright May 19 '17 at 07:28
  • That Rational Ada wouldn't happen to use the DIANA intermediate representation, would it? – Shark8 Jun 07 '17 at 23:25

1 Answers1

3

In general newer versions of Ada are sufficiently backwards compatible, to make switching to a newer version of the language - or even a different compiler - relatively trivial (upgrade rates as high as 34 lines/second have been reported).

The difficult part is where you (or your predecessors) have used compiler-specific features, or made bindings to operating system-specific features.

I'm pretty sure PTC has bought the Rational Ada compiler and is marketing it as PTC ApexAda, so you could get in touch with them about a sensible migration path.

When it comes to rewriting the GUI (I assume that's what "OpenWindows" refers to), you have several options (in order of suitability for your problem):

  1. Gnoga - a web-based GUI tool-kit (GMGPL style license).
  2. GtkAda - a native GUI tool-kit (GPL).
  3. AWS/Templates_Parser - a web-server tool-kit (GMGPL style license).
  4. QtAda/Qt5Ada - a native GUI tool-kit (license unknown).
  5. (and there are more)
Jacob Sparre Andersen
  • 6,733
  • 17
  • 22