<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:0in;
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:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle21
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
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:-.25in;}
@list l0:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@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:-.25in;}
@list l0:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@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:-.25in;}
@list l0:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@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:-.25in;}
@list l1:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@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:-.25in;}
@list l1:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@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:-.25in;}
@list l1:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@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:-.25in;}
@list l2:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@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:-.25in;}
@list l2:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@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:-.25in;}
@list l2:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@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:-.25in;
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:-.25in;
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:-.25in;
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:-.25in;
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:-.25in;
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:-.25in;
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:-.25in;
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:-.25in;
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:-.25in;
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:-.25in;}
@list l4:level2
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@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:-.25in;}
@list l4:level5
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@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:-.25in;}
@list l4:level8
{mso-level-number-format:alpha-lower;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;}
@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:0in;}
ul
{margin-bottom:0in;}
--></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-US link="#0563C1" vlink="#954F72" style='word-wrap:break-word'><div class=WordSection1><p class=MsoNormal><span style='color:#1F497D'>All good answers, David. With that I’ll start to update the EWA presentation. <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>A few more follow-up questions… <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>On applicability: <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span 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>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></p><p class=MsoNormal><span style='color:#1F497D'>MK – I thought all standards from DAI, meaning the OAIS suite of standards, apply only to archives. We’re not trying to get it to apply to systems other than archives, like other CCSDS working groups or other IT systems worldwide, right? Because earlier, I thought that was what you were saying. I think we need to stay “in our box” and indicate that it applies only to Archives (OAIS archives or non-OAIS but OAIS-IF archives) by calling it the Archive Abstraction Layer. <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>On allocation of functions: <o:p></o:p></span></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l3 level1 lfo4'><![if !supportLists]><span style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span style='color:#1F497D'>InfoSourceSpecificAdapter (aka ArchiveSpecificAdapter</span> when it is in front of an archive<span style='color:#1F497D'>)<o:p></o:p></span></p><p class=MsoNormal>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.<span style='color:#1F497D'><o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>MK – all of those functions sound like functions *<b>of the archive</b>*. It seems like you’re taking functions that belong in the archive, and putting them in the user’s software. Like you’re expecting the user to take the AIP and build a DIP package by assembling “the things neeed to make up an InfoObject” or InfoPackage. Why would we do that? <o:p></o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><div><p class=MsoNormal><span style='color:#002060'> -=- Mike<o:p></o:p></span></p><p class=MsoNormal><span style='color:#002060'><o:p> </o:p></span></p><p class=MsoNormal><span style='color:#1F497D'>Mike Kearney</span><span style='color:#002060'><o:p></o:p></span></p><p class=MsoNormal><span style='color:#002060'>Huntsville, Alabama, USA <o:p></o:p></span></p></div><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b>From:</b> david@giaretta.org <david@giaretta.org> <br><b>Sent:</b> Saturday, July 10, 2021 6:49 AM<br><b>To:</b> kearneysolutions@gmail.com<br><b>Cc:</b> 'Steve Hughes (398B)' <john.s.hughes@jpl.nasa.gov>; 'John Garrett' <garrett@his.com>; MOIMS-DAI List <moims-dai@mailman.ccsds.org><br><b>Subject:</b> RE: [Moims-dai] FW: Further thoughts on adapters<o:p></o:p></p></div></div><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span lang=EN-GB>Hi Mike<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-GB>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 lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-GB>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 lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-GB>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 lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-GB>Regards<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-GB>..David<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-GB><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='margin-left:.5in'><b>From:</b> <a href="mailto:kearneysolutions@gmail.com">kearneysolutions@gmail.com</a> <<a href="mailto:kearneysolutions@gmail.com">kearneysolutions@gmail.com</a>> <br><b>Sent:</b> 10 July 2021 06:20<br><b>To:</b> <a href="mailto:david@giaretta.org">david@giaretta.org</a><br><b>Cc:</b> Steve Hughes (398B) <<a href="mailto:john.s.hughes@jpl.nasa.gov">john.s.hughes@jpl.nasa.gov</a>>; John Garrett <<a href="mailto:garrett@his.com">garrett@his.com</a>><br><b>Subject:</b> RE: [Moims-dai] FW: Further thoughts on adapters<o:p></o:p></p></div></div><p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span 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:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span 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:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span 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:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo2'><![if !supportLists]><span style='color:#1F497D'><span style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span 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>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></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo2'><![if !supportLists]><span style='color:#1F497D'><span style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span 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>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></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>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></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo2'><![if !supportLists]><span style='color:#1F497D'><span style='mso-list:Ignore'>3.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span 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> 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></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>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></p><p class=MsoNormal><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo2'><![if !supportLists]><span style='color:#1F497D'><span style='mso-list:Ignore'>4.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span 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>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></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo2'><![if !supportLists]><span style='color:#1F497D'><span style='mso-list:Ignore'>5.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span 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>Same as for Registry<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:.75in;text-indent:-.25in;mso-list:l2 level1 lfo2'><![if !supportLists]><span style='color:#1F497D'><span style='mso-list:Ignore'>6.<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span 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>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></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l3 level1 lfo4'><![if !supportLists]><span style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span style='color:#1F497D'>Registry<o:p></o:p></span></p><p class=MsoNormal>To minimize what we have to do I would look on this as an OAISArchive which only contains Representation Information.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l3 level1 lfo4'><![if !supportLists]><span style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span style='color:#1F497D'>Switchboard<o:p></o:p></span></p><p class=MsoNormal>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></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l3 level1 lfo4'><![if !supportLists]><span style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span style='color:#1F497D'>InfoReqesterSpecificAdapter (aka UserSpecificAdapter)<o:p></o:p></span></p><p class=MsoNormal>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></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l3 level1 lfo4'><![if !supportLists]><span style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span style='color:#1F497D'>InfoSourceSpecificAdapter (aka ArchiveSpecificAdapter</span> when it is in front of an archive<span style='color:#1F497D'>)<o:p></o:p></span></p><p class=MsoNormal>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></p><p class=MsoNormal>Eventually archives may support OAIS-IF natively, which would make things easier.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l3 level1 lfo4'><![if !supportLists]><span style='font-family:Symbol;color:#1F497D'><span style='mso-list:Ignore'>·<span style='font:7.0pt "Times New Roman"'> </span></span></span><![endif]><span style='color:#1F497D'>GenericAdapter subset of the Abstraction Layer.<o:p></o:p></span></p><p class=MsoNormal>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></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span 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>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></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span 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:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>Thanks, <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p><div><p class=MsoNormal style='margin-left:.5in'><span style='color:#002060'> -=- Mike<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#002060'><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'>Mike Kearney</span><span style='color:#002060'><o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span style='color:#002060'>Huntsville, Alabama, USA <o:p></o:p></span></p></div><p class=MsoNormal style='margin-left:.5in'><span style='color:#1F497D'><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='margin-left:.5in'><b>From:</b> 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></p></div></div><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p><p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB>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></span></p><p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level1 lfo6'><![if !supportLists]><span style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.5in;text-indent:-.25in;mso-list:l1 level2 lfo6'><![if !supportLists]><span style='mso-list:Ignore'>a.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>for an InfoSource - is it a simple file server which we can supplement with a database of RepInfo etc [1]<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.5in;text-indent:-.25in;mso-list:l1 level2 lfo6'><![if !supportLists]><span style='mso-list:Ignore'>b.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>for an InfoRequester – can it deal with tables and/or images or is it only for displaying documents etc [2]<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level1 lfo6'><![if !supportLists]><span style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>They each then install the generic portion of the adapter – I think this can be common to all. [3], [4]<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in'>This generic portion does the following things:<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.5in;text-indent:-.25in;mso-list:l1 level2 lfo6'><![if !supportLists]><span style='mso-list:Ignore'>a.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Find out about InfoSource using interface we define<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.5in;text-indent:-.25in;mso-list:l1 level2 lfo6'><![if !supportLists]><span style='mso-list:Ignore'>b.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.0in'>This is done just once for each source (or requester) [5], [6]<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level1 lfo6'><![if !supportLists]><span style='mso-list:Ignore'>3)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level1 lfo6'><![if !supportLists]><span style='mso-list:Ignore'>4)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level1 lfo6'><![if !supportLists]><span style='mso-list:Ignore'>5)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level1 lfo6'><![if !supportLists]><span style='mso-list:Ignore'>6)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level1 lfo6'><![if !supportLists]><span style='mso-list:Ignore'>7)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>The InfoSource generic adapter creates an PackagedInfo object and sends that to the generic adapter of the InfoRequester [12]<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level1 lfo6'><![if !supportLists]><span style='mso-list:Ignore'>8)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level1 lfo6'><![if !supportLists]><span style='mso-list:Ignore'>9)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level1 lfo6'><![if !supportLists]><span style='mso-list:Ignore'>10)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB>Clearly the diagram needs some tweaks but I think this identifies the main steps. <o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB>Regards<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB>..David<o:p></o:p></span></p><p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB><o:p> </o:p></span></p><div><div style='border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal style='margin-left:.5in'><b>From:</b> <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></p></div></div><p class=MsoNormal style='margin-left:.5in'><span lang=EN-GB><o:p> </o:p></span></p><p class=MsoNormal style='margin-left:.5in'>Dearf all<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p><p class=MsoNormal style='margin-left:.5in'>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></p><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p><p class=MsoNormal style='margin-left:.5in'>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></p><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p><p class=MsoNormal style='margin-left:.5in'>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></p><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo8'><![if !supportLists]><span style='mso-list:Ignore'>1)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.5in;text-indent:-.25in;mso-list:l0 level2 lfo8'><![if !supportLists]><span style='mso-list:Ignore'>a.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>for an InfoSource - is it a simple file server which we can supplement with a database of RepInfo etc<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.5in;text-indent:-.25in;mso-list:l0 level2 lfo8'><![if !supportLists]><span style='mso-list:Ignore'>b.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>for an InfoRequester – can it deal with tables and/or images or is it only for displaying documents etc<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo8'><![if !supportLists]><span style='mso-list:Ignore'>2)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.5in;text-indent:-.25in;mso-list:l0 level2 lfo8'><![if !supportLists]><span style='mso-list:Ignore'>a.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Find out about InfoSource using interface we define<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.5in;text-indent:-.25in;mso-list:l0 level2 lfo8'><![if !supportLists]><span style='mso-list:Ignore'>b.<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.0in'>This is done just once for each source (or requester)<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo8'><![if !supportLists]><span style='mso-list:Ignore'>3)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo8'><![if !supportLists]><span style='mso-list:Ignore'>4)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo8'><![if !supportLists]><span style='mso-list:Ignore'>5)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo8'><![if !supportLists]><span style='mso-list:Ignore'>6)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo8'><![if !supportLists]><span style='mso-list:Ignore'>7)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>The InfoSource generic adapter creates an PackagedInfo object and sends that to the generic adapter of the InfoRequester<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo8'><![if !supportLists]><span style='mso-list:Ignore'>8)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo8'><![if !supportLists]><span style='mso-list:Ignore'>9)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo8'><![if !supportLists]><span style='mso-list:Ignore'>10)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p><p class=MsoNormal style='margin-left:.5in'>A diagram which tries to capture this is attached – an update of the diagram sent yesterday.<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p><p class=MsoNormal style='margin-left:.5in'>So we need to define<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l4 level1 lfo10'><![if !supportLists]><span style='mso-list:Ignore'>A)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>The interface between the generic and specific adapters<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l4 level1 lfo10'><![if !supportLists]><span style='mso-list:Ignore'>B)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>The outward facing generic adapter interfaces and logic – a lot of this is in the GB draft<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l4 level1 lfo10'><![if !supportLists]><span style='mso-list:Ignore'>C)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>The OAIS-IF objects sent over the wire – most of this Steve has defined<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l4 level1 lfo10'><![if !supportLists]><span style='mso-list:Ignore'>D)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>The Switchboard is just another InfoSource, as is the Registry<o:p></o:p></p><p class=MsoListParagraph style='margin-left:1.0in;text-indent:-.25in;mso-list:l4 level1 lfo10'><![if !supportLists]><span style='mso-list:Ignore'>E)<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>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></p><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p><p class=MsoNormal style='margin-left:.5in'>Hope to discuss this at the Skype meeting later today.<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p><p class=MsoNormal style='margin-left:.5in'>Regards<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p><p class=MsoNormal style='margin-left:.5in'>..David<o:p></o:p></p><p class=MsoNormal style='margin-left:.5in'><o:p> </o:p></p></div></body></html>