1. A method of modeling a storage environment, the method being performed by a processor and comprising: loading a first component model that simulates a first component of the storage environment, wherein the first component model includes one or more rules, the one or more rules including a rule that defines a relationship to a resource needed by the first component model; after loading the first component model, identifying, from the rule of the first component model, a functional relationship between the first component model and a second component model, wherein the second component model includes the resource needed by the first component model; loading the second component model; composing a system model to simulate the storage environment, the system model including a directed graph that defines the functional relationship between the first component model and the second component model, including a connection of the first component model with the second component model; applying a simulated workload to the system model, wherein the system model simulates an impact of the simulated workload on the storage environment, and wherein the directed graph determines the impact of the simulated workload on the storage environment by visually illustrating a behavior of the storage environment; and determining an error associated with the system model.