before and after processing has been done. Complete ASIS analysis The last and final stage of the ASIS structure is the completion of ASIS analysis. This is where everything is finalised and reviewed to perform any post processing to the ASIS analysis. The ASIS context is also closed and disassociated and ASIS is eventually finalised. Design criteria As ASIS continues to evolve similarly so does the evolution of its design criteria. The criteria for how ASIS can be designed can be sorted into 9 different categories; wide acceptance, transportability, uniformity and cohesiveness, implementability, state of technology, extensibility, ada terminology and style, performance and minimal set of interfaces. 1. Wide acceptance It must be designed according to this criteria so that a wide variety of tools can be used for ASIS. Designing it with this allows the interface library to be more flexible and available for tools across other platforms, Ada vendor implementations. It also allows for it to reduce training time for tool users and developers. 2. Transportability ASIS must also be designed so it has the capability to be transferred from one computer to another computer or another environment to another. 3. Uniformity and cohesiveness It should also be consistent in properties, concepts, types and operations but also be kept as a simple and coherent operation. 4. Implementability ASIS is also criticised so that it is "implementable by any Ada Compiler Vendor with a reasonable effort". As well as maintaining consistency throughout the whole program. 5. State of technology The state of technology must always be updated and advanced to ensure no issues take place. Additionally, it should be ensured that all possible variations and versions of ASIS will be coherent and efficient. 6. Extensibility "It should not preclude extensions that will make use of the ASIS design model and abstractions." 7. Ada terminology and style ASIS should also adapt to the terms and conditions of style and definitions to the Ada Reference Manual. 8. Performance "ASIS design must allow for efficiency from both the client view and implementation view" 9. Minimal set of interfaces "It should allow clients to implement additional layered interfaces using the primitive operations provided." Uses of ASIS ASIS for GNAT ASIS has been used by Adacore to implement an ASIS standard in the utilisation of ASIS-for-GNAT applications. ASIS can be used for GNAT through typical applications such as: “Static Analysis (property verification), Code instrumentation,