Method, a language and a system for the definition and implementation of software solutions by using a visualizable computer executable modeling language
First Claim
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.
5 Assignments
0 Petitions
Accused Products
Abstract
A software development platform, used to develop software applications substantially free of the need to write code. The platform includes a visualizable computer executable modeling language for the definition of software solutions. The platform also includes a visual modeling system comprising a visual modeling tool for users to develop software solutions using the modeling language, and a runtime engine software program that automatically executes the defined software solutions. The visualizable computer executable modeling language system enables defining each application by a set of: process models, each of which may contain any number of sub process model; input and output slots; data models, each of which may contain any number of sub data models; and flow rules applicable to connect pairs of slots, data models and sub-data models, thereby defining both data flow and process flow, wherein the sets of process models, slots, data models and flow rules are arranged in a structural hierarchy conforming to a set of rigid composition rules.
-
Citations
30 Claims
-
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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23)
-
-
24. A method for overcoming the need to write computer source code in order to develop software applications, comprising:
-
creating models of the applications in a visualizable computer executable modeling language system, using a visual modeling tool, comprising; defining each of said 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 step 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; and automatically executing the logic defined by said created models without requiring further coding, 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. - View Dependent Claims (25, 26)
-
-
27. A software development platform having a processor for overcoming the need to write computer source code in order to develop software applications, comprising:
a visualizable computer executable modeling language for the definition of software applications, said definition developed by performing the steps of; defining each of said software applications in a hierarchy of process models, input and output slots, data models, and flow rules, wherein said process models, input and output slots, data models and flow rules are used for defining each of the software applications, the defining step 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; and 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; a visual modeling tool for defining said software applications by at least one user as said hierarchies of models in said modeling language; and a dedicated computer program to automatically execute said software applications without requiring further coding according to the logic defined by said hierarchies of 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. - View Dependent Claims (28, 29)
-
30. A computer program product comprising memory having computer readable code embodied therein for execution on a computer, said memory storing instructions that, when executed by the computer, cause the computer to perform a modeling method for defining software applications 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 step farther 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; and 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.
-
Specification