<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:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@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;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
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;}
span.EmailStyle21
{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:547423917;
mso-list-type:hybrid;
mso-list-template-ids:-447603380 134807569 134807577 134807579 134807567 134807577 134807579 134807567 134807577 134807579;}
@list l1:level1
{mso-level-text:"%1\)";
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level3
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l1:level4
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level6
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l1:level7
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l1:level9
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l2
{mso-list-id:897519542;
mso-list-type:hybrid;
mso-list-template-ids:-1277388338 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l2:level1
{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:1107777440;
mso-list-type:hybrid;
mso-list-template-ids:-710933280 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l3:level1
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l3:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l3:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l3:level4
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l3:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l3:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l3:level7
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Symbol;}
@list l3:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:"Courier New";}
@list l3:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;
font-family:Wingdings;}
@list l4
{mso-list-id:1743483373;
mso-list-type:hybrid;
mso-list-template-ids:-881399866 474656996 134807577 134807579 134807567 134807577 134807579 134807567 134807577 134807579;}
@list l4: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 l4:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l4:level3
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l4:level4
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l4:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l4:level6
{mso-level-number-format:roman-lower;
mso-level-tab-stop:none;
mso-level-number-position:right;
text-indent:-9.0pt;}
@list l4:level7
{mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l4:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-18.0pt;}
@list l4: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><span style='mso-fareast-language:EN-US'>Hi Mike<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>All good questions. Here is my take – of course you must realise that I do not have a fully worked out design in my head so (1) I think it makes sense, but I may be wrong and (2) I hope you can forgive lack of details. <o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>My belief is that it should be relatively easy to complete enough of the design to get a couple of prototype implementations together and then iterate through once or twice more where we see what is missing.<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>Since this should be of general interest I am copying it to the full list so we can get feedback from others – hope that is OK.<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>Regards<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'>..David<o:p></o:p></span></p><p class=MsoNormal><span style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='margin-left:36.0pt'><b><span lang=EN-US>From:</span></b><span lang=EN-US> kearneysolutions@gmail.com <kearneysolutions@gmail.com> <br><b>Sent:</b> 10 July 2021 06:20<br><b>To:</b> david@giaretta.org<br><b>Cc:</b> Steve Hughes (398B) <john.s.hughes@jpl.nasa.gov>; John Garrett <garrett@his.com><br><b>Subject:</b> RE: [Moims-dai] FW: Further thoughts on adapters<o:p></o:p></span></p></div></div><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'>David: In support of the EWA pitch on OAIS-IF, I need to revamp my PPT Architecture charts. I need to incorporate your generic/specific adapter concepts, modified by the discussions we had at the last telecon I was able to attend. <o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'>I’m in Nevada right now, and I’m not sure I’ll be able to be at the telecon next Tuesday 7/13… maybe, but it’s tentative. I definitely won’t be able to attend the telecon on 7/20, but I should be able to be at the one on 7/27. But I want to work on this by email since the EWA presentation is coming up pretty soon. <o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'>I’m looking at your interaction patterns (attached) and I’d like to make some statements, and have you tell me if you agree with them. Basically to insure I understood what you said at that last telecon. <o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l2 level1 lfo1'><![if !supportLists]><span lang=EN-US style='color:#1F497D'><span style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US style='color:#1F497D'>The two generic adapters (Object 1 Generic Adapter and Object3 Generic Adapter2) can be inside the abstraction layer. I think that means the Abstraction Layer Blue Book will have interface descriptions for InfoRequesterSpecificAdapter-to-Abstraction Layer and Abstraction Layer to InformationSourceSpecificAdapter. <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Yes we need those interfaces – I hope we can just define one set of methods in the generic adapter interface that includes source as well as requester since both sides have inputs and outputs. On the other hand we spoke at the meeting of dividing the generic adapter into a requester library and a source library so make things easy. We also need to provide the interface which allows the generic adapters to talk to each other – if we divide it into 2 libraries this is where the requester library talks the source library and vice-versa.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l2 level1 lfo1'><![if !supportLists]><span lang=EN-US style='color:#1F497D'><span style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US style='color:#1F497D'>At least for an archive instance, the InformationSourceSpecificAdapter can be called the ArchiveSpecificAdapter. <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Sure, where it sits in front of an archive. That will probably make it easier to understand. Of course there could/will be InfoSources other than archives.<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>In your PPT, where it is clear that this is in front of an archive then it will not cause confusion to call it an ArchiveSpecificAdapter (which the BB can say is a sub-type of InformationSourceSpecificAdapter).<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l2 level1 lfo1'><![if !supportLists]><span lang=EN-US style='color:#1F497D'><span style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US style='color:#1F497D'>The InfoRequesterSpecificAdapter sits between the User Interface Software and the Archive Layer (at the Object1 GenericAdapter interface). Maybe the InfoRequesterSpecificAdapter could also be called the UserSpecificAdapter? <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US> I tend to like the general name but if having a more user friendly name would help then that would be fine unless it causes confusion where, for example an Archive requests information from another InfoSource e.g. a Registry.<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>In your PPT, where it is clear that this is in front of a User then it will not cause confusion to call it an UserSpecificAdapter (which the BB can say is a sub-type of InfoRequesterSpecificAdapter).<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l2 level1 lfo1'><![if !supportLists]><span lang=EN-US style='color:#1F497D'><span style='mso-list:Ignore'>4.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US style='color:#1F497D'>The registry is a 3<sup>rd</sup> party generally external to the user and the archive. <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Logically this should be the case since I rather imagine that there may be a small number of Registries serving many InfoSources/InfoRequesters<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l2 level1 lfo1'><![if !supportLists]><span lang=EN-US style='color:#1F497D'><span style='mso-list:Ignore'>5.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US style='color:#1F497D'>The Switchboard is also a 3<sup>rd</sup> party generally external to the user and the archive. <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Same as for Registry<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:54.0pt;text-indent:-18.0pt;mso-list:l2 level1 lfo1'><![if !supportLists]><span lang=EN-US style='color:#1F497D'><span style='mso-list:Ignore'>6.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US style='color:#1F497D'>Finally, it would help if you could just list a few functions apiece for the following boxes. I need more of a description of them than I am getting from your discussion on the interaction patterns (below). For example, which ones interpret RepInfo, etc. <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Only the thing that the InfoRequesterAdapter is in front of e.g. the user analysis software, actually needs to interpret RepInfo. All the other things just deal with RepInfo blobs or identifiers. Of course they have to go back to the “user analysis software” to get a hint about what is needed.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l3 level1 lfo2'><![if !supportLists]><span lang=EN-US style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US style='color:#1F497D'>Registry<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>To minimize what we have to do I would look on this as an OAISArchive which only contains Representation Information.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l3 level1 lfo2'><![if !supportLists]><span lang=EN-US style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US style='color:#1F497D'>Switchboard<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>To minimize what we have to do I would see this as an archive (i.e. not necessarily full OAIS) which only contains the connection related info. One question is how long this needs to exist. It could be the same system as the DNS i.e. there are expiry times of an entry after which a “keep-alive” message is sent – but that is well developed by others..<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l3 level1 lfo2'><![if !supportLists]><span lang=EN-US style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US style='color:#1F497D'>InfoReqesterSpecificAdapter (aka UserSpecificAdapter)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>This speaks to the “user analysis software” – I assume that, because <u>initially</u> no one will want to alter their software to deal with OAIS-IF, the easiest way would be to have some configuration file which tells us what the “user analysis software” can deal with e.g. I can deal with CSV files, or this is what to do with Provenance (such as just pop up a text window)<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l3 level1 lfo2'><![if !supportLists]><span lang=EN-US style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US style='color:#1F497D'>InfoSourceSpecificAdapter (aka ArchiveSpecificAdapter</span><span lang=EN-US> when it is in front of an archive<span style='color:#1F497D'>)<o:p></o:p></span></span></p><p class=MsoNormal><span lang=EN-US>This is the one which knows (for example through a configuration file – for the same reasons for the InfoReqesterSpecificAdapter ) how to grab the things needed to make up an InfoObject which will go into the InfoPackage i.e. a DataObject and its RepInfo. The InfoObject may be ProvenanceInfo so it will need to know where to ger the ProvenanceDataObject etc. I can see that there will be some complications if the request is for a sub-set of a DataObject – but that depends upon what the archive offers as a service – again this may be specified in a configuration file.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Eventually archives may support OAIS-IF natively, which would make things easier.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l3 level1 lfo2'><![if !supportLists]><span lang=EN-US style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US style='color:#1F497D'>GenericAdapter subset of the Abstraction Layer.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>This know how to communicate with another GenericAdapter, and how to talk to the SpecificAdapter. It also knows how to pack and unpack PackagedInfoObject which are sent over the network.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'>Also, you proposed changing the ArchiveAbstractionLayer name to the OAIS-IF Abstraction Layer (OAL). Because it serves more than archives. I’m a little confused by that because the word “Archive” is in “OAIS-IF”, so I don’t think you’ve extended the applicability beyond archives by renaming it from AAL to OAL. Can you tell me more about why you want to make that rename? <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>To my ear when one uses AAL I tend to think this only applies to Archives. When I hear OAL I tend to think of this as part of the OAIS suite of standards.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'>Sorry to be having to work this across email rather than telecon, while I’m traveling. Once I get your replies, my plan is to modify the original architecture PPTs to like up with your interaction pattern terminology. <o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'>Thanks, <o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><div><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#002060'> -=- Mike<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#002060'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'>Mike Kearney</span><span lang=EN-US style='color:#002060'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#002060'>Huntsville, Alabama, USA <o:p></o:p></span></p></div><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal style='margin-left:36.0pt'><b><span lang=EN-US>From:</span></b><span lang=EN-US> MOIMS-DAI <<a href="mailto:moims-dai-bounces@mailman.ccsds.org">moims-dai-bounces@mailman.ccsds.org</a>> <b>On Behalf Of </b><a href="mailto:david@giaretta.org">david@giaretta.org</a><br><b>Sent:</b> Friday, June 25, 2021 7:49 AM<br><b>To:</b> MOIMS-DAI List <<a href="mailto:moims-dai@mailman.ccsds.org">moims-dai@mailman.ccsds.org</a>><br><b>Subject:</b> [Moims-dai] FW: Further thoughts on adapters<o:p></o:p></span></p></div></div><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'>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 style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo3'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:108.0pt;text-indent:-18.0pt;mso-list:l1 level2 lfo3'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>a.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:108.0pt;text-indent:-18.0pt;mso-list:l1 level2 lfo3'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>b.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo3'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt'><span lang=EN-US>This generic portion does the following things:<o:p></o:p></span></p><p class=MsoListParagraph style='margin-left:108.0pt;text-indent:-18.0pt;mso-list:l1 level2 lfo3'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>a.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US>Find out about InfoSource using interface we define<o:p></o:p></span></p><p class=MsoListParagraph style='margin-left:108.0pt;text-indent:-18.0pt;mso-list:l1 level2 lfo3'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>b.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt'><span lang=EN-US>This is done just once for each source (or requester) [5], [6]<o:p></o:p></span></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo3'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>3)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo3'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>4)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo3'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>5)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo3'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>6)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo3'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>7)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo3'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>8)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo3'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>9)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo3'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>10)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'>Clearly the diagram needs some tweaks but I think this identifies the main steps. <o:p></o:p></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'>Regards<o:p></o:p></p><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'>..David<o:p></o:p></p><p class=MsoNormal style='margin-left:36.0pt'><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 style='margin-left:36.0pt'><b><span lang=EN-US>From:</span></b><span lang=EN-US> <a href="mailto:david@giaretta.org">david@giaretta.org</a> <<a href="mailto:david@giaretta.org">david@giaretta.org</a>> <br><b>Sent:</b> 22 June 2021 13:32<br><b>To:</b> MOIMS-DAI List <<a href="mailto:moims-dai@mailman.ccsds.org">moims-dai@mailman.ccsds.org</a>><br><b>Subject:</b> Further thoughts on adapters<o:p></o:p></span></p></div></div><p class=MsoNormal style='margin-left:36.0pt'><o:p> </o:p></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US>Dearf all<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><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 style='margin-left:36.0pt'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><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 style='margin-left:36.0pt'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><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 style='margin-left:36.0pt'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo4'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:108.0pt;text-indent:-18.0pt;mso-list:l0 level2 lfo4'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>a.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:108.0pt;text-indent:-18.0pt;mso-list:l0 level2 lfo4'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>b.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo4'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:108.0pt;text-indent:-18.0pt;mso-list:l0 level2 lfo4'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>a.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US>Find out about InfoSource using interface we define<o:p></o:p></span></p><p class=MsoListParagraph style='margin-left:108.0pt;text-indent:-18.0pt;mso-list:l0 level2 lfo4'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>b.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt'><span lang=EN-US>This is done just once for each source (or requester)<o:p></o:p></span></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo4'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>3)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo4'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>4)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo4'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>5)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo4'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>6)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo4'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>7)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo4'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>8)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo4'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>9)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l0 level1 lfo4'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>10)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><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 style='margin-left:36.0pt'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US>So we need to define<o:p></o:p></span></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l4 level1 lfo5'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>A)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US>The interface between the generic and specific adapters<o:p></o:p></span></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l4 level1 lfo5'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>B)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l4 level1 lfo5'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>C)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US>The OAIS-IF objects sent over the wire – most of this Steve has defined<o:p></o:p></span></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l4 level1 lfo5'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>D)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span lang=EN-US>The Switchboard is just another InfoSource, as is the Registry<o:p></o:p></span></p><p class=MsoListParagraph style='margin-left:72.0pt;text-indent:-18.0pt;mso-list:l4 level1 lfo5'><![if !supportLists]><span lang=EN-US><span style='mso-list:Ignore'>E)<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><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></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US>Hope to discuss this at the Skype meeting later today.<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US>Regards<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US>..David<o:p></o:p></span></p><p class=MsoNormal style='margin-left:36.0pt'><span lang=EN-US><o:p> </o:p></span></p></div></body></html>