How to Aggregate? Appendix A.1 and Figure 23 unclear

Hugo Buddelmeijer hugo at buddelmeijer.nl
Tue May 28 12:16:21 CEST 2019


Dear Data Modelers,

Could someone please give me a VO-DML/XML example of the Aggregation
pattern shown in Figure 23 of VO-DML-REC-v1.0?

*Background:*
VO-DML-REC-v1.0 gives various arguments to why aggregation is excluded
VO-DML. These reasons make sense. Using a composition has it's advantages
and is indeed how aggregation is implemented in our relation database
backends.

But the document is not quite clear on how to represent something like an
aggregation. The only prose it has is "aggregation can be represented by
the pattern illustrated in Figure 23", and this figure is not clear to me.

*Problem:*
Here is figure 22, the UML aggregation:
  *A* blue-open-diamond-arrow-> *B*
  *A ◇⟶ B*

Figure 23, the VO-DML aggregation pattern:
  *A*  blue-filled-diamond-arrow-> *AB* green-arrow-> *B*
  *A ◆⟶ AB ⟶ B*

My interpretation of figure 23 is that the blue-filled-diamond-arrow
represents a composition. This makes sense: every A is composed of one AB
(among other things), and AB's are only used for composing A's. So far so
good.

But the green-arrow is a normal reference right? So the AB refers to 0 or
more B's. This again violates the multiplicty guidelines as stated in 4.19.
What am I missing?

*Goal:*
A bit more background for clarification. What I'm modeling is the
relationship between a MasterDark and a set of RawDarks. That is, a
MasterDark calibration frame is created by median stacking (or whatever) a
set of RawDark calibration frames of a specific time period.

So both the RawDark and the MasterDark are standalone entities. Any
MasterDark instance should refer to many RawDark instances somehow. The
same RawDark can be used in the creation of many MasterDark instances. And
RawDarks can be used for other things than creating MasterDarks. How to do
this in VO-DML?

(There is some overlap here with ProvenanceDM obviously. I haven't yet
looked how it is solved there.)

*Solution?:*
Maybe the idea is that an A is composed of multiple AB's and that each AB
refers to a single B?

That does work but looks rather ugly to me.


Thanks,

Hugo
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.ivoa.net/pipermail/dm/attachments/20190528/1ab39da1/attachment.html>


More information about the dm mailing list