!ASIS Issue #017 !topic Remove Id's and Id_Segment's from ASIS !reference ASIS95 !from Jesper Joergensen 96-07-11 !keywords id id_segment !discussion When I started reading the ASIS spec, I had difficulties seeing what ID_Segments ahere intended to be used for. I asked Steve Blake and Gary Barnes. From the answers I got, it seems that ID_Segments as well as Ids are superfluous when dealing with Ada 95. There, I propose to remove them from ASIS-95. (See the supporting email.) !resolution Accepted, with Modification. !date 96-12-03 !Notes ASIS must provide the mechanism of a unique ID for each element within the ASIS Environment. This id must be distinct, that is, different for each element, but also consistent, that is, the same ID must be generated for the same element. This is necessary to support caching of elements, a critical requirement for any analysis clients. Since elements themselves do not necessarily meet the criteria of being distinct and consistent, the ID mechanism is necessary. It would also be nice but not required that IDs be implemented with the minimal information required to meet these requirements. This will make their use more efficient. Some tool writers have used IDs as unique identifiers for cacheing Elements. They usually do not use the I/O facilities for IDs, though. However, Id_List, Id_Segment and Id_Segment_List are not necessary. Thus, all the associated subprograms are not necessary (including Is_Identical). These have been removed in version K. The idea for writing IDs out was so that a later tool could read the IDs into it so that the later tool could begin processing where the first tool had left off. It was felt that individual tool writers could easily adapt one of Ada's generic I/O packages (notably for streams) if they wished to perform I/O on IDs. Version 2.0.K and later versions of ASIS reflect our final decision regarding ASIS IDs.