Software development infrastructure
First Claim
1. One or more computer-readable media with computer-executable instructions for implementing a software development architecture comprising:
- a software development scenario-independent intermediate representation format;
one or more exception handling models operable to support a plurality of programming language specific exception handling models for a plurality of different source languages;
a type system operable to represent the type representations of the plurality of different source languages; and
a code generator operable to generate code targeted for a plurality of execution architectures;
wherein the code generator constructs one or more software development components of a plurality of different software development tools using the software development scenario-independent intermediate representation format, the one or more exception handling models operable to support the plurality of programming language specific exception handling models for the plurality of different source languages, and the type system operable to represent the plurality of different source languages;
wherein the code generator further integrates the one or more software development components of the plurality of different software development tools into a software development scenario-independent framework; and
wherein the code generator further creates the plurality of different software development tools by compiling the one or more software development components and the software development scenario-independent framework.
3 Assignments
0 Petitions
Accused Products
Abstract
A software development architecture is provided for constructing a wide range of software development tools. A software development tool can be created by integrating a specification specifying functionality specific to a set of software development scenarios into a software development scenario-independent framework. The integrated specification can then be compiled to create the software development tool. Alternatively, integration can be achieved at runtime without access to source code. The architecture can use any combination of the following: a software scenario independent intermediate representation format, one or more exception handling models capable of supporting a plurality of programming language specific exception handling models, a type system capable of representing the type representations of a plurality of source languages, and a code generator capable of generating code targeted for a plurality of execution architectures.
-
Citations
26 Claims
-
1. One or more computer-readable media with computer-executable instructions for implementing a software development architecture comprising:
-
a software development scenario-independent intermediate representation format; one or more exception handling models operable to support a plurality of programming language specific exception handling models for a plurality of different source languages; a type system operable to represent the type representations of the plurality of different source languages; and a code generator operable to generate code targeted for a plurality of execution architectures; wherein the code generator constructs one or more software development components of a plurality of different software development tools using the software development scenario-independent intermediate representation format, the one or more exception handling models operable to support the plurality of programming language specific exception handling models for the plurality of different source languages, and the type system operable to represent the plurality of different source languages; wherein the code generator further integrates the one or more software development components of the plurality of different software development tools into a software development scenario-independent framework; and wherein the code generator further creates the plurality of different software development tools by compiling the one or more software development components and the software development scenario-independent framework. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A method of creating a plurality of different target software development tools, the method comprising:
-
receiving at least one computer-readable specification specifying functionality specific to one or more software development scenarios, wherein the at least one computer-readable specification specifies the following software development scenario functionality of the plurality of different target software development tools; target processor execution architecture; type checking rule set; managed execution environment; input programming language or input binary format; and compilation type; creating at least one software development component for the plurality of different software development tools from the at least one specification; integrating the at least one software development component for the plurality of different software development tools into a software development scenario-independent framework; and compiling, at least in part, the at least one software development component and framework to create the plurality of different target software development tools; wherein the computer-readable specification comprises functionality for processing an intermediate representation format capable of representing a plurality of different programming languages; and wherein the intermediate representation format comprises one or more exception handling models capable of supporting a plurality of programming language-specific exception handling models for the plurality of different programming languages. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A method of creating a plurality of different target software development tools from a common framework, the method comprising:
-
configuring the common framework based on one or more characteristics of the plurality of different target software development tools; creating software development components comprising one or more characteristics of the plurality of different target software development tools from the common framework; integrating the software development components into a software development scenario-independent framework; and creating the plurality of different target software development tools by compiling the software development components and the software development scenario-independent framework; wherein the one or more characteristics comprises an input language chosen from a plurality of different programming languages supported by the common framework for the plurality of different target software development tools; and wherein the common framework comprises exception handling models capable of supporting a plurality of programming language-specific exception handling models for the plurality of different programming languages. - View Dependent Claims (24)
-
-
25. A method of producing a plurality of different inter-compatible software development tools, the method comprising:
-
receiving a software development architecture that is operable to support a plurality of different programming languages, wherein the software development architecture further comprises; classes that are extensible through a set of declarations; functionality for an intermediate representation format used by both the first and second software development tools; and functionality for a type system used by both the first and second software development tools; creating software development components for the plurality of different software development tools from the software development architecture; creating a first software development tool by integrating the software development components into a software development scenario-independent framework and compiling the software development components and the software development scenario-independent framework; and creating a second different software development tool based on the first software development tool and the software development components, wherein the second software development tool dynamically links to a binary version of the software development scenario-independent framework; wherein the software development architecture comprises functionality for exception handling models operable to support programming-language specific exception handling models for the plurality of different programming languages, and the software development architecture is used by both the first and second software development tools.
-
-
26. A method of creating a plurality of different software development tools, the method comprising:
-
receiving at least one computer-executable file comprising; an intermediate representation capable of representing a plurality of different programming languages and computer executable images; one or more exception handling models capable of supporting a plurality of programming language specific exception handling models for the plurality of different programming languages; a type system capable of representing the type representations of a plurality of source languages; and a code generator capable of generating code targeted for a plurality of execution architectures; creating one or more software development components of a plurality of different software development tools from the at least one computer-executable file; integrating the one or more software development components of the plurality of different software development tools into a software development scenario-independent framework using at least one class extension declaration; and creating the plurality of different software development tools by compiling, at least in part, the linked one or more software development components and the software development scenario-independent framework.
-
Specification