# US 8,789,016 B2 · Systems and methods for providing user configurable software libraries

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

- Number: US 8,789,016 B2
- Document ID: US8789016B2
- Status: Granted
- Kind: B2
- Application number: 11/321,712
- Filed: 2005-12-29
- Published: 2007-07-05
- Granted: 2014-07-22
- Earliest claimed: 2005-12-29
- Assignees: Panasonic Corporation
- Applicants: W. Bryant Eastham; James L. Simister
- Inventors: W. Bryant Eastham; James L. Simister
- Web page: https://patentgrep.com/patent/US8789016B2

## CPC

- G06F 8/71: Version control (security arrangements therefor G06F21/57); Configuration management
- G06F 8/36: Software reuse
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A method for providing a configurable software library is disclosed. User input to specify target settings for at least one configurable settings of a base software library is received. The base software library is designed to be configurable. At least one code segment to be added to or removed from the base software library is identified based on the target settings. A modified software library is created by altering the base software library in accordance with the target settings in an automated manner utilizing a computer program. Systems for performing the foregoing method are also disclosed. The base and modified software libraries may be in a human-readable or computer-readable (binary) format. The disclosed systems and methods may be utilized to, for example, streamline a software library incorporated into or referenced by programming code.

## Claims

### Claim 1

A method for providing a configurable software library comprising:
receiving user input to specify a target setting for at least one configurable setting of a base software library along with a desired target language for comments, the base software library being designed to be configurable and comprising human-readable programming code, wherein the configurable settings of the base software library control a number of allowable communication sockets for the software to be created;
identifying at least one code segment to be added to or removed from the base software library based on the target setting and the desired target language for the comments, wherein identifying the at least one code segment comprises identifying an exact location of the code segment that is to be removed;
creating a modified software library by altering the base software library in accordance with the target settings in an automated manner utilizing a computer program, wherein the altering comprises removing a code segment at the exact location such that the base software library includes a first code segment that is not included in the modified software library, wherein the modified software library comprises human-readable programming code and the comments and/or the programming code in the modified software library are in the desired target language, wherein the base and modified software libraries comprise programming code for an embedded device; and
compiling machine-readable code utilizing programming code that references the modified software library.

### Claim 2 (depends on 1)

The method of claim 1, further comprising determining the configurable settings of the base software library.

### Claim 3 (depends on 1)

The method of claim 1, wherein the base software library is derived from a first software library.

### Claim 4 (depends on 1)

The method of claim 1, wherein the target setting is configured to add at least one code segment to the base software library to create the modified software library.

### Claim 5 (depends on 4)

The method of claim 4, wherein the added code segment comprises a call to an external software library.

### Claim 6 (depends on 4)

The method of claim 4, wherein the added code segment defines constants for use in the modified software library.

### Claim 7 (depends on 1)

The method of claim 1, further comprising:
linking the modified software library to compiled programming code that references the modified software library.

### Claim 8 (depends on 1)

The method of claim 1, wherein the at least one code segment to be added or removed from the base software library comprises an algorithm.

### Claim 9 (depends on 1)

The method of claim 1, wherein the at least one code segment to be added or removed from the base software library comprises programming code for initializing an external software library.

### Claim 10

A computer system that is configured to provide a configurable software library, the computer system comprising:
a processor;
memory in electronic communication with the processor;
instructions stored in the memory, the instructions being executable to:
receive user input to specify a target setting for at least one configurable setting of a base software library along with a desired target language for comments, the base software library being designed to be configurable, wherein the configurable settings of the base software library control a number of allowable communication sockets for the software to be created;
identify at least one code segment to be added to or removed from the base software library based on the target setting and the desired target language for the comments, wherein identifying the at least one code segment comprises identifying an exact location of the code segment that is to be removed;
create a modified software library by altering the base software library in accordance with the target settings in an automated manner utilizing a computer program, wherein the altering comprises removing a code segment at the exact location such that the base software library includes a first code segment that is not included in the modified software library, wherein the comments and/or programming code in the modified software library are in the desired target language, wherein the base and modified software libraries comprise programming code for an embedded device; and
compiling machine-readable code utilizing programming code that references the modified software library.

### Claim 11 (depends on 10)

The system of claim 10, wherein the base software library is derived from a first software library.

### Claim 12 (depends on 10)

The system of claim 10, wherein the target setting is configured to add at least one code segment to the base software library to create the modified software library.

### Claim 13 (depends on 12)

The system of claim 12, wherein the added code segment comprises a call to an external software library.

### Claim 14 (depends on 10)

The system of claim 10, wherein the base and the modified software libraries comprise human-readable programming code.

### Claim 15

A non-transitory computer-readable medium comprising executable instructions, the instructions being executable to:
receive user input to specify a target setting for at least one configurable setting of a base software library along with a desired target language for comments, the base software library being designed to be configurable, wherein the configurable settings of the base software library control a number of allowable communication sockets for the software to be created;
identify at least one code segment to be added to or removed from the base software library based on the target setting and the desired target language for the comments, wherein identifying the at least one code segment comprises identifying an exact location of the code segment that is to be removed;
create a modified software library by altering the base software library in accordance with the target settings in an automated manner utilizing a computer program, wherein the altering comprises removing a code segment at the exact location such that the base software library includes a first code segment that is not included in the modified software library, wherein the comments and/or programming code in the modified software library are in the desired target language, wherein the base and modified software libraries comprise programming code for an embedded device; and
compiling machine-readable code utilizing programming code that references the modified software library.

### Claim 16 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the base software library is derived from a first library.

### Claim 17 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the base and the modified software libraries comprise human-readable programming code.

### Claim 18 (depends on 15)

The non-transitory computer-readable medium of claim 15, wherein the target setting is configured to add at least one code segment to the base software library to create the modified software library.
