I.ASIS 95 1.The ASIS Interface for Ada 95 II.ASIS Interface 1.A set of packages used for querying the Ada environment. A.Environment 1.Compilation units as black boxes 2.Relations between compilation units B.Compilation units as white boxes 1.Semantic information 2.Syntactic information III.ASIS Overview A.Tools or Applictions Using ASIS B. Package ASIS 1. Ada_Environments A. Containers 2. Implementation A. Permissions 3. Compilation_Units A. Times B. Relations 4. Iterator 5. Elements 6. Clauses 7. Declarations 8. Definitions 9. Expressions 10. Statements 11. Text 12. Errors 13. Exceptions IV.Asis.Ada_Environments 1.Context represents ASIS view of Ada environment: a set of compilation units 2.Also support for source-based libraries 3.Operations: procedure Associate( Context : in out Asis.Context; Name : in Asis.Asis_String; Parameters : in Asis.Asis_String ); function Exists( Context : in Asis.Context ) return Boolean; procedure Open( Context : in out Asis.Context ); 4.Further operations: Close, Dissociate, Is_Open, Name, Default_Name, Default_Parameters, ... V.Asis.Elements A.White box view of units B.Queries that operate on all elements C.Operations function Unit_Declaration( Unit : in Asis.Compilation_Unit ) return Asis.Declaration; function Declaration_Kine( Element : in Asis.Declaration ) return Asis.Declaration_Kinds; D.Further operations: Element_Kind, Type_Kind, Enclosing_Element, ... E.ASIS.Iterator generic type State_Information is limited private; with procedure Pre_Operation( ... ); with procedure Post_Operation( ... ); procedure Traverse_Element( Element : in Asis.Element; Control : in out Traverse_Control; State : in out State_Information ); VI.ASIS Implementations A.AONIX 1.The first ASIS 2.0.x will be in the ObjectAda version 7.2 products for Windows NT, SPARC, and HP. These are planned for 1Q98. B.DDC-I 1.Developed an implementation of ASIS 2.0.E. 2.Update to ASIS 2.0.x scheduled for early 1998. C.OCSystems 1.Upgrade to the Ada95 standard is planned. D.ASIS for GNAT 1.Partial implementation of ASIS 2.0.M for GNAT 3.09 2.Plan to implement ISO ASIS when it is available. E.RR Software 1.Plans for ASIS after ISO standardization F.Rational 1.Has a hybrid Ada 83/Ada 95 ASIS Implementation in use. VII.ASIS Tools A.Little Tree Consulting 1.Using Rational version of Ada 83 ASIS to build the Ada Analyzer toolset and Ada Repair B.Mark V Systems 1.Using Ada 95 ASIS fora reverse engineering tool C.DDC-I 1.Using Ada 95 ASIS for Test Tools and Browser VIII.DDC-I ASIS Tools A.Ada 95 Browser B.ATIP-P 1.Coverage Analyzer 2.Instrumenter 3.Debugger/Execution Driver 4.Parameter Generator 5.Test Program Generator 6.Coverage Report Generator IX.DDC-I Browser A.GUI sends the library path, string to look for, file name that the identifier is contained in, row number, column number, and name of file to output the results to the GUI to the Find_Ident procedure. B.Find_Ident get a list of compilation units from the context using ASIS. It then loops through the list of units looking for the correct unit using various ASIS queries. Once the unit is identified, ASIS queries are used to find the exact element within the unit. C.Basic functionality was achieved in two days; usable system in a week. X.Thank You