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;
a type system operable to represent the type representations of a plurality of source languages; and
a code generator operable to generate code targeted for a plurality of execution architectures.
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
43 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;
a type system operable to represent the type representations of a plurality of source languages; and
a code generator operable to generate code targeted for a plurality of execution architectures. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of creating a target software development tool, the method comprising:
-
receiving at least one computer-readable specification specifying functionality specific to one or more software development scenarios;
creating at least one software development component from the at least one specification; and
integrating the at least one software development component into a software development scenario-independent framework. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A method of creating a target software development tool from a common framework, the method comprising:
-
configuring the common framework based on one or more characteristics of the target software development tool;
integrating data comprising one or more characteristics of the target software development tool into the common framework; and
creating the target software development tool from the integrated common framework. - View Dependent Claims (32)
-
-
33. A method of creating a software development tool, the method comprising:
-
receiving at least one computer-readable specification specifying;
a type of software development tool to be created, functionality for a target execution architecture for the software development tool, functionality for accommodating an input language for the software development tool, and functionality for processing an intermediate representation capable of representing a plurality of programming languages, wherein the at least one computer-readable specifications comprises a set of class extension declarations;
integrating the at least one computer-readable specification into a software development architecture; and
creating the software development tool via the integrated specification and architecture, wherein the software development tool is of the type specified, is targeted to the target execution architecture specified, accommodates the input language specified, and processes the intermediate representation.
-
-
34. A method of producing inter-compatible software development tools, the method comprising:
-
creating a first software development tool from a software development architecture; and
creating a second software development tool based on the first software development tool, wherein the second software development tool dynamically links to a binary version of the software development architecture. - View Dependent Claims (35, 36, 37, 38)
-
-
39. A method of modifying a software development tool, the software development tool having been created using a software development architecture comprising one or more software development components, the method comprising:
-
dynamically linking a software development component not present in the software development architecture to a binary version of the software development architecture; and
creating a modified software development tool from the dynamically linked binary version and the software development component. - View Dependent Claims (40, 41, 42)
-
-
43. A method of creating a software development tool, the method comprising:
-
receiving at least one computer-executable file comprising;
an intermediate representation capable of representing a plurality of programming languages and computer executable images;
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;
linking a software component to the at least one computer-executable file using at least one class extension declaration; and
creating the software development tool via the linked software component and computer-executable file.
-
Specification