Exploration includes navigating through the web that represents the information related to the subject system, analyzing and filtering this information with respect to domain-specific criteria, and using presentation mechanisms to clarify the resultant information. 3.3.1 Navigation Large software systems, like other complex systems, are non-linear and may be viewed as consisting of an interwoven and multidimensional web of information artifacts. The web s links establish relationships between the artifacts. These relationships can be component hierarchies, inheritances, data and control flow, and other relationships generated as part of the reverse engineering and software development processes. The information navigation activity can itself be subdivided into selection, editing, and traversal.
Selection is one of the most important of all canonical activities.
This is essentially a pattern matching activity at various abstraction levels. Identifying artifacts involves finding artifacts of interest in the subject system or in the database used to represent the system. It requires a query mechanism that enables users to specify attribute patterns that are used to identify artifacts in the database that satisfy the search criteria. The type of pattern recognition provided can range from recognition of simple regular expressions, such as that provided by the Unix grep tool, to more advanced capabilities such as plan recognition. Editing is an activity that can alter the knowledge organization structure, sometimes as a by-product of information navigation.