<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
span.EmailStyle20
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:293871823;
        mso-list-type:hybrid;
        mso-list-template-ids:-447603380 134807569 134807577 134807579 134807567 134807577 134807579 134807567 134807577 134807579;}
@list l0:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l1
        {mso-list-id:405567566;
        mso-list-template-ids:990390246;}
@list l1:level1
        {mso-level-start-at:3;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2
        {mso-list-id:547423917;
        mso-list-type:hybrid;
        mso-list-template-ids:-447603380 134807569 134807577 134807579 134807567 134807577 134807579 134807567 134807577 134807579;}
@list l2:level1
        {mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l2:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l2:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l2:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l3
        {mso-list-id:741487720;
        mso-list-template-ids:2066534416;}
@list l3:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:72.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l4
        {mso-list-id:782698843;
        mso-list-template-ids:640468482;}
@list l4:level1
        {mso-level-number-format:alpha-upper;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l4:level2
        {mso-level-number-format:alpha-upper;
        mso-level-tab-stop:72.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l4:level3
        {mso-level-number-format:alpha-upper;
        mso-level-tab-stop:108.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l4:level4
        {mso-level-number-format:alpha-upper;
        mso-level-tab-stop:144.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l4:level5
        {mso-level-number-format:alpha-upper;
        mso-level-tab-stop:180.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l4:level6
        {mso-level-number-format:alpha-upper;
        mso-level-tab-stop:216.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l4:level7
        {mso-level-number-format:alpha-upper;
        mso-level-tab-stop:252.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l4:level8
        {mso-level-number-format:alpha-upper;
        mso-level-tab-stop:288.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l4:level9
        {mso-level-number-format:alpha-upper;
        mso-level-tab-stop:324.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l5
        {mso-list-id:1743483373;
        mso-list-type:hybrid;
        mso-list-template-ids:-881399866 474656996 134807577 134807579 134807567 134807577 134807579 134807567 134807577 134807579;}
@list l5:level1
        {mso-level-number-format:alpha-upper;
        mso-level-text:"%1\)";
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l5:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l5:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l5:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l5:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l5:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l5:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l5:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-18.0pt;}
@list l5:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0cm;}
ul
        {margin-bottom:0cm;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-GB link="#0563C1" vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal>As suggested during the meeting on Tuesday I have added numbers to the text description to identify the corresponding arrows in the diagram.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><ol style='margin-top:0cm' start=1 type=1><li class=MsoListParagraph style='margin-left:0cm;mso-list:l2 level1 lfo3'><span lang=EN-US>Each will need to buy/borrow/create their specific portion of the adapter that depends upon its specific software design and capabilities e.g. <o:p></o:p></span></li><ol style='margin-top:0cm' start=1 type=a><li class=MsoListParagraph style='margin-left:0cm;mso-list:l2 level2 lfo3'><span lang=EN-US>for an InfoSource - is it a simple file server which we can supplement with a database of RepInfo etc         [1]<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l2 level2 lfo3'><span lang=EN-US>for an InfoRequester – can it deal with tables and/or images or is it only for displaying documents etc               [2]<o:p></o:p></span></li></ol><li class=MsoListParagraph style='margin-left:0cm;mso-list:l2 level1 lfo3'><span lang=EN-US>They each then install the generic portion of the adapter – I think this can be common to all.                                       [3], [4]<o:p></o:p></span></li></ol><p class=MsoListParagraph><span lang=EN-US>This generic portion does the following things:<o:p></o:p></span></p><ol style='margin-top:0cm' start=2 type=1><ol style='margin-top:0cm' start=1 type=a><li class=MsoListParagraph style='margin-left:0cm;mso-list:l2 level2 lfo3'><span lang=EN-US>Find out about InfoSource using interface we define<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l2 level2 lfo3'><span lang=EN-US>Register itself and the InfoSource with the Switchboard e.g. how others can communicate with it – HTTP/port80 or HTTP/port 2678 or REST or CORBA or RMI etc etc<o:p></o:p></span></li></ol></ol><p class=MsoListParagraph><span lang=EN-US>This is done just once for each source (or requester)                                                                                                            [5], [6]<o:p></o:p></span></p><ol style='margin-top:0cm' start=3 type=1><li class=MsoListParagraph style='margin-left:0cm;mso-list:l2 level1 lfo3'><span lang=EN-US>During operations the requester discovers somehow that it needs some information from an InfoSource – how this is done is not covered here. I think lots of work has been done by others, and OAIS does not really provide any guidance.<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l2 level1 lfo3'><span lang=EN-US>InfoRequester generic adapter finds out from the Switchboard how to talk to the InfoSource in order to fit into the “OAIS-IF world”, and sets up the communication [7].[8], [9]<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l2 level1 lfo3'><span lang=EN-US>The specific adapter of InfoRequester passes on the request to the generic adapter which passes on the request to the InformationSource generic adapter         [10], [11]<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l2 level1 lfo3'><span lang=EN-US>The generic adapter of the InfoSource receives the request and passes it to the specific adapter which gets the DataObject and RepInfo (at least the start of the RepInfoNetwork) and passes that back                                                                                                                                        [NOT SHOWN]<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l2 level1 lfo3'><span lang=EN-US>The InfoSource generic adapter creates an PackagedInfo object and sends that to the generic adapter of the InfoRequester  [12]<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l2 level1 lfo3'><span lang=EN-US>The generic adapter of the InfoRequester asks the specific adapter if this is OK. If not then the generic adapter exchanges messages with the InfoSource generic adapter, which may need to talk to the InfoSource specific adapter.                                                                                              [13], [14], [15], [16], [17]<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l2 level1 lfo3'><span lang=EN-US>PackagedInformation packages are send containing RepInfo until the InfoRequester is satisfied, or else a strategy is decided to use Transformation, if the InfoSource can do that                                                                                                                                                                                                [18], [19], [20], [21]<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l2 level1 lfo3'><span lang=EN-US>It may be that a Registry of RepInfo (essentially another InformationSource) is available and known to the generic adapter, and additional RepInfo may be obtained from that.                                                                                                                                                                                                     [22], [23]<o:p></o:p></span></li></ol><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Clearly the diagram needs some tweaks but I think this identifies the main steps. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Regards<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>..David<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span lang=EN-US style='mso-fareast-language:EN-GB'>From:</span></b><span lang=EN-US style='mso-fareast-language:EN-GB'> david@giaretta.org <david@giaretta.org> <br><b>Sent:</b> 22 June 2021 13:32<br><b>To:</b> MOIMS-DAI List <moims-dai@mailman.ccsds.org><br><b>Subject:</b> Further thoughts on adapters<o:p></o:p></span></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span lang=EN-US>Dearf all<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Thinking some more about adapters and what they need to do I have the following suggestion, making some additions to the diagram I sent out yesterday.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>I think we can separate the adapter into 2 parts, (1) a part which  is very specific to the object that is sending or receiving information, (2) a generic part which contains much of the logic about packages and requests. The interface between these two parts can be specified – but I only have it in outline at the moment.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Taking some inspiration from Mike’s PPT diagrams I think we can describe the setup and operations as follows for a given pair of InfoRequester and InfoSource<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><ol style='margin-top:0cm' start=1 type=1><li class=MsoListParagraph style='margin-left:0cm;mso-list:l0 level1 lfo9'><span lang=EN-US>Each will need to buy/borrow/create their specific portion of the adapter that depends upon its specific software design and capabilities e.g. <o:p></o:p></span></li><ol style='margin-top:0cm' start=1 type=a><li class=MsoListParagraph style='margin-left:0cm;mso-list:l0 level2 lfo9'><span lang=EN-US>for an InfoSource - is it a simple file server which we can supplement with a database of RepInfo etc<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l0 level2 lfo9'><span lang=EN-US>for an InfoRequester – can it deal with tables and/or images or is it only for displaying documents etc<o:p></o:p></span></li></ol><li class=MsoListParagraph style='margin-left:0cm;mso-list:l0 level1 lfo9'><span lang=EN-US>They each then install the generic portion of the adapter – I think this can be common to all. This generic portion does the following things:<o:p></o:p></span></li><ol style='margin-top:0cm' start=1 type=a><li class=MsoListParagraph style='margin-left:0cm;mso-list:l0 level2 lfo9'><span lang=EN-US>Find out about InfoSource using interface we define<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l0 level2 lfo9'><span lang=EN-US>Register itself and the InfoSource with the Switchboard e.g. how others can communicate with it – HTTP/port80 or HTTP/port 2678 or REST or CORBA or RMI etc etc<o:p></o:p></span></li></ol></ol><p class=MsoListParagraph><span lang=EN-US>This is done just once for each source (or requester)<o:p></o:p></span></p><ol style='margin-top:0cm' start=3 type=1><li class=MsoListParagraph style='margin-left:0cm;mso-list:l0 level1 lfo9'><span lang=EN-US>During operations the requester discovers somehow that it needs some information from an InfoSource – how this is done is not covered here. I think lots of work has been done by others, and OAIS does not really provide any guidance.<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l0 level1 lfo9'><span lang=EN-US>InfoRequester generic adapter finds out from the Switchboard how to talk to the InfoSource in order to fit into the “OAIS-IF world”, and sets up the communication<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l0 level1 lfo9'><span lang=EN-US>The specific adapter of InfoRequester passes on the request to the generic adapter which passes on the request to the InformationSource generic adapter<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l0 level1 lfo9'><span lang=EN-US>The generic adapter of the InfoSource receives the request and passes it to the specific adapter which gets the DataObject and RepInfo (at least the start of the RepInfoNetwork) and passes that back<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l0 level1 lfo9'><span lang=EN-US>The InfoSource generic adapter creates an PackagedInfo object and sends that to the generic adapter of the InfoRequester<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l0 level1 lfo9'><span lang=EN-US>The generic adapter of the InfoRequester asks the specific adapter if this is OK. If not then the generic adapter exchanges messages with the InfoSource generic adapter, which may need to talk to the InfoSource specific adapter.<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l0 level1 lfo9'><span lang=EN-US>PackagedInformation packages are send containing RepInfo until the InfoRequester is satisfied, or else a strategy is decided to use Transformation, if the InfoSource can do that<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l0 level1 lfo9'><span lang=EN-US>It may be that a Registry of RepInfo (essentially another InformationSource) is available and known to the generic adapter, and additional RepInfo may be obtained from that.<o:p></o:p></span></li></ol><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>A diagram which tries to capture this is attached – an update of the diagram sent yesterday.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>So we need to define<o:p></o:p></span></p><ol style='margin-top:0cm' start=1 type=A><li class=MsoListParagraph style='margin-left:0cm;mso-list:l5 level1 lfo8'><span lang=EN-US>The interface between the generic and specific adapters<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l5 level1 lfo8'><span lang=EN-US>The outward facing generic adapter interfaces and logic – a lot of this is in the GB draft<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l5 level1 lfo8'><span lang=EN-US>The OAIS-IF objects sent over the wire – most of this Steve has defined<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l5 level1 lfo8'><span lang=EN-US>The Switchboard is just another InfoSource, as is the Registry<o:p></o:p></span></li><li class=MsoListParagraph style='margin-left:0cm;mso-list:l5 level1 lfo8'><span lang=EN-US>The  interfaces to deposit information into an InfoSource – the Producer/Archive interface – to be done later because it is rather more difficult to do generically<o:p></o:p></span></li></ol><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Hope to discuss this at the Skype meeting later today.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Regards<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>..David<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p></div></body></html>