# US 2018/0024831 A1 · System and method for providing supplemental functionalities to a computer program

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

- Number: US 2018/0024831 A1
- Document ID: US20180024831A1
- Status: Published application
- Kind: A1
- Application number: 15/723,908
- Filed: 2017-10-03
- Published: 2018-01-25
- Earliest claimed: 2015-09-18
- Assignees: Reactivecore LLC
- Applicants: ReactiveCore LLC
- Inventors: Michel DUFRESNE
- Web page: https://patentgrep.com/patent/US20180024831A1

## CPC

- G06F 8/70: Software maintenance or management
- G06F 9/45516: {Runtime code conversion or optimisation}
- G06F 11/3604: Analysis of software for verifying properties of programs (testing of software G06F11/3668)
- G06F 16/367: {Ontology}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Supplemental functionalities may be provided for an executable program. In some embodiments, a computer program (e.g., an executable program or other computer program) associated with an ontology may be caused to be run. The ontology may include information indicating attributes for a set of applications. Based on the ontology, supplemental information may be generated for the computer program. The supplemental information may be related to one or more functionalities of an application (of the set of applications) to be added to the executable program. The supplemental information may be provided as input to the computer program. The supplemental information may cause the one or more functionalities of the application to be made available via the executable program.

## Claims

### Claim 1

A method of providing supplemental functionalities to an executable program, the method being implemented by a computer system comprising one or more processors executing one or more computer program instructions that, when executed, perform the method, the method comprising:
causing an executable program associated with an ontology to be run, wherein the ontology comprises information indicating attributes for a set of applications;
obtaining a domain-specific ontology on which the ontology has no dependency, wherein the domain-specific ontology is within a domain of interest;
obtaining an ontology instance of the ontology based on the domain-specific ontology, the ontology instance corresponding to an application of the set of applications that is within the domain of interest;
using the ontology instance to generate application metadata for the executable program, wherein the application metadata defines one or more functionalities of the application that is within the domain of interest; and
providing the application metadata as input to the executable program,
wherein the providing of the application metadata causes the one or more functionalities of the application to be made available via the executable program.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
using the ontology instance to generate other application metadata for the executable program, wherein the other application metadata defines one or more functionalities of another application of the set of applications that is within the domain of interest; and
providing the other application metadata as input to the executable program,
wherein the providing of the other application metadata causes the one or more functionalities of the other application be made available via the executable program.

### Claim 3 (depends on 1)

The method of claim 1, wherein the application metadata is provided as input to the executable program while the executable program is running to cause the one or more functionalities to be made available via the running executable program without recompiling the running executable program.

### Claim 4 (depends on 1)

The method of claim 1, wherein the executable program obtains the application metadata from the executable program's working memory at runtime.

### Claim 5 (depends on 1)

The method of claim 1, further comprising:
assigning a freeze to the ontology and the domain-specific ontology that disables further modification to the ontology and the domain-specific ontology.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
extracting class information from the ontology; and
using the class information to generate a programming interface, wherein the programming interface allows the executable program to access the application metadata.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
extracting axiom information from the ontology, and
using the axiom information of the ontology to generate a set of logic rules, wherein at least part of the application metadata is generated using the set of logic rules.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
extracting axiom information from the domain-specific ontology, and
using the axiom information of the domain-specific ontology to generate a set of specific logic rules.

### Claim 9 (depends on 8)

The method of claim 8, wherein the executable program includes a set of runtime rules that control execution of the executable program, the method further comprising:
augmenting the set of logic rules and the set of specific logic rules with the set of runtime rules to enable the one or more functionalities of the application to be available via the executable program.

### Claim 10 (depends on 1)

The method of claim 1, wherein the application metadata includes a data model for encoding metadata and knowledge on Semantic Web using facts expressed as triples.

### Claim 11

A system for providing supplemental functionalities for an executable program, the system comprising:
a computer system comprising one or more processors programmed with computer program instructions that, when executed, cause the computer system to:
cause an executable program associated with an ontology to be run, wherein the ontology comprises information indicating attributes for a set of applications;
obtain a domain-specific ontology on which the ontology has no dependency, wherein the domain-specific ontology is within a domain of interest;
obtain an ontology instance of the ontology based on the domain-specific ontology, the ontology instance corresponding to an application of the set of applications that is within the domain of interest;
use the ontology instance to generate application metadata for the executable program, wherein the application metadata defines one or more functionalities of an application that is within the domain of interest; and
provide the application metadata as input to the executable program,
wherein the providing of the application metadata causes the one or more functionalities of the application be made available via the executable program.

### Claim 12 (depends on 11)

The system of claim 11, wherein the computer system is further caused to:
use the ontology instance to generate other application metadata for the executable program, wherein the other application metadata defines one or more functionalities of another application of the set of applications that is within the domain of interest; and
provide the other application metadata as input to the executable program,
wherein the providing of the other application metadata causes the other one or more functionalities of the other application be made available via the executable program.

### Claim 13 (depends on 11)

The system of claim 11, wherein the application metadata is provided as input to the executable program while the executable program is running to cause the one or more functionalities to be made available via the running executable program without recompiling the executable program.

### Claim 14 (depends on 11)

The system of claim 11, wherein the executable program obtains the application metadata from the executable program's working memory at runtime.

### Claim 15 (depends on 11)

The system of claim 11, wherein the computer system is further caused to assign a freeze to the ontology and the domain-specific ontology that disables further modification to the ontology and the domain-specific ontology.

### Claim 16 (depends on 11)

The system of claim 11, wherein the computer system is further caused to:
extract class information from the ontology; and
use the class information to generate a programming interface, wherein the programming interface allows the executable program to access the application metadata.

### Claim 17 (depends on 11)

The system of claim 11, wherein the computer system is further caused to:
extract axiom information from the ontology;
use the axiom information of the ontology to generate a set of logic rules, wherein at least part of the application metadata is generated using the set of logic rules.

### Claim 18 (depends on 11)

The system of claim 11, wherein the computer system is further caused to:
extract axiom information from the domain-specific ontology; and
use the axiom information of the domain-specific ontology to generate a set of specific logic rules.

### Claim 19

A method of providing supplemental functionalities to an executable program, the method being implemented by a computer system comprising one or more processors executing one or more computer program instructions that, when executed, perform the method, the method comprising:
causing an executable program associated with an ontology to be run, wherein the ontology comprises information indicating attributes for a set of applications;
obtaining a domain-specific ontology on which the ontology has no dependency, wherein the domain-specific ontology is within a domain of interest;
using the ontology and the domain-specific ontology to generate supplemental information for the executable program, wherein the supplemental information defines one or more functionalities of an application of the set of applications that is within the domain of interest; and
providing the supplemental information as input to the executable program's working memory at runtime of the executable program,
wherein the providing of the supplemental information causes the one or more functionalities of the application be made available via the executable program at the runtime of the executable program without recompiling the executable program, and
wherein the executable program obtains the supplemental information from the executable program's working memory at the runtime of the executable program to perform the one or more functionalities of the application.

### Claim 20 (depends on 19)

The method of claim 19, further comprising:
using the ontology and the domain-specific ontology to generate other supplemental information for the executable program, wherein the other supplemental information defines one or more functionalities of another application of the set of applications that is within the domain of interest; and
providing the other supplemental information as input to the executable program's working memory at the runtime of the executable program,
wherein the providing of the other supplement information causes the one or more functionalities of the other application be made available via the executable program at the runtime of the executable program without recompiling the executable program.
