Incrementally compiling software artifacts from an interactive development environment
First Claim
Patent Images
1. A computer-implemented method of developing a computer system that models types, the method comprising:
- receiving, by a compilation agent, a request to have a type compiled;
identifying, by the compilation agent, the type to compile, as a subset of the types modeled in the computer system, based on a change to the computer system made in a development environment and based on types already compiled and stored in a compilation cache;
compiling, by the compilation agent, the identified type to obtain a previously compiled type;
storing the previously compiled type in the compilation cache accessible to a runtime environment;
intermittently determining whether a memory usage of the compilation cache meets a threshold value and, if so, invalidating at least a portion of the compilation cache; and
intermittently determining whether the compilation agent has been idle for a threshold time period and, if so, shutting down the compilation agent.
2 Assignments
0 Petitions
Accused Products
Abstract
An interactive development environment receives developer inputs to develop or customize modeled types. A compilation agent receives a request from the IDE to compile the modeled types that the developer is developing or customizing. The compilation agent accesses a cache of previously compiled types and determines which of the individually loadable types are to be re-compiled based upon the changes made by the developer, and compiles only those identified types. The re-compiled types are also stored in cache.
20 Citations
19 Claims
-
1. A computer-implemented method of developing a computer system that models types, the method comprising:
-
receiving, by a compilation agent, a request to have a type compiled; identifying, by the compilation agent, the type to compile, as a subset of the types modeled in the computer system, based on a change to the computer system made in a development environment and based on types already compiled and stored in a compilation cache; compiling, by the compilation agent, the identified type to obtain a previously compiled type; storing the previously compiled type in the compilation cache accessible to a runtime environment; intermittently determining whether a memory usage of the compilation cache meets a threshold value and, if so, invalidating at least a portion of the compilation cache; and intermittently determining whether the compilation agent has been idle for a threshold time period and, if so, shutting down the compilation agent. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A compilation system for compiling types modeled in a computer system, comprising:
-
a compilation cache having a memory storing previously-compiled types; an incremental compilation component configured to; receive a compilation request from a development environment; identify a type to be compiled based on a change made to the computer system in the development environment and by searching the compilation cache to identify whether the type to be compiled is stored as a previously compiled type; and compile the identified type to obtain a previously compiled type and store the obtained previously compiled type in the compilation cache making it accessible to a runtime environment; and a management component configured to; manage memory usage and operation of the compilation system; intermittently determine whether a memory usage from the compilation system meets a threshold level and, if so, invalidate at least a part of the compilation cache; and intermittently determine whether the compilation system has been idle for a predetermined threshold time and, if so, shut down the compilation system. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer-implemented method of developing a computer system that models a type, the method comprising:
-
receiving a request to have the type compiled; determining that the type has been previously compiled and stored in a compilation cache as a previously compiled type; determining that a change in a development environment has been made to the type since the previously compilation; based on the determination that the change has been made to the type, selecting the type for compilation; based on selecting the type for compilation, re-compiling the type to obtain a re-compiled type; and updating the compilation cache based on the re-compiled type, wherein the compilation cache is accessible to a runtime environment; wherein the steps of receiving a request, selecting the type, and re-compiling the type are performed by a compilation agent, the method comprising; intermittently determining whether the compilation agent has been idle for a threshold time period and, if so, shutting down the compilation agent. - View Dependent Claims (16, 17, 18, 19)
-
Specification