Operating System - OpenVMS
1758503 Members
2110 Online
108871 Solutions
New Discussion юеВ

Re: Does anyone know where I could get the spec package for Starlet?

 
miiichael410
Regular Visitor

Does anyone know where I could get the spec package for Starlet?

Subject says it all. I find it impossible to find spec packages online that give detail about certain spec packages. It took me a while just to find indexed_io and relative_io specs. I was wondering if anyone could point me in the right direction.

-Thanks

4 REPLIES 4
Steven Schweda
Honored Contributor

Re: Does anyone know where I could get the spec package for Starlet?

> Subject says it all. [...]

   Perhaps, but it tells me approximately nothing.  Can you provide any
clues as to what you actually want, or what sort of problem you're
trying to solve, or any information which might be useful to someone
else?

> [...] It took me a while just to find indexed_io and relative_io
> specs. [...]

   Thanks for the helpful link(s).

   Generally, nowadays:

      https://docs.vmssoftware.com/

   But I wouldn't expect to find "Starlet" in the title of anything
there.

miiichael410
Regular Visitor

Re: Does anyone know where I could get the spec package for Starlet?

Thanks for the link. I just want more information on what some of the calls are doing. For example: Calls like starlet.rab_type_init, starlet.connect, etc. I am working on some legacy code from a couple of decades ago and I am working on a way to replace RMS.  I was thinking that if I could find the Ada spec package for starlet I could more easily work out the replacement.

Steven Schweda
Honored Contributor

Re: Does anyone know where I could get the spec package for Starlet?

> [...] Ada [...]

   Ah.  At last.  That would explain why almost nothing in your query
meant anything to me.  ("spec package" means "package specification"?)

   In the "DEC Ada Run-Time Reference Manual for OpenVMS Systems"
( https://docs.vmssoftware.com/docs/ada_rtr.pdf ), I see:

      The package specification explains how the procedures work in more
      detail. See Appendix C for more information on obtaining the
      package specification.

and:

      The package SYSTEM provides types and operations for manipulating
      system-related variables and parameters, as well as for obtaining
      symbol definitions that are not defined in the package STARLET.
      The specification of this package is described in Chapter 13 of
      the DEC Ada Language Reference Manual and is given in full in
      Appendix F of that manual. The specification of this package is
      also in the DEC Ada library of predefined units (ADA$PREDEFINED).

(The LRM: https://docs.vmssoftware.com/docs/ada_lrm.pdf )

   Whether or not you can get what you want without having an actual DEC
Ada installation, I don't know.

> [...] I was thinking that if I could find the Ada spec package for
> starlet I could more easily work out the replacement.

   Perhaps.  I'd expect that re-implementing much of the VMS run-time
system on a different system would make little sense.

   Details of the various VMS system services and other RTL routines are
provided in the generic VMS docs (generally with a C orientation).

   You might find a bigger (and better-educated) audience for your query
at the VSI forum:
      https://forum.vmssoftware.com/

Hein_vdHeuvel_d
Advisor

Re: Does anyone know where I could get the spec package for Starlet?

As Steven graciously pointed out, the subject line says absolutely nothing in isolation.

We since learned this is about porting / changing an ADA written OpenVMS application and you since learned that there me be a bigger and better audience in the VSI forum (I kinda prefer the nedor independ forums like the comp.os.vms newsgroup)   - https://forum.vmssoftware.com/viewtopic.php?f=16&t=8762

So STARLET is a massive system library where all OpenVMS internal functions are defined. Part of that is RMS with 20+ services like OPEN, GET, PUT, The once you mention: REWIND, FLUSH, CONNECT are the lesser ones. They are all called with a clumsy API being the FAB, RAB and other Control blocks. All of that is documented in the RMS Reference Manual - no need / link back to  any 'startlet'. Reading up in the RMS manual should tell you what the program is trying to accomplish. Many things like OPEN a file and PUT (WRITE) a row will be intuitive. Other options are nitty gritty like the ROP bit field in the RAB structure to indicate Greater Than searches.

What is the grand goal here? Convert an ADA application to another langua still on OpenVMS? Move an existing OpenVMS application, data and all to say Linux? Will an OpenVMS server stay in place for legacy data access? Will the target language stay ADA? What will the target data storage look like?

One obvious suggestion is to rip out all the Relative/Indexed files and replace them with Relation Database Table accessed with ODBC, JDBC, or some native client access. The OPEN calls dissappear or are replaced with a 'pick up DB handle, connecting to DB if none'.  The PUT (WRITE) calls become INSERT with a list of fields instead of a pointer to a row as per RMS - best handled with per table/file service routines. The GET (read) calls become SELECT * WHERE <rse> where that RSE takes the existing ROP and TKS values into acount.

Good luck!

Hein