1. A computer system for modeling a software application to be used in an environment, comprising: an environmental model creating portion operable to enable a user to create an environmental model comprising a first set of attributes of the environment, each of the first set of attributes comprising a value attribute, a declaration, and an associated set of meta-attributes, each of said meta-attributes comprising at least one of a declaration and function; wherein the environmental model creating portion is implemented in the computer system that comprises instructions stored in a machine-readable medium and a processor that executes the instructions; a behavioral model creating portion operable to enable the user to create a behavioral model to describe behavior of the software application at a boundary of the software application and the environment, the behavioral model comprising a second set of attributes, which comprise a portion of the first set of attributes, wherein the portion of the first set of attributes is shared between the environmental model and the behavioral model; each of the second set of attributes comprising a value attribute having at least one of a declaration and function, and a set of meta-attributes, each of said meta-attributes having at least one of a declaration and function; wherein changes to an attribute in the behavioral model is reflected automatically in all models that share the attribute, and wherein the behavioral model creating portion is implemented in the computer system that comprises instructions stored in a machine-readable medium and a processor that executes the instructions; a design model creating portion operable to enable the user to create a design model comprising a first decomposition of the second set of attributes into a first plurality of groups, wherein the design model creating portion is implemented in the computer system that comprises instructions stored in a machine-readable medium and a processor that executes the instructions; and a run-time model creating portion operable to enable the user to create a run-time model comprising a second decomposition of the second set of attributes into a second plurality of groups, the run-time model being operable to record the decomposition of the behavioral model into run-time components, wherein the run-time model creating portion is implemented in the computer system that comprises instructions stored in a machine-readable medium and a processor that executes the instructions.