Methods and apparatus for implementing model-based software solution development and integrated change management
First Claim
1. A method for implementing model-based design of a software solution, the method comprising:
- defining a template model of the software solution comprised of a plurality of templates, wherein defining a template model further comprises;
defining attributes for each of the templates;
defining code generators for each of the templates; and
defining template dependencies among templates comprising the plurality.
5 Assignments
0 Petitions
Accused Products
Abstract
The present invention concerns methods and apparatus for implementing a model-based paradigm for use in developing systems of software solutions. In a method of the present invention, a developer defines templates for use in creating software architecture elements which comprise a software solution or a system of software solutions. The template definitions comprise specifications of template attributes; template attribute types; value editors for use in editing template attributes; value validators for validating values assigned to template attributes and code generators for generating code when the template is used to create an architecture element in a software solution. The template definitions are created using a graphical user interface which allows a developer to specify relationships and dependencies among the templates. Once created, the templates are used in another graphical user interface to develop a solution architecture comprised of infrastructure and application components, and infrastructure and application resources. The graphical solution architecture definition environment allows developers to specify dependencies among architecture elements which greatly simplify software change management when architecture elements are instantiated as software artifacts.
-
Citations
31 Claims
-
1. A method for implementing model-based design of a software solution, the method comprising:
defining a template model of the software solution comprised of a plurality of templates, wherein defining a template model further comprises;
defining attributes for each of the templates;
defining code generators for each of the templates; and
defining template dependencies among templates comprising the plurality. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18)
-
19. A method for authoring a software solution using a model-based software architecture paradigm, the method comprising:
-
defining the software solution architecture, wherein defining the software solution architecture further comprises;
creating solution architecture elements, wherein the solution architecture elements are comprised of attributes;
populating the attributes of the solution architecture elements; and
identifying dependency relations between the architecture elements;
creating software artifacts for each architecture element; and
establishing dependencies between the software artifacts, wherein the dependencies between the software artifacts correspond to the dependency relations established between the architecture elements. - View Dependent Claims (20)
-
-
21. A memory medium storing a computer program for execution by a digital processor of a computer system, whereby when executed the computer program provides a graphical user interface for creating a template definition environment for use in authoring a software solution using a model-based architecture paradigm, the computer program performing operations when executed by the digital processor, the operations comprising:
-
displaying a graphical user interface corresponding to the template definition environment, wherein the graphical user interface comprises;
template creation controls for creating templates;
template dependency controls for creating dependency relationships among templates created using the template creation controls; and
a display area for depicting icons corresponding to templates created using the template creation controls and relationships among the templates;
receiving commands entered using the template creation controls and template dependency controls to create templates and template dependencies; and
displaying the templates and template dependencies created using the template creation controls and template dependency controls.
-
-
22. A memory medium storing a computer program for execution by a digital processor of a computer system, whereby when executed the computer program provides a graphical user interface for creating an architecture definition environment for use in authoring a software solution using a model-based architecture paradigm, the computer program performing operations when executed by the digital processor, the operations comprising:
-
displaying a graphical user interface corresponding to the architecture definition environment, wherein the graphical user interface comprises;
architecture element creation controls for creating architecture elements;
architecture element dependency controls for specifying dependencies among architecture elements; and
a display area for depicting icons corresponding to the architecture elements and relationships among the architecture elements;
receiving commands entered using the architecture element creation controls and architecture element dependency controls; and
displaying icons corresponding to the architecture elements and architecture element dependencies created using the architecture element creation controls and architecture element dependency controls. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A computer system for use in authoring a software solution using a model-based architecture paradigm, the computer system comprising:
-
memory means to store at least one computer program, whereby when executed the at least one computer program provides graphical user interfaces for use in authoring the software solution;
display means for displaying the graphical user interface;
input means for receiving inputs from a user of the computer system for interacting with the graphical user interface; and
digital processor means coupled to the memory means, display means and input means for executing the at least one computer program, whereby when the at least one computer program is executed the following operations are performed;
receiving a command to access at least one of a template definition environment and an architecture definition environment, whereby when a command to access a template definition environment is received, the following operations are performed;
displaying a graphical user interface corresponding to the template definition environment, wherein the graphical user interface comprises;
template creation controls for creating templates;
template dependency controls for creating dependency relationships among templates created using the template creation controls; and
a display area for depicting icons corresponding to templates created using the template creation controls and relationships among the templates;
receiving commands entered using the template creation controls and template dependency controls to create templates and template dependencies; and
displaying the templates and template dependencies created using the template creation controls and template dependency controls; and
whereby when a command to access an architecture definition environment is received, the following operations are performed;
displaying a graphical user interface corresponding to the architecture definition environment, wherein the graphical user interface comprises;
architecture element creation controls for creating architecture elements;
architecture element dependency controls for specifying dependencies among architecture elements; and
a display area for depicting icons corresponding to the architecture elements and relationships among the architecture elements;
receiving commands entered using the architecture element creation controls and architecture element dependency controls; and
displaying icons corresponding to the architecture elements and architecture element dependencies created using the architecture element creation controls and architecture element dependency controls.
-
Specification