1. A method of analyzing textual models, comprising: providing an original textual model, the original textual model including a plurality of components; displaying the original textual model to a user on a display device; indicating a desired type of analysis to be performed on the original textual model; identifying programmatically at least one of the plurality of components as including elements incompatible with the desired type of analysis; providing a first collection of model component patterns, each model component pattern associated with information indicating a type of analysis with which the component pattern is incompatible; providing a second collection of model component patterns; wherein the second collection of model component patterns may substitute any one of the following: multiple patterns of the second collection for a single pattern of the first collection, multiple patterns of the second collection for multiple patterns of the first collection, a single pattern of the second collection for a single pattern of the first collection or a single pattern of the second collection for multiple patterns of the first collection and abstracting programmatically the at least one identified component into a simplified component form compatible with the desired type of analysis, the simplified component form replacing the identified component in an updated textual model.