!standard 21 09-05-15 SI99-0049-1/01 !class Binding Interpretation 09-03-16 !status work item 09-05-15 !status received 09-02-25 !priority Low !difficulty Easy !qualifier Omission !subject Asis.Ids should be obsolescent !summary Asis.Ids is obsolescent. !question Should Asis.Ids be obsolescent? The requirement that the elements be from the "same physical compilation unit" require that the unit and all of its semantic dependences are unchanged before useful support for this package is required. That's very unlikely for most definitions of a context. Indeed, one major implementation does not support this package at all. !recommendation (See summary.) !wording ** TBD ** !discussion !appendix From: Steve Baird Sent: Wednesay, February 25, 2009 5:08 PM I had an action item from the Tallahassee meeting to ask Gary Barnes about whether the IBM/Rational Asis implementation implements package Asis.Ids, whether anyone uses it, and what he thought about the possibility of dropping the package from the Standard. Gary said that: 1) Apex Asis implements the package. 2) He doesn't know whether customers use it. 3) Apex Asis will continue to provide it even if it is dropped from the standard and he is neutral on the question of removing it from the standard. **************************************************************** From: Greg Gicca Sent: Thursday, February 26, 2009 7:34 AM This was expected by myself. The Id package must have come from the original LRM interface package from Rational. Further Rational still has a binary library model, where this package might make sense. If we drop it, it will simply become obsolescent and still exist in the standard. Thus I am still in favor of dropping it. **************************************************************** From: Erhard Ploedereder Sent: Thursday, February 26, 2009 12:42 PM Wasn't Asis.Ids the package that created the cross-over from ASIS to Rational Diana, so that identities could be created? I may be completely off the track, but this is a dim memory. **************************************************************** From: Greg Gicca Sent: Thursday, February 26, 2009 1:07 PM Perhaps so. It appears to be a way to get an identifier/pointer into a binary library (tree) that can be used across multiple sessions. The original team was: Rational, TeleSoft and Cadre. Cadre used the API to generate various relationship diagrams, but both compiler vendors then had binary library models that could take advantage of this. The starting API was definitely the LRM interface package from Rational and one of the first workstation versions of APEX. **************************************************************** From: Steve Baird Sent: Thursday, February 26, 2009 1:10 PM Gary E Barnes wrote (in reference to Asis.Ids): > Its purpose in life is to give an ASIS program a > way to spend-a-lot-of-time figuring something out and then a way to > spend-only-a-little-time finding it again when the executing program > doing the first find and the executing program doing the second find > may not be the same executing program. > Without Asis.Ids the user ends up doing their own moral equivalent of > Diana.Path. It amounts to a way to write Diana.Tree out to disk, and > read it back in again later with all of the what-heap-is-this or > what-heap-was-that stuff taken care of automatically. Does this answer your question? **************************************************************** From: Greg Gicca Sent: Thursday, February 26, 2009 1:53 PM Ok, good answer a second program using the location from the first. But does anyone use this? PS: I think this really has to do with the fact that ASIS or the previous LRM interface was inefficient and so needed this, but forget I said this. **************************************************************** From: Randy Brukardt Sent: Thursday, February 26, 2009 1:16 PM OK. But what is the ordering relationship defined by "<" and ">" in the Apex Asis? Is it something that should be described in the Standard, or just some implementation artifact? That is what we were stuck on, after all. **************************************************************** From: Sergey I. Rybin Sent: Thursday, February 26, 2009 1:30 PM I think it is just an abstract ordering operation needed to create some "clever" data structures from Ids, similar to "<" in Ada 2005 ordered set containers. They have nothing to do with any property of underlying Element, the only requirement is that if I1 > I2 and I2 > I3 then I1 > I3 ****************************************************************