The present invention models a
software application to be used in an environment and includes an
environmental model creating portion, a behavioral model creating portion, a design model creating portion and a run-
time model creating portion. The
environmental model creating portion is operable to enable a user to create an
environmental model comprising a first set of attributes of the environment, wherein each of the first set of attributes has a
declaration and a
decomposition into environmental classes. The behavioral model creating portion is 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, wherein the behavioral model comprises a second set of attributes, which may include the first set of attributes, and wherein each of the second set of attributes has at least one of a
declaration and function. The design model creating portion is 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. The run-
time model creating portion is operable to enable a user to create a run-
time model comprising a second
decomposition of the second set of attributes into a second plurality of groups, wherein the run-time model is operable to
record the decomposition of the software application into run-time components.