# US 8,572,558 B1 · Shell architecture software development

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

- Number: US 8,572,558 B1
- Document ID: US8572558B1
- Status: Granted
- Kind: B1
- Application number: 11/903,155
- Filed: 2007-09-19
- Granted: 2013-10-29
- Earliest claimed: 2006-09-19
- Assignees: Avaya Inc.
- Applicants: Rudy Mathieu, III; Keith Weiner
- Inventors: Rudy Mathieu, III; Keith Weiner
- Web page: https://patentgrep.com/patent/US8572558B1

## CPC

- G06F 9/45512: {Command shells}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A programming interface and infrastructure of the present invention includes a Shell programming interface and infrastructure (Shell construct), at least one Logic construct, and at least one Data construct. A method for programming using at least one Shell construct, at least one Data construct, at least one I/O construct, and at least one Logic construct. In this method, the at least one Logic construct is independent from the at least one I/O construct.

## Claims

### Claim 1

A non-transitory computer-readable medium containing instructions configured to direct a processor to:
(a) operate a Shell Framework comprising a programming interface and an infrastructure to act as an intermediary between separate computer programming constructs;
(b) operate said Shell Framework comprising said programming interface to communicate bi-directionally with at least one Logic construct, said at least one Logic construct is separate from said Shell Framework;
(c) operate said Shell Framework comprising said programming interface to accept notification messages pertaining to at least one Data construct from said at least one Logic construct;
(d) operate said Shell Framework comprising said programming interface to communicate bi-directionally with at least one GUI construct, the at least one GUI construct is separate from said Shell Framework and said at least one Logic construct;
(e) operate said Shell Framework comprising said programming interface to accept said notification messages pertaining to said at least one Data construct from said at least one GUI construct;
(f) operate said Shell Framework to transmit said notification messages pertaining to said at least one Data construct to said at least one GUI construct or to said at least one Logic construct; and
(g) wherein said Shell Framework enables said at least one Logic construct and said at least one GUI construct to communicate said notification messages pertaining to said at least one Data construct without said at least one Logic construct and said at least one GUI construct directly communicating said notification messages with each other.

### Claim 2 (depends on 1)

The non-transitory computer-readable medium of claim 1, further comprising at least one External (Ext) construct, said Shell Framework communicating bi-directionally with said at least one External (Ext) construct, the at least one External (Ext) construct separate from said Shell Framework, said at least one Logic construct, and said at least one GUI construct.

### Claim 3 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein said at least one Data construct is modified directly by said at least one Logic construct, and said Shell Framework comprising said programming interface is sent a notification message pertaining to said modification of said at least one Data construct.

### Claim 4 (depends on 1)

The non-transitory computer-readable medium of claim 1, wherein said at least one Data construct is modified indirectly, by either said at least one Logic construct or said at least one GUI construct, by sending a message to said Shell Framework comprising said programming interface requesting that said Shell Framework modify said at least one Data construct.

### Claim 5

A computer-implemented method for programming comprising the steps of:
(a) providing a programming interface and an infrastructure comprising:
(i) at least one Shell construct;
(ii) at least one Data construct;
(iii) at least one I/O construct, said at least one I/O construct is at least one GUI construct;
(iv) at least one Logic construct, said at least one Logic construct being independent from said at least one I/O construct; and
(v) said at least one Shell construct is independent from said at least one I/O construct and said at least one Logic construct;
(b) communicating between said at least one Shell construct and said at least one Logic construct bi-directionally;
(c) communicating between said at least one Shell construct and said at least one I/O construct bi-directionally;
(d) transmitting notification messages pertaining to said at least one Data construct from said at least one Shell construct to said at least one Logic construct when said at least one Data construct is accessed by said at least one I/O construct;
(e) transmitting said notification messages pertaining to said at least one Data construct from said at least one Shell construct to said at least one I/O construct when said at least one Data construct is accessed by said at least one Logic construct; and
(f) wherein said at least one Shell construct enables said at least one Logic construct and said at least one GUI construct to communicate said notification messages pertaining to said at least one Data construct without said at least one Logic construct and said at least one GUI construct directly communicating said notification messages with each other.

### Claim 6 (depends on 5)

The computer-implemented method for programming of claim 5 further comprising the step of transmitting said notification messages pertaining to said at least one Data construct from said at least one Shell construct to said at least one Logic construct when said at least one Data construct is modified by said at least one I/O construct.

### Claim 7 (depends on 5)

The computer-implemented method for programming of claim 5 further comprising the step of transmitting said notification messages pertaining to said at least one Data construct from said at least one Shell construct to said at least one I/O construct when said at least one Data construct is modified by said at least one Logic construct.

### Claim 8

A programming system comprising;
a processor; and
a computer-readable medium comprising:
(a) a programming interface and an infrastructure comprising:
(i) at least one Shell construct;
(ii) at least one Data construct;
(iii) at least one I/O construct, said at least one I/O construct is at least one GUI construct;
(iv) at least one Logic construct, said at least one Logic construct being independent from said at least one I/O construct; and
(v) said at least one Shell construct is independent from said at least one I/O construct and said at least one Logic construct;
(b) instructions for directing the processor to:
(i) communicate between said at least one Shell construct and said at least one Logic construct bi-directionally;
(ii) communicate between said at least one Shell construct and said at least one I/O construct bi-directionally;
(iii) transmit notification messages pertaining to said at least one Data construct from said at least one Shell construct to said at least one Logic construct when said at least one Data construct is accessed by said at least one I/O construct; and
(iv) transmit the notification messages pertaining to said at least one Data construct from said at least one Shell construct to said at least one I/O construct when said at least one Data construct is accessed by said at least one Logic construct; and
(c) wherein said at least one Shell construct enables said at least one Logic construct and said at least one I/O construct to communicate said notification messages pertaining to said at least one Data construct without said at least one Logic construct and said at least one I/O construct directly communicating said notification messages with each other.

### Claim 9 (depends on 8)

The programming system of claim 8, further comprising the instructions for directing the processor to transmit the notification messages pertaining to said at least one Data construct from said at least one Shell construct to said at least one Logic construct when said at least one Data construct is modified by said at least one I/O construct.

### Claim 10 (depends on 8)

The programming system of claim 8, further comprising the instructions for directing the processor to transmit the notification messages pertaining to said at least one Data construct from said at least one Shell construct to said at least one I/O construct when said at least one Data construct is modified by said at least one Logic construct.
