Generating a software complex using superordinate design input
First Claim
1. A computer-implemented method, comprising:
- receiving data specifying selections of design aspects as superordinate design inputs for a software complex that will include a group of software members including at least one executable, the design aspects including a software as a service design aspect that specifies that the software complex will include one or more software as a service features;
generating an in-memory model of the software complex including identifying and configuring, based on the superordinate design inputs, a set of software implements that each specify an implementation of one or more software features of the software complex in one or more types of software members of the software complex, the set of software implements including one or more software implements for implementing the one or more software as a service features;
selecting, based on the superordinate design inputs and the in-memory model, a plurality of software member emitters, each software member emitter being arranged to emit a software member of a defined type, wherein each type is different from each other type; and
for each selected software member emitter, generating a software member of the defined type of the selected software member emitter, wherein at least one of the selected software member emitters generates a software member that implements at least one of the one or more software as a service features.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, systems, and apparatus, including computer programs encoded on a computer storage medium, for generating software complexes. In one aspect, a method includes defining a software complex that is to include a group of software members that share information inherent to the software complex and act on that information. The defining includes receiving selections of design aspects as superordinate design inputs for the software complex and storing the superordinate design inputs in a source data store. The superordinate design inputs are compiled in the source data store using a software complex architectural language compiler. An in-memory model of the software complex is generated as an output of the compilation. Software member emitters are selected. For each selected software member emitter, a software member of the defined type of the selected software member emitter is generated.
-
Citations
20 Claims
-
1. A computer-implemented method, comprising:
-
receiving data specifying selections of design aspects as superordinate design inputs for a software complex that will include a group of software members including at least one executable, the design aspects including a software as a service design aspect that specifies that the software complex will include one or more software as a service features; generating an in-memory model of the software complex including identifying and configuring, based on the superordinate design inputs, a set of software implements that each specify an implementation of one or more software features of the software complex in one or more types of software members of the software complex, the set of software implements including one or more software implements for implementing the one or more software as a service features; selecting, based on the superordinate design inputs and the in-memory model, a plurality of software member emitters, each software member emitter being arranged to emit a software member of a defined type, wherein each type is different from each other type; and for each selected software member emitter, generating a software member of the defined type of the selected software member emitter, wherein at least one of the selected software member emitters generates a software member that implements at least one of the one or more software as a service features. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A system, comprising:
-
a data processing apparatus; and a memory storage apparatus in data communication with the data processing apparatus, the memory storage apparatus storing instructions executable by the data processing apparatus and that upon such execution cause the data processing apparatus to perform operations comprising; receiving data specifying selections of design aspects as superordinate design inputs for a software complex that will include a group of software members including at least one executable, the design aspects including a software as a service design aspect that specifies that the software complex will include one or more software as a service features; generating an in-memory model of the software complex including identifying and configuring, based on the superordinate design inputs, a set of software implements that each specify an implementation of one or more software features of the software complex in one or more types of software members of the software complex, the set of software implements including one or more software implements for implementing the one or more software as a service features; selecting, based on the superordinate design inputs and the in-memory model, a plurality of software member emitters, each software member emitter being arranged to emit a software member of a defined type, wherein each type is different from each other type; and for each selected software member emitter, generating a software member of the defined type of the selected software member emitter, wherein at least one of the selected software member emitters generates a software member that implements at least one of the one or more software as a service features. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer storage medium encoded with a computer program, the program comprising instructions that when executed by a data processing apparatus cause the data processing apparatus to perform operations comprising:
-
receiving data specifying selections of design aspects as superordinate design inputs for a software complex that will include a group of software members including at least one executable, the design aspects including a software as a service design aspect that specifies that the software complex will include one or more software as a service features; generating an in-memory model of the software complex including identifying and configuring, based on the superordinate design inputs, a set of software implements that each specify an implementation of one or more software features of the software complex in one or more types of software members of the software complex, the set of software implements including one or more software implements for implementing the one or more software as a service features; selecting, based on the superordinate design inputs and the in-memory model, a plurality of software member emitters, each software member emitter being arranged to emit a software member of a defined type, wherein each type is different from each other type; and for each selected software member emitter, generating a software member of the defined type of the selected software member emitter, wherein at least one of the selected software member emitters generates a software member that implements at least one of the one or more software as a service features. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification