comp.lang.ada
 help / color / mirror / Atom feed
From: dewar@gnat.com (Robert Dewar)
Subject: Re: Would an *AdaScript* language be a good / bad idea?
Date: 28 May 2002 18:11:22 -0700
Date: 2002-05-29T01:11:23+00:00	[thread overview]
Message-ID: <5ee5b646.0205281711.1a446fc5@posting.google.com> (raw)
In-Reply-To: pdAI8.8676$UT.586310@bgtnsc05-news.ops.worldnet.att.net

"David Thompson" <david.thompson1@worldnet.att.net> wrote in message 

> But to my knowledge only CICS, and Tandem's roughly similar
> but much less known PATHWAY, support(ed) adding new modules
> transparently to a running program in the fashion of Java or
> AIUI Erlang or explicit DLL/so's, much less direct source execution
> like shells and awk/perl/etc.  (Admittedly CICS may be or have been
> the environment for more COBOL code than any single alternative.)

Well who knows what "in the fashion of Java" might mean. But it has
been standard in COBOL programs for many years, including those 
running on IBM mainframes, to add new modules dynamically at runtime.
Typically you have a file that contains a list of valid transaction
names. Then if a transaction name is validated against this list,
you simply do the CALL to process it. The form of CALL is

  CALL xxx USING yyy

where xxx is a dataname (variable) containing the name of the procedure
to call, and yyy are the parameters. The module containing the code for
xxx is loaded dynamically and the call made.

Now to add a new module to a running program without stopping it, we

a) compile and link the code for the new transaction

b) install the load module in the appropriate place where it can be located

c) update the file with the list of valid transactions to enable access to
the new transaction.

This is standard COBOL stuff and must work on any ANSI standard conforming
COBOL compiler.

Now of course, though semantically, all binding to subroutines (called
confusingly programs in COBOL, the term run unit being used to describe
what others call a program), is dynamic at runtime, in practice most
calls look like:

  CALL "STANDARD-ROUTINE" USING ...

So that the name is known at compile time, and typical COBOL systems provide
for static linking in cases like this (though of course this is outside
the standard in any case).

Off topic for Ada, sure, but it is always interesting to be aware of what
capabilities other languages have. I was demonstrating Realia COBOL and
its visual debugger to Jean Ichbiah and showing him how the debugger handled
this kind of dynamic linkage, and he was quite surprised to find that COBOL
had that feature (as are many others in the programming language field,
who seem to share a lack of knowledge of COBOL in common :-)



  reply	other threads:[~2002-05-29  1:11 UTC|newest]

Thread overview: 42+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2002-05-14  4:51 Would an *AdaScript* language be a good / bad idea? James Ross
2002-05-14  5:15 ` James Ross
2002-05-14  8:47 ` Ingo Marks
2002-05-14 14:21   ` Robert Dewar
2002-05-14 19:24     ` Ingo Marks
2002-05-15  5:32       ` Robert Dewar
2002-05-14  9:03 ` Preben Randhol
2002-05-14 14:18 ` Robert Dewar
2002-05-14 15:25   ` Larry Kilgallen
2002-05-14 16:45   ` Preben Randhol
2002-05-15  6:33     ` Per Sandbergs
2002-05-15  8:52       ` Preben Randhol
2002-05-15 11:35       ` Marc A. Criley
2002-05-15 12:56   ` Steve Doiel
2002-05-15 14:28     ` Preben Randhol
2002-05-16  2:46     ` Robert Dewar
2002-05-16 16:04       ` Darren New
2002-05-16 17:18         ` Wes Groleau
2002-05-16 18:52           ` Darren New
2002-05-17 14:33             ` Wes Groleau
2002-05-17 16:22               ` Darren New
2002-05-17 16:56                 ` Darren New
2002-05-17 23:13                   ` Wes Groleau
2002-05-17 23:20                     ` Darren New
2002-05-17 16:58                 ` Stephen Leake
2002-05-17 17:23                   ` Darren New
2002-05-17 17:35                   ` Pascal Obry
2002-05-17 17:44                     ` Darren New
2002-05-17 18:02                       ` Pascal Obry
2002-05-17 23:12                 ` Wes Groleau
2002-05-17 23:27                   ` Darren New
2002-05-18  2:54         ` Robert Dewar
2002-05-18  2:59         ` Robert Dewar
2002-05-28  0:31           ` David Thompson
2002-05-29  1:11             ` Robert Dewar [this message]
2002-05-21 20:48       ` Florian Weimer
2002-05-21 21:05         ` Preben Randhol
2002-05-22  7:17           ` Pascal Obry
2002-05-22 11:29             ` Preben Randhol
2002-05-21 20:35   ` Florian Weimer
2002-05-15 11:39 ` Bill Tate
2002-05-17 19:24   ` Gerhard Häring
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox