1. A device 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 a 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 attribute, 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 a 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 a 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 a computer system that comprises instructions stored in a machine-readable medium and a processor that executes the instructions.