-
Notifications
You must be signed in to change notification settings - Fork 4
/
Copy path122.text
134 lines (104 loc) · 5.92 KB
/
122.text
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
From: Dave Shone
Subject: ++Green Bank - Part 2; suggestions for what we should do next
Date: Fri, 20 Mar 92 11:48:03 EST
Here are a few suggestions for consideration by the meeting this
afternoon, although I think we'll want more time to think about these
and others too (I hope). Although I've been thinking about this for a
few days, I've set these thoughts down in a hurry in order that others
can be made aware of them before the meeting. In addition, the way
forward may in part be determined by the deliberations of the steering
committee, next week.
Scope of the work to be done
============================
It still seems likely that we need to define major interfaces in the
system (principal data classes, persistence methods, parameter
handling etc.) before the group dissipates at the end of June. These
will certainly be refined afterwards, but if a significant amount of
design remains to be done in these areas, we may have great
difficulties.
In order to have confidence in such a design, we must prototype a
number of areas. However, a number of areas could usefully be
prototyped independently, save for their dependence on a fair amount
of infrastructure such as a user interface, realistic persistent data
format etc. This sort of "bootstrapping" problem is inevitable in a
new system such as aips++, but it represents a major obstacle to
achieving our goal for June 30.
I believe we require some sort of infrastructure for prototyping parts
of the system such as the "logical" data system (YegSet handling,
calibration etc.). Other parts (such as persistent data formats and
associated method, user and graphical interfaces etc.) could be
designed and prototyped in parallel rather than having to be done
beforehand.
YegSets etc., and logical and physical persistence data structures
==================================================================
I shall briefly digress to describe the basis of what I propose.
The Green Bank scheme (with appropriate modifications) seems to be the
logical (in more ways than one) starting point for what we do next,
but it says little about physical data structures (although a number
of ideas were discussed, nothing concrete was devised in this area).
This limitation confers a few benefits though:
* The data classes can be implemented in a number of ways,
and thus prototyped using an initial implementation
which does not support all requirements (such as
integration times which vary from one baseline to
another).
* The eventual implementation might be able to support
a number of physical data formats.
These ideas are not new; Don Wells has already advanced the idea that
his DynaFITS concept could be made to cope with a number of
different data formats.
I'm still inclined to regard the objects we wish to manipulate as
"logical views" of the actual data - we often wish to look at the
same data in different ways, with different methods. Whenever
possible, we should try to do things this way, if only for efficiency,
e.g., if we wish to form new ways of viewing our data, we don't always
want to make a new copy of the bits that are common to the different
views.
What should we actually do?
===========================
Please bear in mind that these are no more than suggestions; I realise
that they may provoke a few knee-jerk reactions, and I, too, have
reservations. Nevertheless, I think these ideas may be worth
exploring, given that we have a great deal to do in a short time.
I suggest that, for the purpose of prototyping the logical
data system of the Green Bank scheme, we adopt the physical data
formats and parameter system of an existing system, and in the first
instance, I propose that should be AIPS. All I/O should be performed
using prototype code. A simple user parameter system would read the
AIPS Task Data files, and any other inter task communication would be
handled by the prototype. Thus, apart from task initiation and user
parameter setting, the prototype would not depend on AIPS code.
Certainly, there should be no need to use any AIPS routines in the
prototype code, although simplifying assumptions might have to be made
about the data structures.
The AIPS catalog system might be used to maintain associations between
objects, and we might implement a number of the object classes in the Green
Bank scheme as new kinds of binary extension tables. In addition, we
must attempt to handle single dish data, most probably as a new
physical data type.
In parallel to the prototyping of the logical data system, work would
continue on the design and prototyping of the "real thing", as well
as any other parts of the system for which an interface must be
produced by June 30th. The DynaFITS concept is something to
consider, possibly in conjunction with the Cotton-Tody variable-length
binary tables proposal for conventional FITS. In addition, for
ultimate efficiency, we may require a real object persistence mechanism,
rather than something which does a logical-to-physical mapping. Only
prototyping will tell us the answers to these questions.
Alternatives
============
My suggestion is based on the fact that AIPS is a reasonable fit to
what we wish to do in a prototype, and many of us are fairly familiar
with it. However, I believe there are a few alternatives:
* Use FITS disc files - but this will require more
work on the parameter system. We might use parts
of Tim Cornwell's SDE system for this.
* Use another system such as Khoros. This might be more
acceptable to many, since it is closer to what we
are aiming for. However, the learning curve and
the need to implement new data structures might require
more work. I know very little about Khoros; could we
implement a FITS-like physical data system and build
the Green Bank prototype on top of this?
* Use something else - suggestions?
Dave