1. A modeling method for defining software applications by a developer using a visualizable computer executable modeling language, said method comprising: providing a plurality of display elements for displaying screen objects on a display screen; displaying components corresponding to said screen objects to create an application model using the modeling language by: defining each of the software applications as a hierarchy of process models, input and output slots, data models, and flow rules, wherein the components and screen objects are used for defining each of the software applications, the defining of each of the software applications further comprising: classifying some of said process models and said data models that must not contain any sub-process as atomic; classifying all other process models and data models that contain one or more sub processes as composite; defining each of said composite process models as a construction of one or more sub process models, said input and output slots, said data models, and said flow rules; classifying inputs sent to the input slots into mandatory and optional; defining a portion of said input slots as being one of mandatory and optional, wherein a process that requires an input at each of its mandatory input slots for its initiation, does not start before all said mandatory inputs are received; defining each of said composite data models as a construction of one or more sub data models; defining each of said flow rules by connecting a pair selected from said input and output slots, said data models, and the one or more sub data models, wherein said flow rules define both data flow and process flow in the process and data models, wherein said process models, data models, input and output slots, and flow rules are arranged in a structural hierarchy conforming to a set of rigid composition rules; thus creating the application model as visually defined on the display screen by the developer using the modeling language; and enabling a computer to automatically execute the application model defined in said modeling language without requiring further coding according to the definition of the process models, data models, input and output slots, and flow rules arranged in the hierarchy.