Issue 8886: repeat of arguments issue (xtce-rtf) Source: NASA (Mr. Kevin Rice, james.k.rice-1(at)nasa.gov) Nature: Uncategorized Issue Severity: Summary: The following command makes use of a repeat block of arguments: ack_packets ( num_acks, ack_block ) Ack_block consists of three arguments: pkt_start, pkt_end and pkt_time This would be a perfectly valid command: ack_block[0].pkt_start = 1 ack_block[0].pkt_end = 1 ack_block[0].pkt_time = 00:00:00 ack_packets ( 1, ack_block ) ---- This is not capturable in XTCE because there is no mechanism for having REPEATS of ARGUMENTS. There are workarounds but there are less than ideal, they are: -- use an array, this is problematic because the types of each sub-field may be different (see above, pkt_time is a TIME type) -- treat them as parameters... which they are not... Resolution: Repeating arguments for memory loads Extension of the argument concept to cover repeating argument blocks is not in the scope of the original RFP. There is a workaround that utilizes aggregrate parameter types instead of arguments. Revised Text: Actions taken: June 28, 2005: received issue April 2, 2018: Closed; Out Of Scope Discussion: Resolution: Use parameters in the command area instead of arguments as a workaround. This feature may be considered for a future revision. End of Annotations:===== m: "Kevin Rice" To: Subject: repeat of arguments issue Date: Tue, 28 Jun 2005 18:58:50 -0400 X-Mailer: Microsoft Outlook Express 6.00.2900.2180 X-OriginalArrivalTime: 28 Jun 2005 22:58:52.0058 (UTC) FILETIME=[F3D037A0:01C57C34] The following command makes use of a repeat block of arguments: ack_packets ( num_acks, ack_block ) Ack_block consists of three arguments: pkt_start, pkt_end and pkt_time This would be a perfectly valid command: ack_block[0].pkt_start = 1 ack_block[0].pkt_end = 1 ack_block[0].pkt_time = 00:00:00 ack_packets ( 1, ack_block ) ---- This is not capturable in XTCE because there is no mechanism for having REPEATS of ARGUMENTS. There are workarounds but there are less than ideal, they are: -- use an array, this is problematic because the types of each sub-field may be different (see above, pkt_time is a TIME type) -- treat them as parameters... which they are not... From: "Kevin Rice" To: Subject: Re: repeat of arguments issue Date: Tue, 28 Jun 2005 19:00:21 -0400 X-Mailer: Microsoft Outlook Express 6.00.2900.2180 X-OriginalArrivalTime: 28 Jun 2005 23:00:22.0470 (UTC) FILETIME=[29B3FE60:01C57C35] SORRY let me clarify - there is NO way to capture a REPEAT of a ***BLOCK*** of ARGUMENTS... ----- Original Message ----- From: Kevin Rice To: xtce-rtf@omg.org Sent: Tuesday, June 28, 2005 6:58 PM Subject: repeat of arguments issue The following command makes use of a repeat block of arguments: ack_packets ( num_acks, ack_block ) Ack_block consists of three arguments: pkt_start, pkt_end and pkt_time This would be a perfectly valid command: ack_block[0].pkt_start = 1 ack_block[0].pkt_end = 1 ack_block[0].pkt_time = 00:00:00 ack_packets ( 1, ack_block ) ---- This is not capturable in XTCE because there is no mechanism for having REPEATS of ARGUMENTS. There are workarounds but there are less than ideal, they are: -- use an array, this is problematic because the types of each sub-field may be different (see above, pkt_time is a TIME type) -- treat them as parameters... which they are not... Date: Fri, 15 Jul 2005 13:57:04 -0400 From: Ed Shaya User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7.6) Gecko/20050319 X-Accept-Language: en-us, en To: Juergen Boldt Cc: issues@omg.org, xtce-rtf@omg.org, Jonathan Gal-Edd , Kevin Rice Subject: Re: issue 8886 -- XTCE RTF issue The example below would work if ack_block is defined as a string array. But, really what one has here is a Container named ack_block that holds three arguments (int, int, and date). So it looks like you just want to put these arguments into a CommandContainers (with nothing else), name it ack_block and then put that into real CommandContainers. This may not be the way we envisioned CommandContainers to be used, but I don't see why not. So, I would say nothing needs to change. Ed Juergen Boldt wrote: This is issue # 8886 From: "Kevin Rice" repeat of arguments issue The following command makes use of a repeat block of arguments: ack_packets ( num_acks, ack_block ) Ack_block consists of three arguments: pkt_start, pkt_end and pkt_time This would be a perfectly valid command: ack_block[0].pkt_start = 1 ack_block[0].pkt_end = 1 ack_block[0].pkt_time = 00:00:00 ack_packets ( 1, ack_block ) ---- This is not capturable in XTCE because there is no mechanism for having REPEATS of ARGUMENTS. There are workarounds but there are less than ideal, they are: -- use an array, this is problematic because the types of each sub-field may be different (see above, pkt_time is a TIME type) -- treat them as parameters... which they are not... ================================= Jürgen Boldt Director, Member Services Object Management Group 250 First Avenue, Suite 100 Needham, MA 02494 Tel. +1 781 444 0404 ext. 132 Fax: +1 781 444 0320 email: juergen@omg.org www www.omg.org ================================ From: "Kevin Rice" To: "Ed Shaya" Cc: , "Jonathan Gal-Edd" Subject: Re: issue 8886 -- XTCE RTF issue Date: Fri, 15 Jul 2005 14:36:43 -0400 X-Mailer: Microsoft Outlook Express 6.00.2900.2180 X-OriginalArrivalTime: 15 Jul 2005 18:36:42.0977 (UTC) FILETIME=[2592AD10:01C5896C] Ed, look in CommandContainerSet/CommandContainer/EntryList -- there's no place to put an argumentRef. 2nd pt -- the metcommand area, arguments are considered to be "human writable" only so they only show up in this section -- this model may not fit with GSFC/NASA science missions... A quick fix would be to argumentRef in CommandContainerSet/CommandContainer/EntryList - however this "breaks" the model that is there as outlined above... Gerry would say: "because those arguments are set by machine, they are really parameters" I think this leads to mass confusion due to a naming collision with telemetry... people will be confused. FURTHER in the NASA WORLD most folks use Argument (i think) to mean -- things that are set at runtime to fill out a command... human operator or not it's a good discussion area really ----- Original Message ----- From: "Ed Shaya" To: "Juergen Boldt" Cc: ; ; "Jonathan Gal-Edd" ; "Kevin Rice" Sent: Friday, July 15, 2005 1:57 PM Subject: Re: issue 8886 -- XTCE RTF issue The example below would work if ack_block is defined as a string array. But, really what one has here is a Container named ack_block that holds three arguments (int, int, and date). So it looks like you just want to put these arguments into a CommandContainers (with nothing else), name it ack_block and then put that into real CommandContainers. This may not be the way we envisioned CommandContainers to be used, but I don't see why not. So, I would say nothing needs to change. Ed Juergen Boldt wrote: This is issue # 8886 From: "Kevin Rice" repeat of arguments issue The following command makes use of a repeat block of arguments: ack_packets ( num_acks, ack_block ) Ack_block consists of three arguments: pkt_start, pkt_end and pkt_time This would be a perfectly valid command: ack_block[0].pkt_start = 1 ack_block[0].pkt_end = 1 ack_block[0].pkt_time = 00:00:00 ack_packets ( 1, ack_block ) ---- This is not capturable in XTCE because there is no mechanism for having REPEATS of ARGUMENTS. There are workarounds but there are less than ideal, they are: -- use an array, this is problematic because the types of each sub-field may be different (see above, pkt_time is a TIME type) -- treat them as parameters... which they are not... ================================= Jürgen Boldt Director, Member Services Object Management Group 250 First Avenue, Suite 100 Needham, MA 02494 Tel. +1 781 444 0404 ext. 132 Fax: +1 781 444 0320 email: juergen@omg.org www www.omg.org ================================