# US 10,372,423 B2 · System and method for managing resources using a compositional programming model

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 10,372,423 B2
- Document ID: US10372423B2
- Status: Granted
- Kind: B2
- Application number: 13/216,798
- Filed: 2011-08-24
- Published: 2011-12-15
- Granted: 2019-08-06
- Earliest claimed: 2007-06-01
- Assignees: International Business Machines Corporation
- Applicants: Bruce David Lucas; John Field; Rafah A. Hosn; Maria-Cristina V. Marinescu; Mark N. Wegman; Charles Francis Wiecha
- Inventors: Bruce David Lucas; John Field; Rafah A. Hosn; Maria-Cristina V. Marinescu; Mark N. Wegman; Charles Francis Wiecha
- Web page: https://patentgrep.com/patent/US10372423B2

## CPC

- G06F 8/31: {Programming languages or programming paradigms}
- G06F 8/72: Code refactoring
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A model is provided for managing resources in a programming environment. A first construct is triggered to update mutable entities in response to changes to related data associated with the mutable entities. In accordance with the updated mutable entities, at least one of a second construct and a third construct is triggered to respectively create a new mutable entity and update a data relationship.

## Claims

### Claim 1

A method for managing resources in a computer programming environment, comprising:
triggering, using at least one processor, a <bind> construct that declaratively specifies updates to a runtime state of a computer program to update one or more existing resources stored on a computer readable storage medium, the one or more existing resources including related data that includes one or more resource description framework (RDF) triples,
wherein triggering the <bind> construct includes declaratively specifying how a value of given one of the one or more existing resources changes in response to changes in the related data of the given existing resource, and wherein the <bind> construct has access to old and new values for the related data to determine the changes in the related data of the given existing resource; and
in accordance with at least the specified update to the given existing resource, triggering, using the at least one processor, at least one of:
a <create> construct that declaratively specifies creation of a new resource; and
a <let> construct that declaratively specifies an update of a data relationship including the given existing resource by creating or destroying at least one RDF triple.

### Claim 2 (depends on 1)

The method as recited in claim 1, further comprising employing the one or more RDF triples in a plurality of roles in an application to support enterprise, web and client applications.

### Claim 3 (depends on 1)

The method as recited in claim 1, further comprising classifying resources in more than one class.

### Claim 4 (depends on 3)

The method as recited in claim 3, wherein classes of resources are programmatically changed at runtime.

### Claim 5 (depends on 1)

The method as recited in claim 1, wherein the changes in the related data associated with the given existing resource are declared active to trigger the <bind> construct.

### Claim 6 (depends on 1)

The method as recited in claim 1, further comprising providing a class definition that permits a complete definition of a class to be composed from multiple independently specified sources.

### Claim 7 (depends on 1)

The method as recited in claim 1, further comprising employing the <bind>, <create> and <let> constructs in a plurality of roles in an application to support enterprise, web and client applications.

### Claim 8 (depends on 1)

The method as recited in claim 1, further comprising changing a classification of the given existing resource based on the current entity values using the <let> construct.

### Claim 9 (depends on 1)

The method as recited in claim 1, wherein related data is determined based upon graph structure relationships.

### Claim 10

A computer program product for managing resources in a programming environment comprising a non-transitory computer readable storage medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to perform steps of:
triggering, using at least one processor, a <bind> construct that declaratively specifies updates to a runtime state of a computer program to update one or more existing resources stored on a computer readable storage medium, the one or more existing resources including related data that includes one or more resource description framework (RDF) triples,
wherein triggering the <bind> construct includes declaratively specifying how a value of a given one of the one or more existing resources changes in response to changes in the related data of the given existing resource, and wherein the <bind> construct has access to old and new values for the related data to determine the changes in the related data of the given existing resource; and
in accordance with at least the specified update to the given existing resource, triggering, using the at least one processor, at least one of:
a <create> construct that declaratively specifies creation of a new resource; and
a <let> construct that declaratively specifies an update of a data relationship including the given existing resource by creating or destroying at least one RDF′ triple.

### Claim 11 (depends on 10)

The computer program product as recited in claim 10, further comprising classifying resources in more than one class, wherein classes of resources are programmatically changed at runtime.

### Claim 12 (depends on 10)

The computer program product as recited in claim 10, further comprising providing a class definition that permits a complete definition of a class to be composed from multiple independently specified sources.

### Claim 13

A method for managing resources in a computer programming environment, comprising:
providing one or more existing resources with class definitions having related data including one or more resource description framework (RDF) triples, wherein the one or more RDF triples are included in a subset and are stored on a computer readable storage medium;
triggering, using at least one processor, a <bind> construct that declaratively specifies updates to a runtime state of a computer program to update at least a given one of the one or more existing resources in accordance with changes in the related data of the given existing resource,
wherein triggering the <bind> construct includes specifying how a value of the given existing resource changes in response to the changes in the related data of the given existing resource, and wherein the <bind> construct has access to old and new values for the related data to determine the changes in the related data associated of the given existing resource; and
in accordance with at least the specified update to the given existing resource, triggering, using the at least one processor, at least one of:
a <create> construct that declaratively specifies creation of a new resource; and
a <let> construct that declaratively specifies an update of a data relationship including the given existing resource by creating or destroying at least one RDF triple.

### Claim 14 (depends on 13)

The method as recited in claim 13, further comprising providing a class definition that permits a complete definition of a class to be composed from multiple independently specified sources, wherein the multiple independently specified sources include different organizations.

### Claim 15 (depends on 13)

The method as recited in claim 13, further comprising class resources in more than one class, wherein classes of resources are programmatically changed at runtime.

### Claim 16 (depends on 13)

The method as recited in claim 13, wherein the changes in the related data associated with the given existing resource are declared active to trigger the <bind> construct.

### Claim 17 (depends on 13)

The method as recited in claim 13, further comprising employing the one or more RDF triples and the <bind>, <create> and <let> constructs in a plurality of roles in an application to support enterprise, web and client applications.

### Claim 18 (depends on 13)

The method as recited in claim 13, further comprising changing a classification of the given existing resource based on the current entity values using the <let> construct.

### Claim 19 (depends on 13)

The method as recited in claim 13, wherein the related data is determined based upon graph structure relationships.

### Claim 20 (depends on 13)

A computer program product for managing resources in a programming environment comprising a non-transitory computer readable storage medium including a computer readable program, wherein the computer readable program when executed on a computer causes the computer to perform the steps recited in claim 13.
