УСТРОЙСТВО И СПОСОБ АВТОМАТИЧЕСКОГО ПОСТРОЕНИЯ ПРИЛОЖЕНИЙ ИЗ СПЕЦИФИКАЦИЙ И ИЗ ИМЕЮЩИХСЯ В НАЛИЧИИ КОМПОНЕНТОВ, ВЫБРАННЫХ С ПОМОЩЬЮ СЕМАНТИЧЕСКОГО АНАЛИЗА

1. Способ построения приложений (АР) из спецификаций (AS) и компонентов (SC) программного обеспечения, характеризующийся тем, что способ состоит, каждый раз при приеме спецификации (AS), описывающей приложение (АР), которое должно быть создано, из следующих этапов, на которых:
i) выполняют семантический анализ текста этой спецификации (AS), чтобы выделить элементарные требования (SR) и связи между этими элементарными требованиями (SR), причем эти связи определяют «общую структуру спецификации», затем выделяют для каждого элементарного требования (SR) пертинентные термины, которые оно содержит, и формируют для каждого элементарного требования (SR) «семантическое описание», основанное на его выделенных пертинентных терминах и представляющее «семантику этого элементарного требования», затем
ii) осуществляют доступ к, по меньшей мере, одному хранилищу компонентов, хранящему семантические компоненты (SSC) программного обеспечения, причем каждый из них создан из компонента (SC) программного обеспечения, связанного с семантическим описанием (SD), содержащим, по меньшей мере, один пертинентный термин для возможности определения каждой публичной операции, которую упомянутый компонент (SC) программного обеспечения способен выполнять для определения для каждого выделенного элементарного требования (SR), путем сравнения семантики этого элементарного требования (SR) и семантических описаний (SD) компонентов, какой компонент(ы) (SC) может(гут) охватывать упомянутое выделенное элементарное требование (SR), и
iii) объединяют эти определенные компоненты (SC) программного обеспечения согласно упомянутой общей структуре спецификации, чтобы построить приложение.
2. Способ по п.1, характеризующийся тем, что, по меньшей мере, некоторые из упомянутых семантических описаний (3D) компонентов (SC) программного обеспечения содержат:
i) задачу операции, которую компонент (SC) программного обеспечения способен выполнить,
ii) по меньшей мере один доменный идентификатор, указывающий домен, где определены термины, описывающие упомянутую задачу операции и входной(ые)/выходной параметры упомянутой операции, и
iii) пертинентные термины и/или особые метаданные, связанные с этими входным(и)/выходным параметрами.
3. Способ по п.1 или 2, характеризующийся тем, что для каждого из упомянутых выделенных элементарных требований (SR) определяют семантическую дистанцию между его семантическим описанием (SD) и семантическим описанием (SD) каждого из упомянутых компонентов (SC) программного обеспечения, затем выбирают сохраненные компоненты (SC) программного обеспечения, соответствующие минимальной семантической дистанции, причем этот выбранный компонент (SC) программного обеспечения, таким образом, предназначается для выполнения упомянутого элементарного требования (SR).
4. Способ по п.1, в котором, по меньшей мере, некоторые из упомянутых семантических описаний (SD) компонентов (SC) программного обеспечения содержат:
i) задачу операции, которую компонент (SC) программного обеспечения способен выполнить,
ii) по меньшей мере один доменный идентификатор, указывающий домен, где определены термины, описывающие упомянутую задачу операции и входной(ые)/выходной параметры упомянутой операции, и
iii) пертинентные термины и/или особые метаданные, связанные с этими входным(и)/выходным параметрами,
причем для каждого из упомянутых выделенных элементарных требований (SR) определяют семантическую дистанцию между его семантическим описанием (SD) и семантическим описанием (SD) каждого из упомянутых компонентов (SC) программного обеспечения, затем выбирают сохраненные компоненты (SC) программного обеспечения, соответствующие минимальной семантической дистанции, причем этот выбранный компонент (SC) программного обеспечения, таким образом, предназначается для выполнения упомянутого элементарного требования (SR),
характеризующийся тем, что связывают первичный n-кортеж слов, называемый «syn-uplet», с каждым пертинентным термином элементарного требования (SR), причем такой syn-uplet называется «reg-uplet», тем, что связывают syn-uplet с каждым пертинентным термином задачи каждой публичной операции каждого компонента (SC) программного обеспечения, причем такой syn-uplet называется «comp-uplet», и тем, что сравнивают каждый из упомянутых reg-uplet с каждым из упомянутых comp-uplet, чтобы определить семантическую дистанцию между каждым элементарным требованием (SR) и каждым сохраненным компонентом (SC) программного обеспечения.
5. Способ по п.4, характеризующийся тем, что:
i) определяют семантическую близость, представленную числом слов, которые являются общими для каждого reg-uplet и для каждого comp-uplet, и
ii) для каждого элементарного требования (SR) создают вторичный n-кортеж, называемый «sem-uplet» и выражающий семантические близости между каждым из reg-uplet и таковым для каждого из comp-uplet, при этом каждый вторичный n-кортеж определяет семантическую дистанцию, затем выбирают сохраненный компонент (SC) программного обеспечения, соответствующий вторичному n-кортежу, который определяет минимальную семантическую дистанцию.
6. Способ по п.3, характеризующийся тем, что устанавливают такие же пертинентные связи, как и те, что определяют упомянутую общую структуру спецификации (AS) между выбранными сохраненными компонентами (SC) программного обеспечения, которые соответствуют упомянутым выделенным элементарным требованиям (SR), чтобы оптимизировать структуру приложения (АР).
7. Способ по п.4, характеризующийся тем, что устанавливают такие же пертинентные связи, как и те, что определяют упомянутую общую структуру спецификации (AS) между выбранными сохраненными компонентами (SC) программного обеспечения, которые соответствуют упомянутым выделенным элементарным требованиям (SR), чтобы оптимизировать структуру приложения (АР).
8. Способ по п.5, характеризующийся тем, что устанавливают такие же пертинентные связи, как и те, что определяют упомянутую общую структуру спецификации (AS) между выбранными сохраненными компонентами (SC) программного обеспечения, которые соответствуют упомянутым выделенным элементарным требованиям (SR), чтобы оптимизировать структуру приложения (АР).
9. Способ по п.4, характеризующийся тем, что для определения упомянутой общей структуры спецификации:
i) определяют семантическую близость, представленную числом слов, которые являются общими для reg-uplet каждой пары элементарных требований (SR), и
ii) для каждого элементарного требования (SR) создают вторичный n-кортеж, называемый «sem-uplet» и включающий семантические близости между собственным reg-uplet и таковыми для других элементарных требований (SR), причем каждый sem-uplet определяет семантическую дистанцию, затем устанавливают пертинентную связь между двумя разными элементарными требованиями (SR), когда значение их sem-uplet максимально.
10. Способ по п.5, характеризующийся тем, что для определения упомянутой общей структуры спецификации:
i) определяют семантическую близость, представленную числом слов, которые являются общими для reg-uplet каждой пары элементарных требований (SR), и
ii) для каждого элементарного требования (SR) создают вторичный n-кортеж, называемый «sem-uplet» и включающий семантические близости между собственным reg-uplet и таковыми для других элементарных требований (SR), причем каждый sem-uplet определяет семантическую дистанцию, затем устанавливают пертинентную связь между двумя разными элементарными требованиями (SR), когда значение их sem-uplet максимально.
11. Способ по п.6, характеризующийся тем, что для определения упомянутой общей структуры спецификации:
i) определяют семантическую близость, представленную числом слов, которые являются общими для reg-uplet каждой пары элементарных требований (SR), и
ii) для каждого элементарного требования (SR) создают вторичный n-кортеж, называемый «sem-uplet» и включающий семантические близости между собственным reg-uplet и таковыми для других элементарных требований (SR), причем каждый sem-uplet определяет семантическую дистанцию, затем устанавливают пертинентную связь между двумя разными элементарными требованиями (SR), когда значение их sem-uplet максимально.
12. Устройство (D) для создания приложений (АР) из спецификаций (AS) и компонентов (SC) программного обеспечения, характеризующееся тем, что устройство содержит:
i) средство (SM) хранения для хранения семантических компонентов (SSC) программного обеспечения, каждый из которых создан из компонента (SC) программного обеспечения, связанного с семантическим описанием (SD), содержащим, по меньшей мере, один пертинентный термин для определения каждой публичной операции, которую упомянутый компонент (SC) программного обеспечения способен выполнять,
ii) анализирующее средство (AM), предназначенное каждый раз при приеме спецификации (AS), описывающей приложение (АР), которое должно быть создано, для выполнения семантического анализа упомянутой спецификации (AS), чтобы выделить элементарные требования (SR) из текста упомянутой спецификации (AS), и связи между этими элементарными требованиями (SR), причем эти связи определяют «общую структуру спецификации», затем для выделения, для каждого элементарного требования (SR), пертинентных терминов, которые оно содержит, и для создания для каждого элементарного требования (SR) «семантического описания», основанного на его выделенных пертинентных терминах и представляющее «семантику этого элементарного требования», затем для осуществления доступа к упомянутому средству (SM) хранения для определения для каждого выделенного элементарного требования (SR) путем сравнения семантики этого элементарного требования (SR) и семантических описаний (SD) компонентов, какой(ие) компонент(ы) может(гут) охватывать упомянутое выделенное элементарное требование (SR), и
iii) средство (РМ) обработки для объединения определенных компонентов (SC) программного обеспечения в соответствии с упомянутой общей структурой спецификации, чтобы создать упомянутое приложение (АР).
13. Устройство по п.12, характеризующееся тем, что, по меньшей мере, некоторые из упомянутых семантических описаний (SD) компонентов (SC) программного обеспечения содержат:
i) задачу операции, которую компонент (SC) программного обеспечения способен выполнить,
ii) по меньшей мере один доменный идентификатор, указывающий, где определены термины, описывающие задачу операции и входной(ые)/выходной параметры упомянутой операции, и
iii) пертинентные термины и/или особые метаданные, связанные с этими входным(ми)/выходным параметрами.
14. Устройство по любому из пп.12 или 13, характеризующееся тем, что упомянутое анализирующее средство (AM) предназначено для определения для каждого выделенного элементарного требования (SR) семантической дистанции между собственным семантическим описанием и семантическими описаниями (SD) каждого из упомянутых сохраненных компонентов (SC) программного обеспечения, затем для выбора сохраненного компонента (SC) программного обеспечения, соответствующего минимальной семантической дистанции, при этом выбранный компонент (SC) программного обеспечения предназначен для выполнения элементарного требования.
15. Устройство по п.12, в котором, по меньшей мере, некоторые из упомянутых семантических описаний (SD) компонентов (SC) программного обеспечения содержат:
i) задачу операции, которую компонент (SC) программного обеспечения способен выполнить,
ii) по меньшей мере один доменный идентификатор, указывающий, где определены термины, описывающие задачу операции и входной(ые)/выходной параметры упомянутой операции, и
iii) пертинентные термины и/или особые метаданные, связанные с этими входным(ми)/выходным параметрами,
причем упомянутое анализирующее средство (AM) предназначено для определения для каждого выделенного элементарного требования (SR) семантической дистанции между собственным семантическим описанием и семантическими описаниями (SD) каждого из упомянутых сохраненных компонентов (SC) программного обеспечения, затем для выбора сохраненного компонента (SC) программного обеспечения, соответствующего минимальной семантической дистанции, при этом выбранный компонент (SC) программного обеспечения предназначен для выполнения элементарного требования,
характеризующееся тем, что упомянутое анализирующее средство (AM) предназначено для связывания первичного n-кортежа слов, называемого «syn-uplet», с каждым пертинентным термином элементарного требования (SR), причем такой syn-uplet называется «reg-uplet», и для сравнения каждого из этих reg-uplet с comp-uplet, которые являются syn-uplet, связанными с каждым пертинентным термином задачи каждой публичной операции каждого компонента (SC) программного обеспечения, чтобы определить семантическую дистанцию между каждым элементарным требованием (SR) и каждым сохраненным компонентом (SC) программного обеспечения.
16. Устройство по п.15, характеризующееся тем, что упомянутое анализирующее средство (AM) предназначено:
i) для определения семантической близости, представленной числом слов, которые являются общими для каждого reg-uplet и каждого comp-uplet, и
ii) для каждого элементарного требования (SR) для создания вторичного n-кортежа, называемого «sem-uplet», и выражения семантических близостей между каждым из reg-uplet и таковыми для каждого из comp-uplet, при этом каждый вторичный n-кортеж определяет семантическую дистанцию, и затем для выбора сохраненного компонента (SC) программного обеспечения, соответствующего вторичному n-кортежу, который определяет минимальную семантическую дистанцию.
17. Устройство по п.14, характеризующееся тем, что упомянутое средство (РМ) обработки предназначено для установления тех же самых пертинентных связей, как и те, которые определяют общую структуру спецификации (AS) между выбранными сохраненными компонентами (SC) программного обеспечения, которые соответствуют упомянутым выделенным элементарным требованиям (SR), чтобы оптимизировать структуру приложения (АР).
18. Устройство по п.15, характеризующееся тем, что упомянутое средство (РМ) обработки предназначено для установления тех же самых пертинентных связей, как и те, которые определяют общую структуру спецификации (AS) между выбранными сохраненными компонентами (SC) программного обеспечения, которые соответствуют упомянутым выделенным элементарным требованиям (SR), чтобы оптимизировать структуру приложения (АР).
19. Устройство по п.16, характеризующееся тем, что упомянутое средство (РМ) обработки предназначено для установления тех же самых пертинентных связей, как и те, которые определяют общую структуру спецификации (AS) между выбранными сохраненными компонентами (SC) программного обеспечения, которые соответствуют упомянутым выделенным элементарным требованиям (SR), чтобы оптимизировать структуру приложения (АР).
20. Устройство по п.17, характеризующееся тем, что для определения упомянутой общей структуры приложения упомянутое анализирующее средство (AM) предназначено:
i) для определения семантической близости, представленной числом слов, которые являются общими для reg-uplet каждой пары элементарных требований (SR), и
ii) для каждого элементарного требования (SR), для создания вторичного n-кортежа, содержащего семантические близости между собственным reg-uplet и таковыми для других элементарных требований (SR), при этом каждый вторичный n-кортеж определяет семантическую дистанцию, а также для установления. ертинентной связи между двумя отдельными элементарными требованиями, когда значение их sem-uplet максимально.
21. Устройство по п.18, характеризующееся тем, что для определения упомянутой общей структуры приложения упомянутое анализирующее средство (AM) предназначено:
i) для определения семантической близости, представленной числом слов, которые являются общими для reg-uplet каждой пары элементарных требований (SR), и
ii) для каждого элементарного требования (SR) для создания вторичного n-кортежа, содержащего семантические близости между собственным reg-uplet и таковыми для других элементарных требований (SR), при этом каждый вторичный n-кортеж определяет семантическую дистанцию, а также для установления пертинентной связи между двумя отдельными элементарными требованиями, когда значение их sem-uplet максимально.
22. Устройство по п.19, характеризующееся тем, что для определения упомянутой общей структуры приложения упомянутое анализирующее средство (AM) предназначено:
i) для определения семантической близости, представленной числом слов, которые являются общими для reg-uplet каждой пары элементарных требований (SR), и
ii) для каждого элементарного требования (SR) для создания вторичного n-кортежа, содержащего семантические близости между собственным reg-uplet и таковыми для других элементарных требований (SR), при этом каждый вторичный n-кортеж определяет семантическую дистанцию, а также для установления пертинентной связи между двумя отдельными элементарными требованиями, когда значение их sem-uplet максимально.