# US 2017/0255451 A1 · Multi-module compilation system, multi-module compilation method, and non-transitory computer-readable storage medium

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

- Number: US 2017/0255451 A1
- Document ID: US20170255451A1
- Status: Published application
- Kind: A1
- Application number: 15/270,069
- Filed: 2016-09-20
- Published: 2017-09-07
- Earliest claimed: 2016-03-07
- Assignees: Luxrobo Co., Ltd.
- Applicants: Luxrobo
- Inventors: Seung Bae SON; Sang Hun OH; Goo Beom JEOUNG
- Web page: https://patentgrep.com/patent/US20170255451A1

## CPC

- G06F 8/315: {Object-oriented languages}
- G06F 3/0484: for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F 8/34: Graphical or visual programming
- G06F 8/447: {Target code generation}
- G06F 8/451: {Code distribution (considering CPU load at run-time G06F9/505; load rebalancing G06F9/5083)}
- G06F 8/654: using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
- G06F 40/166: Editing, e.g. inserting or deleting
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Provided is a multi-module compilation system for generating execution codes for each of modules in a module system. The multi-module compilation system may include a module identifier configured to analyze a program code of the module system and to identify target modules that execute the program code, a module code generator configured to divide the program code into module codes for each of the target modules and to generate the module codes, and a compiler configured to compile the module codes and to generate execution codes for each of the target modules.

## Claims

### Claim 1

A multi-module compilation system for generating execution codes for each of a plurality of hardware modules included in a module system, the multi-module compilation system comprising:
a module identifier configured to analyze a program code of the module system and to identify one or more target hardware modules that execute the program code;
a module code generator configured to divide the program code into one or more module codes for each of the target hardware modules; and
to a compiler configured to compile the module codes to generate execution codes for each of the target modules.

### Claim 2 (depends on 1)

The multi-module compilation system of claim 1, wherein the module code generator is configured to divide the program code into the module codes for each of the target hardware modules and to generate the module codes based on a correlation between the target hardware modules and events occurring in the target hardware modules.

### Claim 3 (depends on 1)

The multi-module compilation system of claim 1, further comprising:
a user interface (UI) configured to allow a user to generate and edit the program code of the module system.

### Claim 4 (depends on 3)

The multi-module compilation system of claim 3, wherein the UI is a character user interface (CUI) or a graphical user interface (GUI).

### Claim 5 (depends on 1)

The multi-module compilation system of claim 1, wherein at least a portion of the program code is written in a manner of object-oriented programming.

### Claim 6 (depends on 1)

The multi-module compilation system of claim 1, further comprising:
a communicator configured to communicate with the module system.

### Claim 7 (depends on 1)

The multi-module compilation system of claim 1, further comprising:
a code database (DB) configured to store the program code or the module codes.

### Claim 8 (depends on 1)

The multi-module compilation system of claim 1, wherein at least a portion of the program code is programmed using an application programming interface (API).

### Claim 9 (depends on 1)

The multi-module compilation system of claim 1, wherein the plurality of hardware modules are connected to a network.

### Claim 10

A multi-module compilation method performed by a computer or a mobile device to generate execution codes for each of a plurality of hardware modules included in a module system, the multi-module compilation method comprising:
analyzing a program code of the module system and identifying one or more target hardware modules that execute the program code;
dividing the program code into one or more module codes for each of the target hardware modules, and
compiling the module codes to generate execution codes for each of the target hardware modules.

### Claim 11 (depends on 10)

The multi-module compilation method of claim 10, wherein the dividing comprises dividing the program code into the module codes for each of the target hardware modules and generating the module codes based on a correlation between the target hardware modules and events occurring in the target hardware modules.

### Claim 12 (depends on 10)

The multi-module compilation method of claim 10, further comprising:
transmitting each of the generated execution codes to each of the target hardware modules in the module system.

### Claim 13 (depends on 10)

The multi-module compilation method of claim 10, further comprising:
automatically recognizing a type and a number of hardware modules included in the module system when the module system is communicably connected to the computer or the mobile device.

### Claim 14 (depends on 13)

The multi-module compilation method of claim 13, further comprising:
displaying the recognized type and the recognized number of the hardware modules on the computer or the mobile device.

### Claim 15

A non-transitory computer-readable storage medium storing a compiler program for generating execution codes for each of a plurality of hardware modules included in a module system, the non-transitory computer-readable storage medium being configured to, when the compiler program is executed by a computer or a mobile device, perform a method comprising:
analyzing a program code of the module system and identifying one or more target hardware modules that execute the program code;
dividing the program code into one or more module codes for each of the target hardware modules; and
compiling the module codes to generate execution codes for each of the target hardware modules.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the dividing comprises dividing the program code into the module codes for each of the target hardware modules and generating the module codes based on a correlation between the target hardware modules and events occurring in the target hardware modules.

### Claim 17 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the method further comprises:
providing a user interface (UI) configured to allow a user to generate and edit the program code of the module system,
wherein the UI is a character user interface (CUI) or a graphical user interface (GUI).
