Patent ID: 8397209

Claim:
A device for modeling a software application to be used in an environment, said device 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 having a declaration, 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 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 having at least one of a declaration and function, wherein changes to an attribute declaration or function in the behavioral model is reflected automatically in all models that share the attribute declaration or function, 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.