[QUANTITY] Data Model for Quantity v0.5 - more on Quantity vs assembly

Martin @ ROE mch at roe.ac.uk
Mon May 10 09:49:00 PDT 2004


David Berry wrote:

> Martin,
>        So what you are saying is that, just as we see Quantity as a
> aggregated component of the Observation model, so also we should be
> thinking about what the *components* of a Quantity are? That is, we
> should build Quantity from a collection of component parts which are not
> themselves Quantities (and so do not inherit from Quantity), but which
> fulfill some specified role within the higher level Quantity model and
> which are designed independantly of each other. The "Quantity model" would
> then presumably define how these components are used within the context of
> a Quantity, which are mandatory which are optional etc.

Yup!

> 
> Is this the idea? I myself have always favoured that approach.
> 
> David
> 
> 
> 
> On Mon, 10 May 2004, Martin @ ROE wrote:
> 
> 
>>Er well that's a little misleading...   To be clear it means that
>>quantities are assembled from re-used components with a specific purpose
>>in mind.  ie, a quantity that describes a radio flux will be related to
>>one that describes an x-ray flux, but is not related (in a class
>>diagram) to a quantity that describes the size of my shoe.
>>
>>
>>>	In the end, this will be very complex model with no reusable parts. The supporting
>>>	library is likely to be quite large and complex and difficult to implement and
>>>	understand and maintain.
>>
>>No! We are now in the area of computer science rather than software
>>development, and the impact of decisions we make on object models do not
>>always have the 'common sense' results.
>>
>>The issue is about how things are 'reused' not whether we reuse them.
>>Using assembly/aggregation rather than inheritance means we 'free up'
>>the ways we can develop things from existing things.   We need this if
>>we can be sure we can cope with things we haven't thought of yet.  Our
>>supporting libraries can then be sets of packages, rather than being
>>large monolithic codesets that have to be created in a single step to be
>>of any use at all.
>>
>>
>>>	I don't see how this will be extensible either as it amounts to proscibing a universal model
>>>	(or set of models) for all, from which nobody can extend without breaking the functionality
>>>	of the VO as a whole.
>>
>>In fact it is the other way around.  Single inheritance models are
>>extremely restricting - if down the road we find we need to change
>>something in Frame for example, we risk breaking every single VO
>>quantity in the whole model...
>>
>>
>>>      I vote "no!" for this. Proponents: please outline how you can satisfy
>>>	VO needs with this kind of approach.
>>
>>In contrast to my comments above: any particular assembly is not an
>>attempt to solve the whole VO needs.  This is its strength and
>>Quantity's weakness; we can build quantities for particular purposes.
>>This makes agreement much easier and code libraries relatively
>>independent.  Where models overlap, we share models - such as the STC.
>>
>>The STC is a classic example of something already happening this way; we
>>have a common representation & model, and we *include* it in our model.
>>This is the reuse I would like to see, and without which it is going to
>>be harder, not easier, to build an interoperating VO.
>>
>>
>>--
>>Martin Hill
>>Software Engineer, AstroGrid (ROE)
>>07901 55 24 66
>>
> 
> 
> ----------------------------------------------------------------------
> Dr David S. Berry    (dsb at ast.man.ac.uk)
> 
> STARLINK project		 |	Centre for Astrophysics
> (http://www.starlink.ac.uk/)	 |	University of Central Lancashire
> Rutherford Appleton Laboratory	 |	PRESTON
> DIDCOT				 |	United Kingdom
> United Kingdom			 |	PR1 2HE
> OX11 0QX                                Tel. 01772 893733
>                                              01257 273192
> 


-- 
Martin Hill
Software Engineer, AstroGrid (ROE)
07901 55 24 66



More information about the dm mailing list