# US 11,442,706 B1 · Developing software products using reusable code artifacts

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

- Number: US 11,442,706 B1
- Document ID: US11442706B1
- Status: Granted
- Kind: B1
- Application number: 17/331,874
- Filed: 2021-05-27
- Granted: 2022-09-13
- Earliest claimed: 2021-05-27
- Assignees: Mastercard Technologies Canada Ulc
- Applicants: Mastercard Technologies Canada Ulc
- Inventors: Justine Celeste Fox; Marc Grimson
- Web page: https://patentgrep.com/patent/US11442706B1

## CPC

- G06F 8/36: Software reuse
- G06F 8/60: Software deployment
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and systems for developing software products from reusable code files. One system includes an electronic processor configured to receive a first selection defining a desired functionality for a new software product and a second selection for the new software product. The electronic processor is also configured to access, from a first repository, a first executable code file based on the first selection and access, from a second repository, a second executable code file based on the second selection. The electronic processor is also configured to aggregate the first executable code file and the second executable code file as the new software product. The electronic processor is also configured to enable deployment of the new software product.

## Claims

### Claim 1

A system for developing software products from reusable code files, the system comprising:
an electronic processor configured to
receive a first selection defining a desired functionality for a new software product, wherein the first executable code file controls a deployment and configuration of the new software product,
receive a second selection for the new software product,
access, from a first repository, a first executable code file based on the first selection,
access, from a second repository, a second executable code file based on the second selection,
aggregate the first executable code file and the second executable code file as the new software product,
and
enable deployment of the new software product.

### Claim 2 (depends on 1)

The system of claim 1, wherein the first executable code file and the second executable code file are reusable code files.

### Claim 3 (depends on 1)

The system of claim 1, wherein the first executable code file and the second executable code file are developed using evolutionary prototyping.

### Claim 4 (depends on 1)

The system of claim 1, wherein the second executable code file provides functionality for a web path.

### Claim 5 (depends on 1)

The system of claim 1, wherein the electronic processor is further configured to
receive a third selection for the new software product, and
access, from a third repository, a third executable code file based on the first selection.

### Claim 6 (depends on 5)

The system of claim 5, wherein the third executable code file provides an abstraction interface for a data object.

### Claim 7 (depends on 5)

The system of claim 5, wherein the third executable code file provides a data object.

### Claim 8

A method for developing software products from reusable code files, the method comprising:
executing, with an electronic processor, a software development application;
receiving, with the electronic processor, a first selection defining a desired functionality for a new software product, wherein accessing the first executable code file includes accessing an executable code file that controls a deployment and configuration of the new software product;
receiving, with the electronic processor, a second selection for the new software product;
accessing, with the electronic processor, a first executable code file based on the first selection;
accessing, with the electronic processor, a second executable code file based on the second selection;
aggregating, with the electronic processor, the first executable code file and the second executable code file as the new software product; and
enabling, with the electronic processor, deployment of the new software product.

### Claim 9 (depends on 8)

The method of claim 8, wherein accessing the second executable code file includes accessing an executable code file that provides functionality for a web path.

### Claim 10 (depends on 8)

The method of claim 8, further comprising:
receiving, with the electronic processor, a third selection for the new software product; and
accessing, with the electronic processor, a third executable code file based on the first selection.

### Claim 11 (depends on 10)

The method of claim 10, wherein accessing the third executable code file includes accessing an executable code file that provides an abstraction interface for a data object.

### Claim 12 (depends on 10)

The method of claim 10, wherein accessing the third executable code file includes accessing an executable code file that provides a data object.

### Claim 13

A non-transitory, computer-readable medium storing instructions that, when executed by an electronic processor, perform a set of functions, the set of functions comprising:
receiving a first selection defining a desired functionality for a new software product;
receiving a second selection for the new software product;
accessing a first executable code file based on the first selection, wherein the first executable code file controls a deployment and configuration of the new software product;
accessing a second executable code file based on the second selection;
aggregating the first executable code file and the second executable code file as the new software product, wherein the first executable code file and the second executable code file are reusable code files; and
enabling deployment of the new software product.

### Claim 14 (depends on 13)

The computer-readable medium of claim 13, wherein accessing the second executable code file includes accessing an executable code file that provides functionality for a web path.

### Claim 15 (depends on 13)

The computer-readable medium of claim 13, wherein the set of functions further comprises:
receiving, with the electronic processor, a third selection for the new software product; and
accessing, with the electronic processor, a third executable code file based on the first selection.

### Claim 16 (depends on 15)

The computer-readable medium of claim 15, wherein accessing the third executable code file includes accessing an executable code file that provides an abstraction interface for a data object.

### Claim 17 (depends on 15)

The computer-readable medium of claim 15, wherein accessing the third executable code file includes accessing an executable code file that provides a data object.

### Claim 18 (depends on 13)

The computer-readable medium of claim 13, wherein accessing the first executable code file and the second executable code file include accessing executable code files developed using evolutionary prototyping.
