* Persistence for Ada-9X?
@ 1994-11-13 6:47 Oliver Kellogg
1994-11-13 20:13 ` R. William Beckwith
0 siblings, 1 reply; 4+ messages in thread
From: Oliver Kellogg @ 1994-11-13 6:47 UTC (permalink / raw)
Is anyone developing persistent object support for Ada 9X?
If not, who'd be interested joining me doing it (as GPLed freeware) ?
/-- Oliver M. Kellogg | mail: okellogg@cube.net | Fax: (+49)89-60723732 --\
\-- Dept. RST13, Deutsche Aerospace AG, P.O. Box 801169, D-81663 Munich --/
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Persistence for Ada-9X?
1994-11-13 6:47 Persistence for Ada-9X? Oliver Kellogg
@ 1994-11-13 20:13 ` R. William Beckwith
1994-11-15 4:32 ` R. William Beckwith
0 siblings, 1 reply; 4+ messages in thread
From: R. William Beckwith @ 1994-11-13 20:13 UTC (permalink / raw)
Oliver Kellogg (okellogg@cube.net) wrote:
: Is anyone developing persistent object support for Ada 9X?
We are, sort of. Persistence is made easier with CORBA
and we're working on a CORBA product. I'll explain below.
: If not, who'd be interested joining me doing it (as GPLed freeware) ?
My view of persistance involves (at least) these four elements:
1. represent arbitrarily complex types into byte streams
2. determine the link separation scheme and support the
resulting paradymn (in simpler terms: determine if
objects that point to other objects must all go together
or if they are allowed to be separately stored to and
retrieved from disk)
3. provide an access mechanism in an extensible fashion to
store the objects to and retrieve the objects from various
forms (ISAM, flat files, Direct_IO, SQL DBMS, etc.)
4. determine and implement the paradymn for sharing objects
by different processes (locking, transaction control, and
security)
CORBA allows the authors of a server to implement persistance.
CORBA and Ada 9X help each of the above as follows:
1. Ada 9X's 'READ and 'WRITE do this nicely.
2. CORBA helps by not forcing you into a particular link
separation scheme via CORBA's portable, persistant
object references. This allows you to write an object
with its pointers to disk without writing all of the
the `pointed to' objects to disk.
3. Ada 9X's stream interfaces are nicely suited to this task.
In addition, you may want to inherit an object
create_from_store type of function for construction.
4. In traditional persistance mechanisms you create
multiple object instances in separate processes from
the same data and then worry about coordination.
CORBA simplifies the sharing issue because only one
object instance is created and the other processes
have remote references to that one object.
It seems to me that if you pick an all or nothing strategy for (2)
and you assert that only one process will use the same persistance
data (4), then it should be fairly easy to set up (1) and (3).
Hope this helps a little. Sounds like a fun project.
... Bill
--
e-mail: Bill.Beckwith@ois.com | Team Ada
Objective Interface Systems, Inc. | dist, full O-O
1895 Preston White Drive, Suite 250 | multithreading
Reston, VA 22091-5448 U.S.A. | built in
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Persistence for Ada-9X?
1994-11-13 20:13 ` R. William Beckwith
@ 1994-11-15 4:32 ` R. William Beckwith
1994-11-18 8:06 ` Stephen Crawley
0 siblings, 1 reply; 4+ messages in thread
From: R. William Beckwith @ 1994-11-15 4:32 UTC (permalink / raw)
posting for Jon Anthony (jsa@gensym.com)
----------------------------------------
R. William Beckwith (beckwb@ois.com) wrote:
: My view of persistance involves (at least) these four elements:
: ... Various steps ...
Note that OMG has officially blessed the Persistence Services part of
the Common Object Services Specification. So, the *what* that needs to
be done is done and furthermore, it is completely specified in IDL. It isn't
just CORBA that makes an Ada/IDL mapping important, its the fact that a
whole plethora of services are (or have already been) standardized via IDL
and are being implemented (check out Tivoli Systems for instance...)
/Jon
Jon S. Anthony
Gensym Corp.
125 CambridgePark Drive
Cambridge, MA 02140
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: Persistence for Ada-9X?
1994-11-15 4:32 ` R. William Beckwith
@ 1994-11-18 8:06 ` Stephen Crawley
0 siblings, 0 replies; 4+ messages in thread
From: Stephen Crawley @ 1994-11-18 8:06 UTC (permalink / raw)
In article Czo@ois.com, beckwb@ois.com (R. William Beckwith) writes:
> posting for Jon Anthony (jsa@gensym.com)
> ----------------------------------------
>
>R. William Beckwith (beckwb@ois.com) wrote:
>: My view of persistance involves (at least) these four elements:
>: ... Various steps ...
>
>Note that OMG has officially blessed the Persistence Services part of
>the Common Object Services Specification. So, the *what* that needs to
>be done is done and furthermore, it is completely specified in IDL. It isn't
>just CORBA that makes an Ada/IDL mapping important, its the fact that a
>whole plethora of services are (or have already been) standardized via IDL
>and are being implemented (check out Tivoli Systems for instance...)
I didn't see your (?) message to which Jon Anthony is replying. (A lot
of "comp.lang.ada" messages never reach us at DSTO ...)
I would infer from what Jon is saying that CORBA Persistence Services
provide "copying" style persistence; i.e. where saving and restoring
a data structure generates a new copy in the application program's
address space.
Many people in the DBPL research community would argue that
this style of persistence is inferior to "orthogonal" persistence
in which making an object persistent does not alter it's identity
properties (or any other properties apart from it's lifetime).
Languages that provide orthogonal persistence include PS-Algol and
Napier88.
A few days ago, I presented a paper entitled "Orthogonal Persistence
and Ada" at TRI-Ada '94 which discusses the linguistic problems of
supporting O.P. in Ada83 and Ada9X. While Michael Oudshoorn (my
coauthor) and I concluded that full O.P. is not feasible in Ada83/9X,
we are currently thinking about a more limitted form of O.P. that could
be implemented using GNAT / GCC as a starting point.
I will provide a URL for the TRI-Ada '94 paper in a week or so (when
I can find a publicly visible resting place for it.)
Could anyone who is interested in Persistence in Ada9X please
send me a brief email?
-- Steve
email: <sxc@itd.dsto.gov.au> or <stephen.crawley@dsto.defence.gov.au>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~1994-11-18 8:06 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1994-11-13 6:47 Persistence for Ada-9X? Oliver Kellogg
1994-11-13 20:13 ` R. William Beckwith
1994-11-15 4:32 ` R. William Beckwith
1994-11-18 8:06 ` Stephen Crawley
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox