Packaging system to facilitate declarative model-driven development
AssigneeMicrosoft Corporation
InventorsHaroon Ahmed, Chris L. Anderson, Steve Antoch
Life of this patent
Estimating the term…
Abstract
The subject disclosure relates to a method and system for packaging a post-processed definition of a programming module. Contents of a constraint-based and/or order-independent execution model are received, in which the contents include a declarative source code. The contents are stored into an extensible storage abstraction such that the source code is stored in a declarative format. Metadata describing attributes of the contents stored in the extensible storage abstraction is also defined. A file is then created, which includes the extensible storage abstraction and the metadata.
Claims19
A method, including:
- compiling declarative source code that includes contents of a constraint-based execution model into a post-processed definition of the declarative source code that includes a compiled transformation of the declarative source code in which a declarative format of the constraint-based execution model is preserved, wherein values in the constraint-based execution model are conformable to a plurality of types, and wherein a particular value within the constraint-based execution model is conformable with all types in which the particular value does not violate a constraint codified in a type declaration;
- and
- packaging the post-processed definition of the declarative source code as an image file, wherein the image file preserves the declarative format of the constraint-based execution model stored in an extensible storage abstraction, and wherein the image file includes at least one artifact of the compiled transformation stored in the extensible storage abstraction and metadata describing attributes of contents stored in the extensible storage abstraction, the extensible storage abstraction including a plurality of tables having a plurality of entries representing the post-processed definition.
A system, including:
- a receiving component configured to receive a post-processed definition of declarative source code, the post-processed definition including a compiled transformation of an order-independent execution model included in the declarative source code, wherein an order of entering values into a data abstraction of the order-independent execution model is unobservable to a target repository, and wherein a declarative format of the order-independent execution model is preserved in the post-processed definition;
- and
- a packaging component configured to package the post-processed definition of the declarative source code as an image file, wherein the image file preserves the declarative format of the order-independent execution model in an extensible storage abstraction, and wherein the image file includes at least one artifact of the compiled transformation stored in the extensible storage abstraction and metadata describing attributes of contents stored in the extensible storage abstraction, the extensible storage abstraction including a plurality of tables having a plurality of entries representing the post-processed definition.
A method, including:
- receiving a post-processed definition of declarative source code, the post-processed definition including a compiled transformation of an execution model included in the declarative source code in which a declarative format of the execution model is preserved, wherein an order of entering values into a data abstraction of the execution model is unobservable to a target repository, and wherein values in the execution model are conformable with all types that do not violate a constraint codified in a type declaration;
- and
- packaging the post-processed definition of the declarative source code as an image file, wherein the image file preserves the declarative format of the execution model in an extensible storage abstraction, and wherein the image file includes at least one artifact of the compiled transformation stored in the extensible storage abstraction and metadata describing attributes of contents stored in the extensible storage abstraction, the extensible storage abstraction including a plurality of tables having a plurality of entries representing the post-processed definition.
Dependencies are inferred from the claim text.