Способ, компьютерная система и компьютерный программный продукт для настройки виртуального представления компоновки множества компонентов

Изобретение относится к способу задания настройки виртуального представления компоновки множества компонентов, вычислительной системе и к компьютерному программному продукту. Техническим результатом является расширение функциональных возможностей. Вычислительная система, предназначенная для задания в запоминающем устройстве конфигурации виртуального представления компоновки множества компонентов, содержит: базу данных, в которой хранится первый набор данных, представляющих множество категорий компонентов и для каждой категории - параметры и ограничения, определяющие ограничения для настройки каждого из компонентов в каждой из категорий, процессор, запрограммированный для формирования второго набора данных, представляющих компоновку множества компонентов и представляющих пространство настроек упомянутого множества компонентов, и для сохранения второго набора данных в запоминающем устройстве, содержащего отдельную структуру данных, которая задает достоверные комбинации компонентов и является ассоциированной с конкретным компонентом, благодаря чему ограничения для конкретного компонента отражают достоверные комбинации компонентов, при этом процессор дополнительно запрограммирован для формирования третьего набора данных, представляющих в пространстве настроек текущую конфигурацию. Способ описывает работу указанной системы. 6 н. и 28 з.п. ф-лы, 22 ил.

 

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

Настоящее изобретение относится к определению конфигурации систем с целью поддержки в реальном времени визуализации задач настройки для сложных изделий. Изобретение обеспечивает общий способ для формулирования модели изделия с использованием абстрактных компонентов. Изобретение полезно в среде выполнения программы, например в электронной торговле, для визуальной настройки изделий с визуальной обратной связью в реальном времени.

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ

Настройку изделия (продукта) можно рассматривать как способ навигации, по пространству параметров(а), чтобы достичь некоторой настройки (продукта), обычно называемый вариантом изделия или настроенным изделием.

В настоящем контексте под параметром следует понимать одно или несколько свойств, обычно хранимых в переменной, соответствующей компоненту в компьютерной программе. Например, компонент может иметь материальный параметр, которому могут быть назначены различные значения, такие как дуб, бук, красное дерево, тик и т.д., параметр цвета, такой как синий, зеленый, желтый и т.д., параметр размера, такой как малый, средний или большой, параметр светового отражения, такой как блестящий или матовый и т.д.

Например, автомобиль имеет конечное пространство состояний. Его система допустимых решений может быть определена конечным числом параметров, и процедура определения конфигурации автомобиля эквивалентна навигации в пространстве, имеющем конечное число состояний, посредством выбора значения для каждого параметра из конечного числа параметров. В противоположность, кухню формируют из изменяющегося количества шкафов и принадлежностей, и, следовательно, имеется изменяющееся и возможно неограниченное пространство параметров в зависимости от количества шкафов. Для каждого нового шкафа кухни пространство параметров изменяется.

Более общим примером являются собираемые или компонуемые изделия. Компонуемым изделием является изделие, которое состоит из набора подизделий (подпродуктов), которые могут быть собраны вместе (в некотором смысле), чтобы произвести целостное. В некотором смысле, большинство физических изделий могут быть рассмотрены в качестве компонуемых. Однако изделие обычно называют компонуемым, если изделие не является строго ограниченным определенным количеством элементов. Различными могут рассматриваться изделия, имеющие значительно различающееся количество и/или комбинаций подизделий, которые скомпонованы вместе. Например, автомобиль будет всегда иметь одинаковое количество сходных существенных частей, например четыре колеса и один двигатель, тогда как существенные части кухни содержат различное количество шкафов. Компоновочные блоки сами по себе могут быть в значительной степени настраиваемыми или компонуемыми изделиями.

Обычно трудно создавать удовлетворительную модель изделия для большинства компонуемых изделий. Одна трудность состоит в том, чтобы суметь понять (охватить) многочисленные варианты, поскольку каждый компоновочный блок является настраиваемым, но зависящим от всех остальных. Одним способом обойти это является установление точного количества и комбинаций подизделий и затем описать все взаимосвязи.

Кроме того, для многих компонуемых изделий соединение между подизделиями может обычно быть весьма физическим по природе, что является трудным или даже невозможным для описания в логических терминах модели изделия. Например, для кухни ящики шкафа имеют очень ясную логическую (или структурную) связь со шкафом, в котором они находятся; например, их может быть 3, 5 или 7 в зависимости от размера. Однако связи между двумя шкафами в двух группах различных соединений не обязательно известны.

Поэтому существует несколько трудностей. Во-первых, объединенные полные логические правила для компонуемого изделия не очень хорошо соотносятся с классическим описанием модели изделия. Во-вторых, взаимосвязи в компонуемых изделиях не являются простыми для описания в терминах логических ограничений.

Известны два типа средств создания настроек или конфигураторов, основанных на правилах; на алгоритмах поиска (например, с использованием древовидных структур) или с хранением всех применимых (действительных) комбинаций в базе данных, основанной на логике. Ни один из этих способов не направлен на решение трудностей, упомянутых выше. Кроме того, много очевидных и простых правил имеют геометрический характер или относятся к геометрической сущности изделий. Их очень трудно формулировать на логическом языке. Таким образом, целью изобретения является содействовать компоновке изделий на основании компонентного принципа и предоставить возможность создания модели изделия.

КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ

В первом аспекте изобретение обеспечивает способ определения в запоминающем устройстве компьютерной системы конфигурации виртуального представления компоновки множества компонентов, способ, содержащий этапы, предназначенные для:

сохранения в базе данных компьютерной системы первого набора данных, представляющих множество категорий компонентов, и, для каждой категории, параметров и/или ограничений, определяющих ограничения для настроек каждого из компонентов в пределах каждой из категорий, благодаря чему все компоненты в категории имеют общие параметры и ограничения,

формирование или определение второго набора данных, представляющих компоновку множества компонентов и представляющих пространство конфигурации для указанного множества компонентов, и сохранение второго набора данных в запоминающем устройстве компьютерной системы, причем этап формирования выполняют с учетом ограничений, ассоциированных с каждым компонентом, и ограничений для компоновки, и формирование третьего набора данных, представляющих данную конфигурацию в пространстве конфигураций,

повторение этапа формирования или определения посредством:

добавления ко второму и третьему набору данных таких данных, которые представляют компонент категории и которые являются произведенными (или выводимыми) из первого набора данных, или

удаления данных, представляющих компонент второго и третьего набора данных, или

изменения данных, представляющих предварительно добавленный компонент второго и третьего набора данных,

с учетом ограничений, ассоциированных с каждым компонентом, и ограничений для компоновки для того, чтобы достичь (прийти к) обновленной версии второго набора данных и обновленной версии третьего набора данных.

Повторное формирование второго и третьего набора данных предусматривает модель изделия, которая не является ограничиваемой ограниченным количеством компонентов или ограниченным пространством. Далее, при наличии ограничений, определяющих ограничения настроек для каждого из компонентов, хранимых в базе данных, и посредством учета этих ограничений при формировании второго набора данных необходимость в сохранении всех возможных комбинаций компонентов исключается. Аналогично, посредством автоматического формирования и предпочтительно сохранения данных, представляющих ограничения для компоновки, модель изделия может быть создана гибким, эффективным по (использованию) памяти и обработке данным образом.

Должно быть понятно, что обновленная версия второго набора данных может быть произведена вследствие изменения в третьем наборе данных, так что при повторении этапа формирования третий набор данных является обновляемым, например, в ответ на пользовательский ввод (данных), благодаря чему второй набор данных является автоматически обновляемым.

На этапе формирования третьего набора данных способ может дополнительно содержать предложение множества компонентов или категорий компонентов и повторение этапа предложения, благодаря чему при повторении этапа предложения только выбранные компоненты или категории компонентов являются предлагаемыми. Таким образом, пользователь вычислительной системы может экономить время при создании настройки изделия, и в то же время это предотвращает формирование недопустимых или неразрешенных комбинаций компонентов.

Данные, представляющие компоненты, могут содержать данные, представляющие параметры компонентов, в таком случае способ на этапе формирования третьего набора данных дополнительно содержит предложение набора параметров компонентов, посредством которого предлагают только выбранные параметры, причем выбранные параметры выбирают в соответствии с ограничениями для компонентов таким образом, что достижимы только возможные и/или допустимые комбинации компонентов и параметров.

Кроме того, на этапе предложения компонентов и/или значений параметра(ов) могут быть предложены только компоненты и/или значения параметра, которые учитывают ограничения, ассоциированные с каждым компонентом, и которые учитывают ограничения для компоновки.

В настоящем контексте компонент должен быть интерпретирован не только как физический компонент, но также и, или в качестве альтернативы, представлением его данных (представлением в виде данных) в запоминающем устройстве вычислительной компьютерной системы, возможно включая параметры и/или характеристики компонента.

Способ может содержать визуализацию на устройстве отображения или на принтере, ассоциированном с вычислительной системой, графического или физического представления по меньшей мере части пространства настроек, представленного посредством второго набора данных, и/или по меньшей мере части настройки (конфигурации), представленной третьим набором данных. Вычислительная система может быть соединена с системой связи, в таком случае способ может дополнительно содержать:

посылку второго и/или третьего набора данных через сеть связи к последующей (дополнительной) вычислительной системе, и

визуализацию на мониторе (такой) последующей вычислительной системы или на любом другом устройстве отображения, графического образа пространства настроек, представленного вторым набором данных, и/или графического образа настройки (конфигурации), представленного посредством третьего набора данных.

Таким образом, может быть осуществлен обмен данными через сеть связи, такую как Интернет или локальная (вычислительная) сеть, (ЛВС, LAN), так что пользователь или потенциальный покупатель изделия, например кухни, может настраивать изделие из местоположения, удаленного от местоположения вычислительной системы.

Второй набор данных может дополнительно содержать данные, представляющие связи, или отношения, между связанными компонентами, и тип связей между компонентами, благодаря чему второй набор данных также представляет соединения (связи) между компонентами.

В ходе этапа формирования этап добавления может содержать установление соединения компонентов в компоновке и/или добавление компонента к компоновке. Аналогично, этап удаления может содержать разъединение двух компонентов в компоновке и/или удаление компонента из компоновки. В заключение, этап изменения может содержать по меньшей мере одно из:

изменение данных, представляющих по меньшей мере один компонент компоновки,

соединение двух компонентов компоновки, и

разъединение двух компонентов компоновки.

В одном варианте осуществления изобретения этап формирования содержит создание набора групп или кластеров, причем каждая группа содержит данные, представляющие отдельный компонент, а также необязательно по меньшей мере один дополнительный компонент, который связан с этим отдельным компонентом, благодаря чему набор групп содержит данные, представляющие все компоненты, содержащиеся в виртуальном представлении. Связи между компонентами могут быть либо физическими, либо логическими связями. Физические связи могут, например, содержать физическое соединение между двумя компонентами, тогда как логические связи, например, ограничивают возможные значения параметров или параметра, которые могут быть назначены компоненту, например древесина, из которой сделана дверь кухни, ограничена дубом или буком, тогда как другие компоненты кухни могут быть сделаны также из тика или красного дерева. Вторые данные могут содержать данные, представляющие тип связи между связанными компонентами.

Второй набор данных может дополнительно содержать отдельную структуру данных или набор отдельных структур данных, которые определяют возможные или разрешенные комбинации компонентов и/или значений параметра, причем отдельную структуру данных или структуры включают во второй набор данных таким образом, что каждая отдельная структура данных является ассоциированной с конкретным компонентом, благодаря чему по меньшей мере одно из ограничений для конкретного компонента может отражать вышеуказанные возможные или разрешенные комбинации компонентов и/или значений параметра.

Таким образом, отдельная структура данных, ассоциированная с отдельным компонентом, может определять возможные или разрешенные комбинации компонентов для группы, соответствующей отдельному компоненту, и/или значения параметра компонентов для группы, соответствующей отдельному компоненту.

Отдельная структура данных может предпочтительно составлять базу данных настроек (конфигураций), в которой хранятся данные, представляющие возможные или разрешенные комбинации компонентов и/или значений параметра.

Этап формирования второго набора данных может дополнительно содержать:

выполнение проверки для каждой группы, являются ли данные, представляющие компонент этой группы, совместимыми с ограничениями, определенными взаимно связанными компонентами в этой группе, и если проверка выявляет несовместимость, то:

изменение второго набора данных и/или данных, представляющих рассматриваемый компонент, с учетом ограничений, предоставляемых (сопоставляемых) всеми взаимно связанными компонентами.

Второй набор данных может дополнительно содержать данные, представляющие геометрические размеры/формы или геометрию, по меньшей мере для части компоновки, посредством которых ограничения компонентов данной части компоновки определяют геометрическую природу ограничений на параметры компонентов.

Кроме того, третий набор данных может представлять состояние данной (имеющейся) настройки, и на этапе повторения способ может содержать автоматическое обновление второго набора данных в ответ на изменения в третьем наборе данных. Такое изменение в третьем наборе данных может, например, изменять значение одного или нескольких параметров. В случае, если параметр представляет компонент, изменение такого параметра может инициировать то, что компонент является вставляемым/удаляемым из компоновки, и/или то, что соединение, включающее в себя компонент, является вставляемым/удаляемым. Таким образом, данная настройка является воспроизводимой из первого и третьего набора данных.

Во втором аспекте изобретение относится к вычислительной (компьютерной) системе, предназначенной для определения в запоминающем устройстве вычислительной системы настройки (конфигурации) виртуального представления компоновки множества компонентов, причем вычислительная система содержит:

базу данных, в которой хранятся первый набор данных, представляющих множество категорий компонентов, и для каждой категории параметры и ограничения, определяющие ограничения для настроек для каждого из компонентов в пределах каждой из категорий, благодаря чему все параметры и компоненты в категории имеют общие ограничения,

процессор, который является программированным для формирования второго набора данных, представляющих компоновку множества компонентов, и представляющих пространство настроек вышеуказанного множества компонентов, и для сохранения второго набора данных в запоминающем устройстве вычислительной системы, причем процессор программируется для формирования второго набора данных с учетом ограничений, ассоциированных с каждым компонентом, и ограничений для компоновки, при этом процессор дополнительно программируется для формирования третьего набора данных, представляющих данную настройку в пространстве настроек,

процессор дополнительно программируется для повторения формирования второго набора данных посредством:

добавления ко второму и третьему набору данных таких данных, которые представляют компонент категории, и которые произведены из первого набора данных, или

удаления данных, представляющих компонент второго и третьего набора данных, или

изменения данных, представляющих предварительно добавленный компонент второго и третьего набора данных,

с учетом ограничений, ассоциированных с каждым компонентом, и ограничений для компоновки, чтобы достичь обновленной версии второго набора данных и обновленной версии третьего набора данных.

Вычислительная система может быть программируемой для выполнения этапов, описанных выше в связи со способом для первого аспекта изобретения.

В третьем аспекте изобретение относится к компьютерному программному продукту, предназначенному для конфигурации в запоминающем устройстве вычислительной системы настройки виртуального представления компоновки множества компонентов, при этом вычислительный программный продукт содержит средства, предназначенные для:

сохранения в базе данных вычислительной системы первого набора данных, представляющих множество категорий компонентов и для каждой категории - параметры и ограничения, определяющие ограничения для настроек каждого из компонентов в пределах каждой из категорий, благодаря чему все параметры и компоненты в категории имеют общие ограничения,

формирования второго набора данных, представляющих компоновку множества компонентов и представляющих пространства настроек набора компонентов, и сохранения второго набора данных в запоминающем устройстве вычислительной системы, причем этап формирования выполняют с учетом ограничений, ассоциированных с каждым компонентом, и ограничений для компоновки, и формирование третьего набора данных, представляющего в пространстве настроек данную настройку,

повторения этапа формирования посредством:

добавления ко второму и третьему набору данных таких данных, которые представляют компонент категории, и которые произведены из первого набора данных, или

удаления данных, представляющих компонент второго и третьего набора данных, или

изменения данных, представляющих предварительно добавленный компонент второго и третьего набора данных,

с учетом ограничений, ассоциированных с каждым компонентом, и ограничений для компоновки с тем, чтобы достичь обновленной версии второго набора данных и обновленной версии третьего набора данных.

Изобретение также относится к машиночитаемому носителю данных, загружаемому компьютерным программным продуктом, машиночитаемому сигналу данных, воплощающему данные, сформированные посредством компьютерного программного продукта, и к вычислительной системе, содержащей запоминающее устройство или средство хранения, загружаемые компьютерным программным продуктом. Компьютерный программный продукт может содержать средство для выполнения всех или некоторых из этапов, описанных выше и ниже в документе в связи со способом изобретения.

ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ

Научная задача, на которую направлены технические решения настройки, состоит в том, чтобы осуществлять создание и навигацию в динамическом пространстве состояний допустимого решения для заданной системы. Говоря абстрактно, настройка (изделия) является процедурой перемещения (навигации) в пространстве параметров для достижения некоторой настройки (изделия).

Изделие (продукт) является некоторой системой или физическим объектом или группой объектов, которые совместно составляют нечто целое. Компонуемое изделие является изделием, которое состоит из некоторого количества подизделий, которые могут быть скомпонованы (скомплектованы) вместе (в некотором смысле), чтобы произвести целое.

В терминологии конфигурации (настройки) модель изделия (МИ) является описанием всех параметров в полной системе и описанием того, какие комбинации значений параметров являются допустимыми, и они представляют допустимые (или действительные) изделия в конфигураторе. В такой терминологии процедура настройки состоит из перемещения (навигации) в пространстве параметров, порожденном параметрами, с учетом правил модели изделия, производящей допустимую настройку изделия.

Выражаясь математически, модель изделия описывает пространство параметров, имеющее MN*P значений, каждое соответствует одной возможной настройке изделия. При этом предполагают, что система состоит из P подсистем, имеющих каждая N параметров, каждый из которых, кроме того, имеет М возможных значений. Если P подсистем являются несвязанными, то пространство параметров имеет только (MN)*P значений. Однако подсистемы имеют некоторые подпространства, в которых они являются связанными. Следовательно, пространство параметров имеет (М(N+0))*P значений, которое является менее сложным, чем система MN*P при малом числе O, то есть при малом перекрытии подсистем. Другими словами, определяют менее сложную систему посредством добавления к каждому подизделию некоторых дополнительных параметров, описывающих связность, и это является большим преимуществом тогда, когда количество P подсистем не является известным первоначально.

В настоящем изобретении использующая компонентное представление модель изделия, или компонентная модель изделия, изобретена с целью описания, в принципе, бесконечного (или неограниченного) пространства параметров (то есть количества параметров), в котором каждый компонент (вышеуказанное P) имеет конечное количество параметров (вышеуказанное N), каждый вместе с областью значений, или доменом, (вышеуказанное М), тогда как полная система может содержать неограниченное, не известное первоначально значение и может состоять из произвольного числа компонентов. Такие компоненты являются частью структуры данных, и каждый компонент ассоциирован с некоторым количеством переменных состояния.

В специальном случае компонент непосредственно относится к объекту, который имеет геометрическое представление. Объект является обычно физическим объектом изделия, и его геометрия может быть визуализирована в соответствующей системе визуализации на любом устройстве в качестве следствия изменений в МИ. Любое электронное устройство, которое может отображать геометрию, может использоваться для визуализации.

Классическое предположение, что все параметры являются совокупностью всех параметров для всех компонентов, является по определению неосуществимым для описания, поскольку используемая модель изделия является расширяемой посредством встраивания новых компонентов (слияние или объединение модели) в имеющуюся компонентную модель изделия, чтобы произвести новую настройку для изделия.

Важным понятием настоящего изобретения является основанная на состояниях настройка (конфигурация), которая содержит конкретную структуру данных, представляющую пространство параметров, и соответствующий способ перемещения в пространстве параметров (также называемом пространством состояний).

По данному способу все параметры представляют посредством переменных состояния, которые все имеют в точности одно значение в произвольный момент времени. Набор значений всех переменных состояния называют состоянием и представляет в точности одну настройку для изделия. Одинаково важной является способность осуществлять перемещение в пространстве параметров, изменяя одну (или несколько) переменных за один раз до достижения удовлетворительной настройки. В некотором смысле, такой тип конфигуратора дает возможность пользователю перемещаться в пространстве параметра. Альтернативой является сузить некоторый приемлемый поднабор для пространства параметров и только в самом конце достичь некоторой конкретной настройки для изделия.

Можно рассмотреть изделия, которые являются физическими в некотором смысле, например (лестничные) строительные леса. Одним преимуществом представления состояния является то, что это позволяет представлять пользователю настройку визуально в течение процедуры (хода выполнения) настройки. Под визуализацией виртуального представления изделия подразумевают визуализацию изделия, а не некоторого абстрактного показа пространства параметров. Задачи, включающие в себя определение настройки изделия и в то же время отображение результата, являются известными задачами в области технических решений настройки. Следует заметить, что основанная на состоянии настройка является сутью того, как функционирует данный тип конфигуратора, и ее смысл и преимущества нисколько не ограничены визуализацией.

Центральной частью изобретения является концепция наличия компонентной модели изделия (компонентная МИ). Компонентная МИ состоит из двух частей связанных МИ. Одна часть является статическим описанием МИ, и другая часть является динамической. Это необходимо для пригодности в применениях, которые относятся к созданию изделий из индивидуальных компонентов в МИ и изменению полного изделия динамически, и, следовательно, (обязательно статическое) описание модели должно быть отделено от собственно модели.

Статическое описание называют разделенной на фрагменты, или фрагментированной, моделью изделия, и она состоит из конечного количества МИ-фрагментов. МИ-фрагменты являются компоновочными блоками МИ. Каждый МИ-фрагмент содержит набор параметров изделия.

МИ-фрагмент является компоновочным блоком в контексте МИ, тогда как компонент является компоновочным блоком в контексте изделия. Однако МИ-фрагмент обычно ассоциируют непосредственно с компонентом или группой компонентов.

Динамическое описание называют мгновенной (моментальной) моделью изделия, и оно содержит набор объединенных МИ-фрагментов. Другими словами, мгновенная МИ является совокупностью ее МИ-фрагментов в уникальной комбинации, зависимых между собой. Следует обратить внимание, что мгновенная МИ обычно включает в себя многие МИ-фрагменты одинаковой (одной) категории, в которой МИ-фрагменты одинаковой категории определены в качестве МИ-фрагментов с одинаковым набором параметров, но в которой параметры могут иметь различные значения.

В качестве заключения, компонентная МИ состоит из фрагментированной МИ и мгновенной МИ, как проиллюстрировано на Фиг.1.

В среде выполнения, использующей компонентную МИ, первым экземпляром является МИ-фрагмент, который задает начальные условия, или инициализирует мгновенную МИ. После этого изменения в компонентной МИ осуществляют изменением модели мгновенной МИ, и каждое изменение обычно производит новую структуру мгновенной МИ и/или ее МИ-фрагментов.

Полный основополагающий принцип для возможности делать это основан на локальной комбинации, производящей то, что называют МИ-группированием (кластеризацией), в котором все МИ-фрагменты помещены в свои контексты. Это подразумевает, что воздействие конкретного компонента, или точнее его состояния, является только локальным. По меньшей мере, только локальное непосредственное воздействие, поскольку изменение в его собственной группе (контексте) может осуществимо распространяться на другие группы, охватывает другие группы.

Изобретение относится к определению настройки сложной системы, которая может быть создана из множества системных компонентов (компонентов для краткости). Для различения всю систему в целом называют «сценой».

Определение настройки в системе, основанной на состояниях, означает изменение состояния с учетом правил модели изделия. Модель изделия (для системы) в конфигураторе содержит описание всех доступных параметров и правил, которым они должны подчиняться. Математически она содержит пространство параметров, которое является Декартовым произведением всех включенных в нее отдельных доменов (или областей значений) параметров, и набор правил, по существу описывающих поднабор пространства параметров, называемого допустимым пространством параметров.

Относительно конфигуратора, каждую точку в пространстве параметров называют настройкой, или конфигурацией, рассматриваемой системы, и если данная точка находится в действительном (допустимом) поднаборе, то данную настройку считают допустимой (или действительной). Создание настройки (системы) содержит формирование данных, представляющих одну (или возможно множество) настройку. Следует обратить внимание, что настройка (точка в пространстве параметров) содержит в точности одно значение каждого параметра.

Смыслом подхода, основанного на обработке состояний, к созданию настройки является то, что процедура настройки в основном состоит из перехода (навигации) от настройки (называемой состояниями) к настройке посредством внесения изменений в переменные состояния, каждая из которых представляет отдельные параметры, один или несколько одновременно, обычно все время остающиеся в допустимом поднаборе.

В заданном состоянии всей системы в целом пересечение пространства допустимых параметров и области параметра называют допустимыми значениями параметра. Они являются именно теми значениями, которые могут быть назначены данной переменной без создания конфликта, или противоречия, с другой переменной, то есть без нарушения правила.

По существу, имеются три отдельные структуры данных, относящиеся к способу:

1-й набор данных: фрагментированная модель изделия, которая является набором определений категорий компонентов (модели-фрагменты), каждая из которых содержит данные, определяющие количество и виды параметров для данной категории компонента, и поведения такого компонента.

2-й набор данных: мгновенная модель изделия, которая является моделью изделия, скомпонованной на данный момент времени системы, содержащей представление всех параметров для компонентов в сцене и поднабор пространства параметров, которое является на данный момент времени допустимым.

3-й набор данных: состояние, которое точно указывает точку, соответствующую данному моменту времени, или текущую, в пространстве параметров (представляющей данную настройку).

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Фиг.1 - концептуальная схема компонентной модели изделия,

Фиг.2 - краткий обзор этапов процедуры установки значений,

Фиг.3 - этап распространения значения процедуры установки значений,

Фиг.4 - этап обработки значения процедуры установки значений,

Фиг.5 - ограничения между компонентами посредством отдельной структуры данных,

Фиг.6 - этап проверки значения процедуры установки значений,

Фиг.7 - способ, основанный на состояниях, разделенный на различные состояния в течение процедуры установки значений,

Фиг.8 - компонент и его вектор состояния с переменными состояния,

Фиг.9 - группа C3, которая включают в себя C2 и C4,

Фиг.10 - набор перекрывающихся групп, в которых группа C1 содержит только два компонента,

Фиг.11 - пример более сложной структуры группы, имеющей подкомпоненты,

Фиг.12 иллюстрирует добавление компонента (Компонент 5), который расширяет пространство параметров,

Фиг.13 - процедура добавления компонента к мгновенной модели изделия,

Фиг.14 - процедура соединения компонентов,

Фиг.15 - формирование сцепления, или связывание, моделей в результате соединения двух компонентов,

Фиг.16 - архитектура визуального конфигуратора, основанного на компонентах,

Фиг.17 - схема структур данных администратора, окружения, компонентов и т.д.,

Фиг.18 - логическая группа для компонента 1,

Фиг.19 - визуализация этапов в создании настройки системы строительных лесов,

Фиг.20 - группа для платформы 4, включающая некоторые из включенных в нее переменных,

Фиг.21 - компоновка (или иерархия компонентов), каковая появляется после этапа 10 процедуры настройки,

Фиг.22 - пространство параметров настраиваемой системы строительных лесов.

ПОДРОБНОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Переменная состояния представляет в точности один параметр в МИ, и она является точкой, в которой данные и правила из МИ непосредственно соединены с процессом настройки.

Переменная состояния ассоциирована с областью, представляющей все значения, доступные для данного параметра. Не имеет смысла назначать переменной какое-либо значение не из области.

В данный момент времени поднабор, возможно всех, значений области рассматривают в качестве допустимых, тогда как остальные являются недопустимыми. Он является тем, что изменяется динамически, в отличие от области, которая является статической. Заметим, что значения, которые являются допустимыми, в данный момент времени отображают обратную связь, или реакцию, МИ на имеющееся состояние, то есть данное состояние всей системы в целом, значения которого могут быть назначены данной переменной без привнесения всей системы в недопустимое состояние. Таким образом, косвенно это отражает взаимодействие данных переменных с другими переменными.

Как указано, значение состояния имеет в точности одно значение в любой момент времени, и элемент переменной установлен с помощью используемого значения. Это значение является одним из многих в области, и только в процедуре установки значения его можно изменять. Краткий обзор каждого этапа в процедуре установки значения приведен на Фиг.2. Если процедура установки значения приводит в недопустимое состояние, то говорят, что процедура входит в противоречие, см. этап распространения значения на Фиг.3. В зависимости от явных установок системы это может быть разрешено различными способами. Одним примером является использование простого возвращения к пройденной точке, или откат, рассматриваемой переменной, другим является вызов переходного процесса полного состояния и использование весьма продвинутых механизмов разложения переходных состояний для идентификации того, какие значения других переменных следует регулировать, чтобы задать допустимое состояние.

Переменной состояния может быть назначено некоторое количество ограничений, которые могут динамически ограничивать то, какие из значений области являются допустимыми. Другими словами, ограничения управляют тем, какие значения являются допустимыми. Кроме того, переменной состояния может быть назначено некоторое количество следствий или воздействий (результатов), которые срабатывают (запускаются) в течение процедуры установки значения на этапе обработки значения, см. Фиг.4.

Правила, определяющие допустимую часть пространства параметров, моделируют, назначая ограничения каждой переменной состояния. Ограничение может рассматриваться разновидностью связи с отдельной структурой данных или даже с внешней структурой данных, в которой собирают и обрабатывают информацию о конкретных аспектах данной системы, см. Фиг.5. Каждое ограничение является затем конкретной интерпретацией такой информации, которая является релевантной конкретной переменной состояния. Например, наличие структуры данных, представляющей чисто геометрическую информацию для системы объектов, дает возможность использования ограничений, представляющих геометрические свойства системы. Другим примером является некоторое вычисление, осуществляемое в отдельной внешней структуре данных, которая в свою очередь воздействует на пространство параметров посредством переменных состояния. Третьим примером отдельной структуры данных является база данных вместе со всеми допустимыми комбинациями данной (локальной) системы переменных, то есть логический конфигуратор системы.

Существенным вопросом при этом является то, что ограничение назначают в точности одной переменной состояния, которая затем косвенно связана со своей структурой данных, но структура данных может иметь и обычно имеет набор переменных состояния, которые таким образом связаны с ней. Это является именно тем, как переменные состояния могут взаимодействовать друг с другом; не непосредственно, но через их соответствующие реакции на изменения в такой структуре данных.

Кроме ограничения допустимых значений переменной состояния, все ограничения имеют следствие или воздействие на ее структуру данных, означая, что структура данных изменяется после установки переменной состояния вместе с ассоциированным ограничением. Это является механизмом назначения следствия или воздействия на переменную состояния.

В практическом использовании ограничение является имитируемым, если возможно проверить допустимость значения без принятия его результатов (последствий). Обычно это является вопросом только производительности конкретного осуществления, и таким образом не является в действительности релевантным абстрактному способу. Об этом упомянуто, поскольку имеет большую значимость в практическом осуществлении способа. См. Фиг.6 для последовательности этапа проверки значения.

Таким образом, если ограничение не является имитируемым, оно не может быть проверено прежде, чем не будут запущены некоторые воздействия. Если обнаруживают, что значение является недопустимым в такой ситуации, то значение состояния находится в противоречии, и запускают механизм отката. Самым обычным механизмом отката является просто обратный ход процедуры установки; однако это не всегда возможно и/или желательно в данной ситуации. Другой механизм отката использует схемы взвешенных воздействий, в которых воздействия имеют различный приоритет в соответствии с взвешиванием, задаваемым в схеме.

Способ, основанный на состояниях, разделяемый на его различные состояния в течение процедуры установки значения, показан на Фиг.7.

Если подобная структура данных была таким образом изменена, для других переменных, ассоциированных с данной структурой данных, возможно изменение их ситуации, и они должны быть уведомлены. Это также обрабатывают посредством ограничения. Таким образом, ограничение может быть изменено посредством изменений в ассоциированной структуре данных и может уведомлять переменную состояния о таких изменениях. Реакция на такие изменения может быть различных типов, но существуют некоторые примечательные основы. В первом примере она ведет к обновлению допустимых на данное время значений, но может также вести по существу к установке значения данной переменной.

Установка отдельной переменной может вести к установке других переменных через связь ограничение - воздействие, которая может в свою очередь вести к установке других переменных, таким образом распространяя последствия. Такую процедуру называют каскадированием воздействий (или просто каскадированием). Следует обратить внимание, что оно не ограничено нахождением в пределах одного фрагмента МИ, оно может быть очень хорошо распространено на всю мгновенную МИ, хотя это очень редко делают на практике, поскольку необходимы большие знания, чтобы вставить точки останова распространения, чтобы управлять такой процедурой.

Компонент является частью структуры данных (фрагмента МИ) и каждый компонент является ассоциированным с вектором состояния, содержащим одну переменную состояния для каждого из параметров компонентов, см. Фиг.8. Воздействием на компонент управляют посредством этих переменных состояния. Например, если для компонента устанавливают конкретную переменную состояния, то это могло бы иметь визуальный эффект.

Следует напомнить, что компонент представляет компоновочный блок изделия. Все (полное или часть) изделие составлено из нескольких таких блоков, представленных некоторым количеством компонентов. Изделие может быть составлено посредством выполнения соединений между парами подизделий. Соответствуя требованиям концепции компонуемого изделия, компоненты могут быть соединены по парам, производя структуру данных, называемую иерархией компонентов (или компоновкой), которую в математике называют графом компонентов.

Каждый компонент может иметь (динамически изменяющееся) количество соединений (или структурных связей) с другими компонентами. Связи являются рефлексивными, так что связи являются двунаправленными в том смысле, что если компонент является соединенным, или связанным, с другим, то другой также соединен с первым. Как отмечено ранее, часть МИ для компонента является связями компонента с другими компонентами, которые могут играть роль для данного компонента, и обычно это будет моделировано наличием конкретной переменной состояния, которая имеет в качестве своего значения другой компонент. Такую конкретную переменную состояния называют компонентной переменной. Фактическим значением является категория компонента, соответствующая МИ-фрагменту, тогда как она еще хранит конкретный экземпляр категории компонента, который является компонентом. Чтобы внести ясность, если компонент (например, C2) является значением компонентной переменной (например, Neighborl) в другом компоненте (например, С1), то C2 играет роль Neighborl в МИ для C1.

В пределах МИ компонента компонентная переменная является лишь переменной состояния. Однако (частью) воздействием (установки) компонентной переменной является установление связи между ее компонентом и компонентом значения. Следует обратить внимание, что это может включать установку переменной в другом компоненте с помощью этой компонентной переменной.

МИ-фрагменты являются компоновочными блоками полной МИ для системы. Каждый МИ-фрагмент содержит набор параметров системы. МИ-фрагмент является компоновочным блоком в контексте МИ и во многих случаях является МИ-фрагментом, эквивалентным компоненту или группе компонентов.

Связывание моделей является абстрактной процедурой объединения некоторого количества МИ-фрагментов в мгновенную МИ. На практике связывание моделей может иметь место по структурной связи (между компонентами) и является способом заставить два МИ-фрагмента взаимодействовать между собой. Это также является частью продвижения фрагмента в часть полной мгновенной МИ (см. Фиг.1 и Фиг.15).

На уровне компонентов все взаимодействие между компонентами в иерархии компонентов имеет место с использованием связывания (формирования сцепления), и сцепление всегда имеет место внутри группы. Это является по существу определением группы (кластера).

Если два компонента являются соединенными, можно установить сцепления между переменными состояния. Такие сцепления устанавливают некоторую связь между значением одной переменной состояния и другой переменной состояния. Связь может быть различных видов, примерами являются однонаправленное зеркальное отображение, совместное использование и в логическом осуществлении - перенос ограничения. В абстрактных терминах в целом это составляет то, что обычно известно как связывание моделей локальных МИ из двух компонентов.

Простой ситуацией является та, в которой МИ-фрагменты независимы друг от друга. В общем, МИ-фрагменты в значительной степени зависимы между собой в сложной модели. Для управления такими моделями используют группирование.

В среде выполнения все МИ-фрагменты, по меньшей мере принципиально, являются объединенными в мгновенную МИ. Лишь в принципе, поскольку полное основание для возможности делать такое возлагается на локальное объединение, производящее то, что называют МИ-группированием, в котором все МИ-фрагменты помещены в их контексты.

Понятие групп является составной частью компонентной МИ совместно со связыванием моделей. Все компоненты являются ассоциированными с МИ-фрагментом. Связывание моделей начинает играть роль, когда поведение компонента зависит от переменной состояния его соседнего компонента. Такой полный (завершенный) МИ-фрагмент для поведения одного компонента называют локальной (компонентной) моделью изделия. В принципе, он может зависеть от любого количества переменных состояния его соседних компонентов или доходить до любого номера уровней компонентов, являющихся соседними с ним. Такое перекрытие переменных состояния в различных локальных моделях, делающих их зависимыми, является именно связыванием моделей. Компоновка компонентов, которые включены в одну локальную компонентную модель изделия, называют группой.

Таким образом, мгновенная МИ, которая является глобальной компонентной моделью изделия, состоит из локальных моделей, которые вместе с перекрывающимися группами производят полное покрытие всех компонентов. Компоненты, которые принимают участие во многих группах, являются включенными в связывание моделей.

Чтобы привести пример, можно представить категорию компонента, который имеет два соседних, и представить, что пять из них являются связанными в сцепление. Локальная модель одного компонента зависит от соседних с ним, но ничего более. Так что группа C3 включают в себя C2 и C4, см. Фиг.9. Чтобы проиллюстрировать, как глобальная модель изделия состоит из перекрывающихся групп, см. полное изображение на Фиг.10 для модели изделия, имеющей пять компонентов. Следует заметить, что только C1 и C5 имеют одного соседнего в данном варианте, так что в их группах присутствуют только два компонента.

Очень часто группирование будет значительно более сложным, включая в себя различные категории компонентов, которые вовсе не являются связанными моделями. В качестве простого расширения предыдущего примера можно рассмотреть, что вышеуказанные компоненты имеют два подкомпонента, имеющих один подкомпонент каждый. Модель родительского компонента зависит от всех его подкомпонентов, но ни один из них не зависит от какого-либо в группах из C2 и C4 (см. Фиг.11).

Мгновенная модель изделия согласуется с динамической моделью изделия и включает в себя набор МИ-фрагментов, скомпонованных вместе. Другими словами, мгновенная МИ является совокупностью ее МИ-фрагментов в уникальной комбинации зависящих друг от друга (между собой).

Заметьте, что мгновенная МИ обычно включает многие МИ-фрагменты одинаковой категории, в которой МИ-фрагменты такой же категории определяют в качестве МИ-фрагментов с одинаковым набором параметров, но в которых параметры могут иметь различные значения.

Слиянием модели является то, что происходит, когда мгновенную МИ изменяют динамически, добавляя новый МИ-фрагмент к данной мгновенной МИ, или при соединении двух или более компонентов. В первом случае имеющуюся мгновенную МИ расширяют новым фрагментом. В другом случае выполняют слияние мгновенных МИ для каждого из компонентов. Однако на практике на локальном уровне способы являются такими же, так что формулировка унифицирована.

Слияние модели может быть сделано двумя способами. Одним путем является (слияние) - в пределах группы, соединяющей МИ-фрагменты; однако компонуют только одну полную локальную МИ, то есть новый МИ-фрагмент, в группе. Другим путем является (слияние) - между группами, которое является истинным (фактическим) связыванием моделей, наблюдаемым с точки зрения настройки в целом.

Хороший способ смотреть на мгновенную МИ как на (неограниченное) количество перекрывающихся классических моделей изделия, каждая из которых может быть полуавтономно настраиваема, кроме тех случаев, когда они воздействуют на свои перекрытия посредством слияния моделей.

Одиночный компонент может рассматриваться экземпляром категории компонента. После создания компонента создана новая копия всех параметров. После добавления компонента к сцене все эти параметры являются добавленными к совокупному пространству мгновенных параметров для мгновенной МИ и применяют те ограничения, которые затрагивают только этот компонент.

Когда два компонента связаны, каждый играет конкретную роль по отношению к другому. Эти роли являются заранее определенными (вместе с поведением и тому подобным) в категории компонента, и поведение является частью модели изделия.

Поведение можно рассматривать состоящим из двух частей. Первая часть является описанием того, какие роли доступны и какие категории компонентов могут их играть. Компонентная переменная представляет каждую роль, доступную компоненту. Затем есть область, а также дополнительные ограничения, назначенные этой переменной. Вторая часть является описанием того, как две локальных МИ, ассоциированные с этими компонентами, воздействуют друг на друга. Они воздействуют друг на друга посредством наложения ограничений на каждую переменную состояния друг друга, то есть они не воздействуют на те переменные, которые являются фактически доступными в компонентах, тогда как они воздействуют на то, какие значения являются допустимыми в таких переменных.

В данном контексте мгновенная МИ содержит:

пространство параметров, которое является Декартовым произведением в областях определения, ассоциированных с отдельными параметрами (переменными состояния).

допустимый поднабор пространства параметров, который определяет связи между значениями параметров.

В равной степени действительный способ рассматривать это состоит в том, что мгновенная МИ содержит связи между значениями данных параметров, определяя поднабор того пространства параметров, которое называют допустимым. Такие связи также называют ограничениями.

Мгновенная МИ может изменяться динамически следующим образом. Изменяться могут:

- Параметры, которые включены в пространство параметров. Обратите внимание, что область (определения) для данного параметра может не изменяться.

- Поднабор пространства параметров, который называют допустимым. Следует обратить внимание, что по определению поднабор принадлежит супернабору, так что изменение пространства параметров априорно делает (воспроизводит) поднабор недействительным. Однако, если определяющие расширения супернабора являются лишь добавлением к допустимому поднабору, и ограничениями являются очевидные ограничения поднабора, это является все еще строго определенным.

Мгновенная МИ (в конфигураторе) по существу изменяется при изменении компонента, при добавлении или удалении МИ-фрагмента (или компонента) и при повторном установлении связей между МИ-фрагментами в соответствующей иерархии компонентов. Она может изменяться пятью способами посредством

изменения компонента,

добавления нового компонента,

удаления компонента,

соединения двух компонентов

и разъединения двух компонентов,

как объяснено ниже. Операция изменения только компонента имеет локальное воздействие на параметры компонента. Операция добавления нового компонента расширяет пространство параметров посредством добавления параметров нового компонента, см. Фиг.12. Кроме того, данный поднабор может быть ограничен внутренне, но может не быть никаких связей между этими новыми параметрами и старыми. Процесс добавления компонента к мгновенной МИ показан на Фиг.13.

Операция удаления компонента просто удаляет параметр, ассоциированный с этим компонентом, из пространства параметров мгновенной МИ. Предварительный запрос состоит в том, что компонент, который будет удален, является не связанным, то есть ранее был отсоединен ото всех других компонентов.

Операция соединения двух компонентов может изменить допустимый поднабор. Непосредственно - посредством установления новых связей между параметрами, принадлежащими каждому из этих двух компонентов. Косвенно - она может дополнительно иметь воздействия на параметры уже установленных отношений. Конкретно, операция включают в себя установление связывания моделей между локальными МИ для этих двух рассматриваемых компонентов. Такое связывание моделей зависит от того, какие конкретные роли компоненты играют по отношению друг к другу, и описывают как часть МИ-фрагментов (категории компонентов), см. Фиг.14.

Один способ осуществить операцию соединения двух компонентов включают в себя заставить каждый из компонентов играть конкретную роль по отношению к другому и установить связывание моделей между этими двумя компонентами. Такое связывание моделей заключается в установлении сцепления или нескольких сцеплений между элементами, принадлежащими двум локальным МИ-фрагментам компонентов (см. Фиг.15). Эти сцепления связаны с конкретными ролями и являются частью МИ-фрагмента.

Очевидно, операция разъединения двух компонентов требует, чтобы эти два компонента были связанными. Такая операция изменяет допустимый поднабор посредством разъединения всех связей между параметрами, принадлежащими этим компонентам.

Компонентная МИ состоит из двух частей связанных МИ. Одна часть является статическим описанием МИ, называемым фрагментированной МИ, которая состоит из конечного числа МИ-фрагментов. Другая часть является мгновенной МИ, описанной выше, которую изменяют динамически в среде выполнения.

Является важным разделить эти две части, поскольку фрагментированную МИ используют для порождения структуры компоновочных блоков системы или изделия прежде, чем ее скомпонуют вместе, тогда как мгновенную МИ используют в процедуре построения, в которой каждый МИ-фрагмент фрагментированной МИ используют в формировании мгновенной МИ.

Очень важным результатом соединения двух компонентов и установления связывания моделей так, как описано, является то, что при этом сливают две МИ, и таким образом изменяют обе в процессе слияния модели. В принципе, рассматривая (с точки зрения) в качестве стандартного конфигуратора, это воспроизводит полную настройку, которая удовлетворяет мгновенной МИ перед слиянием, недействительной или даже не имеющей смысла. Однако посредством компонентной МИ, основанной на принципе сосредоточенного на компоненте представления состояния данной настройки, это обеспечивает, что количество переменных, их смысл и ассоциированные области (определения) являются неизмененными, гарантируя самое важное свойство, что результирующее состояние все еще представляет значимую (осмысленную) (технически действительную) настройку в новой, объединенной (слитой) компонентной МИ.

Это свойство, описанное выше, является очень важным свойством, но допустимость состояний при этом не гарантируется. Данное состояние является переходным состоянием, поскольку должны быть разрешены недопустимости, и в таком случае чистый откат не подходил бы, поскольку это соответствовало бы разрыву связи вновь. Это называют переходным разложением (разрешением), и существуют несколько возможностей. Следует обратить внимание, что даже при том, что в принципе все переменные, возможно, стали недопустимыми, посредством принципов локальности, естественно встроенных в сосредоточенное на компоненте представление (например, и геометрическая и структурная локальность), обычно задачи будут ограничены до соседства (окрестностей) включенных в нее компонентов, и очень часто только до очень немногих переменных, если таковые вообще есть.

Стратегия решения задачи переходного разложения на основе компонентной МИ состоит в том, чтобы найти приемлемое состояние, близлежащее (близкое) в пространстве параметров. Как измерять термин близость зависит от МИ и может фактически быть рассмотрено в качестве части компонентной МИ. Это могло, например, бы быть назначением приоритета всем переменным и изменением наименее важных в противовес первому, пока не будет достигнуто допустимое состояние. Возможны другие стратегии.

В принципе, компонентная переменная является лишь обычной переменной, которая может иметь ограничения обычным образом. Однако, поскольку установка такой переменной фактически вызывает слияние модели, подразумевающее, что правила изменяются в течение процедуры установки значения, когда необходима координация в МИ с обеих сторон прежде слияния и необходимо предотвращение слишком обширного переходного разложения, используют технику вставки блоков. Техника вставки блоков предварительно гарантирует некоторую совместимость между связанными МИ. Сменные (вставляемые) блоки, в основном, представляют точки соединения в компонентах, и посредством ассоциации с компонентными переменными они проверяют, имеют ли соединения смысл, прежде, чем модели МИ сливают. Дополнительное преимущество состоит в том, что это является естественным путем обеспечения геометрического и визуального представления с необходимыми данными позиционирования.

ПРИМЕР ВИЗУАЛЬНОГО КОНФИГУРАТОРА НА ОСНОВЕ КОМПОНЕНТА

Изобретение предоставляет способ определения настройки виртуального представления физических объектов в визуальном конфигураторе на основе компонентов, который основан на принципе, что изделие и, соответственно, модель изделия может быть неограниченно скомпонована (создана) из подизделий (или частей изделия). Компонентную модель изделия используют в качестве основополагающего механизма в визуальном конфигураторе на основе компонентов, кратко: в визуальном конфигураторе. Такой визуальный конфигуратор создают для такого типа изделий, которые обычно трудны для обработки с помощью стандартного конфигуратора, а с другой стороны обычно встречаются. Концептуально, он связывает вместе 5 нижеследующих ключевых элементов (признаков):

1) использование иерархии компонентов и

2) процессор состояний (конечный автомат), который является конкретным осуществлением представления состояния,

3) связывания с ним динамического, истинно визуального представления имеющейся настройки,

4) и удовлетворения как логических ограничений,

5) так и геометрических ограничений.

Основная архитектура визуального конфигуратора на основе компонентов показана на Фиг.16. Описание ниже сконцентрировано на выбранной полной структуре данных, которая установлена с точки зрения структур данных, описанных выше, вместе с конкретными вариантами осуществления в отношении процедуры синхронизации переменных состояния, осуществляемой процессором состояний, и обработки и ассоциации ограничений в связи с переменными состояния.

Множество компонентов основной структуры связано в структуру графа (не обязательно единственная связанная группа). Каждому компоненту назначен вектор состояния, содержащий одну переменную состояния для каждого из параметров компонентов. Это составляет полное представление (динамического) пространства параметров.

Визуализацию добавляют посредством назначения окружению некоторой среды (визуального окружения), назначая каждому компоненту визуальное представление, и позволяя каждой переменной состояния компонента иметь визуальное воздействие (эффект), изменяющее представление компонентов (включая его местоположение относительно окружения или других компонентов). Поскольку каждая переменная состояния имеет в точности одно значение во все моменты времени, полная визуализация всего изделия всегда в точности показывает имеющуюся настройку.

Правила, определяющие допустимую часть пространства параметров, моделируют посредством назначения ограничений на каждую переменную состояния. В данном осуществлении используют два конкретных типа таких ограничений. Первый является чисто геометрическим представлением окружения и изделия, которое позволяет использование ограничений, представляющих геометрические свойства изделия. Геометрические правила добавляют подобно визуализации посредством назначения окружению некоторого геометрического окружения, предоставляющего геометрическое представление каждому компоненту, и предоставляющего геометрическое ограничение каждой переменной состояния. Структуру компонента отражают тем фактом, что каждое соединение между компонентами охватывает относительное положение между ними.

Вторым типом является конфигуратор с обычной логикой, который образует чисто логическое представление изделия. С каждым локальным МИ-фрагментом ассоциируют (один) такой, который связан с некоторой категорией компонента, называемого логическим держателем группы, в зависимости от конкретной МИ, им в принципе может быть каждый компонент. В частности, переменные состояния связывают вместе, назначая им логические ограничения, ассоциированные с некоторым логическим описанием связей между переменными. В данном осуществлении каждому компоненту позволяют быть ассоциированным с таким, и каждой переменной состояния может быть назначено логическое ограничение, связывающее ее с некоторым из них (см. более подробное описание того, как это относится к понятиям локальной модели изделия, логической группы и держателя группы ниже в документе).

Прежде всего, полное приложение содержит основную часть, содержащую описанные в документе выше (и ниже) способы и структуры, вместе с трехмерным (3D) устройством отображения (любое устройство), графическим пользовательским интерфейсом, возможно внешним логическим конфигуратором, и представлением рассматриваемой МИ.

Основная структура приложения образована из некоторого количества контроллеров, в основном, общего (глобального) администратора для увязки всего вместе и управления инициализацией, администратора данных для управления статической фрагментированной МИ и ассоциированной информацией (данными), визуального контроллера для обработки 3D визуализации, который сопряжен с внешней системой визуализации, и контроллера геометрии, чтобы оперировать геометрическим окружением.

Общую структуру данных (кроме некоторых специализированных в каждом из вышеупомянутых) образуют вокруг множества компонентов. Существует окружение, которое по существу представляет среду, то есть сцену, в которой создают изделие. Она (сцена) содержит компоненты, которые могут быть непосредственно вставлены в него (окружение), но не иерархия компонентов непосредственно. Только некоторые компоненты первоначально непосредственно вставляют в окружение, тогда как подкомпоненты, например, могут быть связаны с другим компонентом, и таким образом только косвенно вставлены. Данная структура данных в общих чертах показана на Фиг.17.

Нижеследующие три примера описывают три части в соответствии с процессором состояний согласно Фиг.16.

ПРИМЕР ЧАСТИ ВИЗУАЛИЗАЦИИ

Чтобы поддерживать истинную визуализацию имеющейся (полной) настройки (состояния изделия), должны быть приняты к рассмотрению нижеследующие практические аспекты.

Прежде всего, визуальную сцену ассоциируют посредством визуального контроллера с представленным объектом окружения, например с некоторым графом 3D-сцены. Это также содержит среды изделий, которые к тому же могут иметь свои собственные параметры, и фактически может настраиваться отдельно. Данное различие сделано, поскольку оно обычно будет влиять только на изделие или на МИ (правила), вместо того, чтобы фактически являться частью изделия. Иногда оно может даже быть изменено только визуально, чтобы показать фактическую настройку в правильной или корректной среде.

Во-вторых, каждому компоненту может быть назначено визуальное представление. Не являющиеся визуальными компоненты называют ложными компонентами или абстрактными компонентами, и они обычно имеют некоторую собирающую роль.

В-третьих, каждая переменная состояния может иметь визуальный эффект, который воздействует на определенный аспект этого представления. Это может фактически быть лишь заменой полного представления другим в зависимости от гибкости системы визуализации.

Возможным типом систем визуализации является тот, в котором представление создают графом сцены или даже графом 3D-сцены. В такой системе визуальный эффект одной переменной компонента будет производить изменения в конкретном визуальном узле. Например, изменение поля цвета для узла материала может изменить цвет элемента, тогда как изменение узла формы может изменить его фактическую форму. Изменение поля преобразования или вращения для узла преобразования, указанного далее выше на графе, изменит местоположение элемента, то есть переместит компонент.

Данное иерархическое представление особенно хорошо подходит для применения при использовании преимуществ компонентного представления. Оно делает естественным и легким поддержание визуальных изменений локально, то есть внутри компонента или только между двумя связанными компонентами. Например, два компонента можно визуально связать вместе в соединение независимо от другого компонента и без того, чтобы воздействовать на связи с другими компонентами. Вновь, визуальная настройка (конфигурация) на основе компонента состоит в том, что последствия (и воздействия) могут быть выполнены локально. Другими словами, для компонентов, обладающих визуальным представлением и местоположениями соединений с другими компонентам.

ПРИМЕР ОГРАНИЧЕНИЙ В ГЕОМЕТРИЧЕСКОМ КОНФИГУРАТОРЕ

Важной частью визуального конфигуратора, описывающего физические объекты, является способность описывать геометрические и физические характеристики изделия и связывать эти характеристики с конфигуратором, то есть с переменными состояния.

Подобно визуализации, идея по существу состоит в том, чтобы поддержать геометрическое представление имеющейся (полной) настройки. Таким образом, возможно назначать ограничения переменной состояния, которая может запросить текущее геометрическое представление, и также изменять его, что обычно подразумевает воздействие (результат).

Вновь, каждому компоненту может быть назначено определенное (его форма) геометрическое представление, которое вставляют в геометрическое окружение, когда компонент добавляют к текущей настройке. Каждой переменной может быть назначено геометрическое ограничение, которое, например, могло бы предотвращать, чтобы компонент был перемещен на верхнюю часть другого, то есть предотвращать столкновения, или, возможно, гарантировать, что ничто не входит в конкретную зону, ассоциированную с компонентом. Примером зоны является безопасная зона или рабочая зона. Зона могла бы также иметь только некоторые интервалы, которые могут быть заняты или не заняты, и таким образом предотвращать или позволять компонентам, нуждающимся в конкретном наборе выемок, быть вставляемыми или связываемыми.

Понятие геометрических ограничений особенно важно для конфигуратора, в котором через геометрическое окружение может быть задан смысл понятиям, подобным расстоянию между компонентами, которые могут быть фактически измерены и использовать(ся) по другим правилам, например логическим. Это не является данными, обычно доступными классическому конфигуратору, который делает некоторые типы правил трудными для формулирования. Это также представляет естественное понятие локального влияния (локальность или близость) полностью отдельно от структурного (структуры компонента и иерархии компонентов), что, например, позволяет очень простой способ уведомления или опознавания того, что подизделия были добавлены и/или созданы, для согласования вновь. Данный способ формулирования геометрических правил является ключевым средством компонентной МИ.

Следует заметить, что все геометрические ограничения ассоциированы с одним и тем же геометрическим окружением, означая, что их соответствующие переменные состояния влияют друг на друга полностью независимо от того, могут ли они получить доступ к тому же вектору состояния, то есть в локально по отношению к структуре компонента. Вместо этого, являясь геометрическим по сути, ограничение на компонент находится только под влиянием других, которые физически близки компоненту. Следовательно, присутствует отличающееся понятие геометрического местоположения, которое прекрасно дополняет структурное.

ПРИМЕР ЛОГИЧЕСКИХ ОГРАНИЧЕНИЙ В КОМПОНЕНТНОМ КОНФИГУРАТОРЕ

Спектр задач решен объединением логической настройки (конфигураций) вместе с понятиями компонентной настройки, и таким образом использует возможности логического конфигуратора в компонентной среде. Другими словами, данная среда расширяет логический конфигуратор и наоборот, при правильном (правомерном) использовании.

По существу, структура данных расширена посредством предоставления возможности ассоциировать логический конфигуратор (логическую базу данных) с каждым компонентом (фактически вектором состояний), содержать логические правила и назначать логические ограничения этой базы данных переменным состояния в компоненте. Это дает возможность данным переменным стать взаимозависимыми сложным образом (зависящим от сложности, допускаемой в логической базе данных).

Посредством использования механизма связывания переменным состояния в связанных компонентах также может быть назначено логическое ограничение из одной и той же логической базы данных, и таким образом охватить их в соответствующей локальной модели изделия. В такой ситуации множество переменных, которым были назначены логические ограничения из этой базы данных, называют логической группой компонента с ассоциированной логической базой данных. Тогда такой компонент называют держателем логической группы (см. Фиг.18). Следует обратить внимание, что данная структура позволяет конфигуратору использовать мощность произвольного логического конфигуратора. В компонентном конфигураторе локальные модели изделия описывают заранее определенное количество параметров, тогда как полная, мгновенная модель изделия может содержать произвольное количество локальных моделей изделия и таким образом произвольное количество параметров.

ПРИМЕР ВИЗУАЛЬНОГО КОНФИГУРАТОРА ДЛЯ СИСТЕМЫ СТРОИТЕЛЬНЫХ ЛЕСОВ

Назначение данного примера состоит в том, чтобы иллюстрировать процедуру настройки, используя способы настоящего изобретения. Структура компонента и структура данных для входных данных, используемые в конфигураторе, выделены особо и то, как компонентное представление модели (МИ) изделия «улавливает» суть расширения так называемого компонуемого изделия.

Примером является система строительных лесов. Рассмотрены два аспекта, а именно процедура моделирования, в которой имеются структура, параметры и правила системы, и процедура настройки, в которой осуществляют настройку для конкретных строительных лесов с использованием и учетом ограничений системы строительных лесов.

Конфигуратор для строительных лесов мог быть, например, предложен изготовителем системы строительных лесов, в качестве услуги для строителей лесов, которые могут использовать систему для определения конфигурации именно строительных лесов, в которых они нуждаются, для конкретной задачи, наряду с тем гарантируя, чтобы изготовитель смог фактически поставить такую (настроенную) систему. Используя систему визуализации, ассоциированную с конфигуратором, то есть визуальный конфигуратор, для строителя лесов будет очень легко выполнить компоновку корректно.

Изделие состоит из целостной системы для создания строительных лесов. Оно содержит несколько подэлементов строительных лесов, таких как блоки междуэтажных перекрытий, ограждения, лестницы и т.д. Они обозначены компонентами в модели изделия и (физическими) объектами в контексте подизделия. Следует напомнить, что модель изделия может также содержать абстрактные компоненты и что они не обязательно соответствуют взаимно-однозначно физическим объектам.

Более подробно, система строительных лесов умозрительно является системой для установки рабочей платформы вдоль стороны некоторого здания. По существу, она состоит из некоторого количества платформ перекрытий, установленных на рамную конструкцию из стальных труб. Чтобы облегчить перемещение вверх и вниз, некоторые перекрытия могут иметь отверстия с установленными лестницами. Для защиты рабочих от падения на рамной конструкции также могут быть установлены ограждения из стальных труб. В заключение, (и в данном варианте не смоделировано) рамная конструкция может быть прикреплена к стене здания для ее фиксирования.

Строительные леса являются по существу компонуемыми из набора модулей перекрытий, содержащих и платформу, и необходимую раму. Есть два типа платформ, (одна) стандартная и (одна) с отверстием и установленной лестницей. Платформа - прямоугольная с короткой стороной и широкой стороной, и строительные леса могут быть пристроены из блоков перекрытий посредством присоединения других блоков перекрытий либо к стороне (требуются равные длины), либо на верхней части, либо ниже.

Обычно одна из двух широких сторон блока имеет стенное крепление и называется внутренней стороной. Ниже блока должна быть либо земля, либо другой блок. Расстояние от одного блока перекрытия до следующего над ним может быть низким, средним или высоким (и возможно лестница от отверстия должна соблюсти эту высоту). Данные строительные леса (одна конфигурация) разделены на этажи, так что платформы рядом друг с другом имеют одинаковую высоту.

Есть два типа ограждений, короткое и широкое, соответствующие сторонам блока перекрытий. Чтобы позволять добавить ограждения на самый верхний этаж, можно добавить верхний блок, по существу состоящий из несколько более длинных труб.

Конкретная система строительных лесов имеет МИ, содержащую следующие компоненты: платформа, ограждения стандартные, ограждения полные, верхняя часть и лестница, имеющие связи, как описано выше в документе. Ниже в документе описаны параметры для каждого типа компонентов и их формулировки в качестве переменных в соответствии с компонентной МИ. Кроме того, сформулировано связывание (моделей), включаемое между различными соединениями. В-третьих, в общих чертах описаны соответствующие ограничения, определенные в качестве ассоциированных с базой данных правил (в документе названной rules.logicdb), и в общих чертах описан тип включенного (в нее) правила.

Есть два типа блоков междуэтажных перекрытий, один стандартный и один с отверстием и установленной лестницей. Они соответствуют определенному («платформа») компоненту в МИ, который может либо иметь, либо не иметь отверстие на любой стороне этажа. Заметим, что, если имеет значение ориентация, то он может иметь отверстие только на одном конце. С другой стороны, не может быть двух отверстий. Компонент «платформа» является ключевым компонентом в данной модели изделия, которая соединяет в целое правила и параметры системы строительных лесов.

ТАБЛИЦА 6: Домены переменных

Для описания модели изделия использованы нижеследующие правила:

Правило 1. В точках соединения два модуля должны иметь одинаковую длину, то есть если C1 имеет C2 в качестве left_neighbor (левого соседнего), то C2 должен иметь C1 либо в качестве right_neighbor (правого соседнего), либо в качестве left_neighbor, и кроме того, он должен быть правым, поскольку иначе внутренние стороны не будут соответствовать.

Правило 2. Не может быть никакого внутреннего соседнего, если есть стена.

Правило 3. Если этаж не первый, то должен быть еще один этаж ниже.

Правило 4. Может только быть лестница, если есть отверстие.

Правило 5. Если этаж не первый, то должны быть ограждения на стороне полов, если нет соседнего (или стены, если внутри).

Правило 6. Как следствие правила 5 должно быть нечто на верхней части каждого компонента этажа (чтобы напомнить, что трубы спускаются вниз от платформы).

Правило 7. Подобно правилу 1, переменная длина для ограждения должна соответствовать длине стороны этажа.

Правило 8. Длина лестницы должна соответствовать высоте блоков.

Правило 9. Высота всех соседних этажей (не выше и ниже) должна быть одинаковой.

Правило 10. Нет столкновений объектов или столкновений со средой, например с частью здания.

Правило 11. Геометрия лестницы и ограждения должна соответствовать длине (и только если нет столкновения).

Правило 1 является по существу структурным ограничением для координирования того, какие роли играют каждые два компонента в соединении. Это осуществляют, используя сменные (вставные) блоки, делающие ограничение неявным.

<var id=neighbor_left plugid=neighbor_left..
<plug id=neigbhor_left type=floor_short..

ТАБЛИЦА 7: Соединение блоков с использованием ограничений сменного блока

Правило 2, правило 3 и правило 4 представляют стандартное логического типа ограничение, связывающее вместе переменные внутри компонента. Каждая из переменных ассоциирована с ограничением, таким образом связывая ее со структурой данных логики (правил) (rules.logicdb), которая может быть сформулирована отдельно.

ТАБЛИЦА 8: Ограничения логического типа, ассоциированные с базой данных правил, именуемые rules.logicdb

В отдельной структуре данных rules.logicdb правила формулируют логически:

ТАБЛИЦА 9: Логические правила, в которых «->» означает «влечет»

Правило 5 и правило 6 подобны правилу 2, правилу 3 и правилу 4, за исключением того, что очень непрактично осуществлять эти правила в течение процедуры компоновки (создания). Например, пустая сторона является необходимым предварительным состоянием, чтобы добавить другой блок междуэтажного перекрытия. Данный тип правил называется полным правилом или завершенным правилом, и осуществляется только системой, если явно запрошено завершение. При осуществлении конфигуратор производит завершение и корректные строительные леса.

ТАБЛИЦА 10: Логические правила, в которых «!» означает «не»

Правило 7 и правило 8 являются также стандартными ограничениями логического типа, за исключением того, что они включают переменные в различные связанные компоненты. Поскольку логические ограничения поддерживают одним компонентом, то необходимо распространить ограничения из блока этажа на переменные, соответственно, «ограждение» и «лестница» посредством средства сцепления.

ТАБЛИЦА 11: Отношение между сцеплением, логикой и компонентами

Правило 9 является ограничениями такого же типа между связанными компонентами. Оно может быть обработано непосредственно механизмом сцепления.

ТАБЛИЦА 12: Механизм сцепления

Правило 10 и правило 11 являются обычными ограничениями типа «столкновение». Правило 10 неявно сформулировано для всех компонентных переменных посредством назначения геометрии компонентам. Например,

ТАБЛИЦА 13: Геометрия столкновения для компонента

Правило 11 вовлекает сообщение структуры геометрических данных, что геометрия компонента изменяется (и проверяет, является ли это допустимым). Это является обычным геометрическим ограничением.

ТАБЛИЦА 14: Геометрическое ограничение на компонент

Ниже дан пример того, как осуществлять настройку строительных лесов в компонентной системе настройки, используя компонентную модель изделия, определенную выше. Внимание сконцентрировано двояко: во-первых, чтобы показать процедуру и то, как пользователь может использовать преимущества от такого способа создания настройки изделия. Во-вторых, чтобы дать представление, что фактически происходит внутри конфигуратора в течение процедуры настройки.

Целевой настройкой являются строительные леса в два настланных уровня, например, чтобы достичь конкретного окна, требующего некоторого внешнего обновления, имеющие лестницы на одной стороне, обеспечивающие строительные леса 2x2 с дополнительными блоками верхней части на обоих. Пользователь предпринимает следующие этапы, и соответствующая визуализация для каждого этапа проиллюстрирована на Фиг.19:

Этап 1: Единственным компонентом, доступным для непосредственной вставки в окружение, является платформа, так что пользователь выбирает и вставляет платформу. По умолчанию она поступает средней высоты. Она автоматически именована platform 1 (платформа 1).

Этап 2: Пользователь выбирает сторону left_side для platform1, осуществляя доступ к этим двум переменным neighbor_left и rail_left. Можно добавлять или платформу, или ограждения. Пользователь добавляет платформу, которая именована platform2.

Этап 3: Пользователь выбирает platform2 и устанавливает переменную «отверстие», равным значению «истина». Система настройки автоматически добавит лестницу (вниз) в отверстии (ladder1) и установит его длину «средняя».

Этап 4: Теперь выбирают верхнюю часть для platform2. Можно добавлять или платформу, или блок верхней части. Пользователь добавляет платформу (именованную platform3).

Этап 5: Пользователь устанавливает переменную «отверстие» в «истина» для platform3, автоматически добавляя Ladder2.

Этап 6: Выбор верхней части и добавление верхней части (top1).

Этап 7: Заметив, что верхний этаж не является достаточно высоким, чтобы достичь окна, пользователь выбирает platform3 и устанавливает переменную «высота» на «высокая». Длина для Ladder2 также автоматически установлена на значение «высокая».

Этап 8: Выбор верхней части для platform1, и пользователь может добавлять другую платформу (platform4). Это помечено геометрическим окружением, и система автоматически устанавливает platform4 в качестве neighbor_right (соседний справа) для platform3. Она (система) впоследствии устанавливает переменную «высота» на значение «высокая».

Этап 9: Чтобы иметь оптимальную защиту рабочих, поднимающихся на лестницы, пользователь выбирает внешнюю сторону платформ и устанавливает outside_rail на значение «полная». Это приводит к значению переменной «длина», равное значению «широкая».

Этап 10: В заключение, чтобы гарантировать ограждения для всех необходимых мест, пользователь осуществляет завершение. Система настройки добавляет одиночные ограждения платформам platform3 посредством переменной состояния rail_left, platform4 посредством rail_right и rail_outside и top1 посредством rail_left и rail_outside, добавляет верхнюю часть (top2) к platform4.above, добавляет одиночные ограждения к top2 rail_right и rail_outside. Обратите внимание, что по умолчанию внутренней частью и платформы, и верхней части является «вдоль стены», так что ничего не добавляют.

Что фактически происходит в конфигураторе в течение процедуры настройки, обсуждают в нижеследующем, концентрируясь на мгновенной МИ, состоянии, понятии группы, и механизма исполнения отката.

Следует напомнить, что мгновенной МИ является модель скомпонованной на данный момент времени настройки компонентов, представляющей все возможные изменения, которые можно выполнять в (данном) состоянии. Она содержит имеющуюся иерархию компонентов, описывающую, как компоненты скомпонованы, и она содержит имеющееся пространство состояний, описывающее компоновку всех переменных состояния и их возможных значений. На Фиг.21 показана полная иерархия компонентов после того, как этап 10 завершен. Кроме того, следует напомнить, что состояние уникально представляет имеющуюся настройку в том смысле, что оно представляет в точности одну точку в имеющемся пространстве состояний, и имеющаяся мгновенная МИ является воспроизводимой из состояния вместе с (данными) статической фрагментированной МИ.

Состоянием является именно совокупность значений для всех переменных состояния, в которой некоторые переменные (компонентные переменные) играют двойную роль, поскольку их значение связано с другим компонентом и определяет связь с другим компонентом, и их скомпонованные состояния определяют иерархию компонентов. Их значение в этом отношении не является значением состояния, но фактическим компонентом. Его называют значением их связи. На Фиг.22 показаны в общих чертах пространство состояний после того, как этап 9 завершен, и состояние в это же время (см. также Фиг.12). Заметим, что все переменные имеют значение по умолчанию, так что они не могут не иметь значения. Переменные, которые не имеют указанного значения по умолчанию, автоматически выберут некоторое в качестве значения по умолчанию, в частности компонентные переменные в качестве значения по умолчанию имеют значение none (нет).

Следует напомнить, что (логическая-) группа является той частью мгновенной МИ, которая непосредственно ограничена некоторой логической структурой. В данном примере только platforms имеет присоединенную логическую структуру (правила), поэтому после того, как все этапы были завершены, присутствуют четыре (логических) группы; одна для каждой платформы. См. Фиг.20 для иллюстрации группы для platform4 после того, как этап 10 был завершен. На этом чертеже проиллюстрированы переменные, ограниченные логической структурой, присоединенной к platform4 (platform4 является держателем группы). Заметьте, что она включает в себя некоторые переменные из другого компонента, которые таким образом являются связанными в группу platform4. На Фиг.20 они показаны в отдельных прямоугольниках с линиями, идущими в переменную связи, через которую они связаны. Заметьте также, что переменная neighbor_left.height - из платформ platform3, которая имеет свою собственную группу. Это является примером перекрытия группы, в котором данная информация необходима обоим пространствам.

Затем рассмотрена процедура установки значения переменной. На этапе 3 переменная «отверстие» в platform2 установлена в «истина». Обычно, при этом выполняют подобные этапы:

1) Пользовательский интерфейс осуществляет доступ к platform2 и из него получает (значение) отверстие.

2) Он запрашивает перечень допустимых значений, которыми в данном случае являются (истина, ложь).

3) Пользователь активизирует процедуру установки значения для отверстия со значением истина.

4) Во-первых, допустимость проверяют и верифицируют.

5) Во-вторых, значение обрабатывают. Данный этап включает в себя обновление визуального окружения, чтобы продемонстрировать отверстие, и сообщает логической структуре данных новое значение.

6) В-третьих, значение распространяют. В данном примере при этом используют обнаружение возможных последствий в логической структуре данных.

7) Обнаруживают простое противоречие, а именно с еще одной переменной «лестница», текущее значение которой («нет»), не находится среди допустимых значений (лестница).

8) Процессор состояний входит в состояние разрешения.

9) Чтобы разрешить противоречие, процессор состояний активизирует обработку установки значения для переменной «лестница» со значением «лестница».

10) Когда переменная «лестница» была успешно установлена, то больше противоречий нет, так что процессор состояний переходит в «готов».

11) Процедура установки значения завершена успешно и уведомляет пользователя (интерфейс) о новом значении.

Теперь рассматривается установка компонентной переменной, то есть создание новой связи. Выше на этапе 9 устанавливаемой переменной была компонентная переменная, так что ее установка имеет побочный эффект фактического создания нового компонента (ladder1), который добавлен к мгновенной МИ, и соединен с platform2. Обычно, это осуществляют следующим образом:

1) Устанавливают переменную «лестница» равной значению «лестница».

2) Проверяют, является ли это допустимым. Оно допустимо.

3) Обрабатывают значение. Это активизирует специальные эффекты для компонентных переменных.

4) Создают новый компонент типа «лестница». Он становится ladder1.

5) Инициализируют состояние ladder1. Это состоит из установки единственной переменной «длина», равным значению по умолчанию «средняя».

6) Связывают его с окружением (в зависимости от соответствующей установки визуального конфигуратора).

7) Связывают изменение размера сцепления с переменной «длина» посредством переменной-соединителя «лестница» в компоненте platform2.

8) Проверяют наличие противоречий в компоненте «лестница». В данном случае ни одно не найдено.

9) Осуществляют возврат из процедуры связывания и продолжают распространение значения переменной «лестница» в platform2, в котором осуществляют проверку наличия каких-либо противоречий. Также ни одно не найдено в данном случае,

так что процессор состояний может перейти в «готов» и осуществляют возврат.

В заключение рассмотрено разрешение противоречий. Заметьте, что на этапе 7 конфигуратор преднамеренно изменил высоту plaform2, произведя противоречие с длиной для ladder1, которое затем обнаруживают и разрешают. Подобная ситуация происходит на Этапе 3 и 5, которую осуществляют следующим образом:

1) Во-первых, процедура проверки допустимости найдет и сообщит, что значение является недопустимым. Пользователь должен явным образом его повторно определить (посредством перехвата аварийного состояния переменной и его отменой). В этом случае, пользовательский интерфейс делал бы это автоматически.

2) Во-вторых, процедура отката должна позволить продолжение. При этом начнется процедура разрешения в процедуре распространения значения.

3) Посредством распространения значения, противоречие в логической группе будет действительным. Будет найдено, что переменные «высота» и ladder.length находятся в противоречии, и найдены все возможные решения, и в заключение их сравнят. В нашем примере процессор состояний выбирает изменение ladder.length по высоте, поскольку ограничение высоты только что было отвергнуто пользователем. Это также может быть сделано посредством установки приоритета высоты явным образом более высоким, чем ladder.length. В других случаях могут быть запрошены пользователь или окружающее приложение.

1. Способ задания конфигурации в запоминающем устройстве вычислительной системы виртуального представления компоновки множества компонентов, способ, содержащий этапы, заключающиеся в том, что:

сохраняют в базе данных вычислительной системы первый набор данных, представляющих множество категорий компонентов и для каждой категории - параметры и ограничения, определяющие ограничения для настроек каждого из компонентов в каждой из категорий, благодаря чему все компоненты в категории имеют общие параметры и ограничения,

формируют второй набор данных, представляющий компоновку множества компонентов и представляющий пространство настроек упомянутого множества компонентов, причем второй набор данных содержит отдельную структуру данных, которая определяет действительные комбинации компонентов, причем отдельную структуру данных включают во второй набор данных таким образом, что каждая отдельная структура данных является ассоциированной с конкретным компонентом, благодаря чему ограничения для конкретного компонента отражают действительные комбинации компонентов,

сохраняют второй набор данных в запоминающем устройстве вычислительной системы, причем этап формирования выполняют с учетом ограничений, ассоциированных с каждым компонентом, и ограничений для компоновки,

формируют третий набор данных, представляющих данную настройку в пространстве настроек, причем этап формирования третьего набора данных содержит предложение множества компонентов или категорий компонентов,

повторяют этап формирования посредством того, что:

предлагают только такие компоненты, которые при добавлении к компоновке имеют результатом действительную комбинацию компонентов, причем предлагаемые компоненты получают из отдельной структуры данных второго набора данных,

ко второму и третьему набору данных добавляют данные, которые представляют один из предлагаемых компонентов и которые получают из первого набора данных, или

удаляют данные, представляющие компонент второго и третьего набора данных, или

изменяют данные, представляющие предварительно добавленный компонент второго и третьего набора данных,

с учетом ограничений, ассоциированных с каждым компонентом, и ограничений для компоновки с тем, чтобы достичь обновленной версии второго набора данных и обновленной версии третьего набора данных.

2. Способ по п.1, отличающийся тем, что данные, представляющие компоненты, дополнительно содержат данные, представляющие параметры компонентов, причем способ дополнительно на этапе формирования третьего набора данных содержит предложение множества параметров компонентов, благодаря чему предлагают только выбранные параметры, причем выбранные параметры выбирают в соответствии с ограничениями для компонентов таким образом, что достижимы только возможные и/или допустимые комбинации компонентов и параметров.

3. Способ по п.1, отличающийся тем, что на этапе предложения компонентов и/или значений параметра предлагают только те компоненты и/или значения параметра, которые учитывают ограничения, ассоциированные с каждым компонентом, и ограничения для компоновки.

4. Способ по п.1, отличающийся тем, что дополнительно содержит визуализацию на устройстве отображения или принтере, соединенном с вычислительной системой, графического или физического представления по меньшей мере части пространства настроек, представленного посредством второго набора данных.

5. Способ по п.1, отличающийся тем, что дополнительно содержит визуализацию на устройстве отображения или принтере, соединенном с вычислительной системой, графического или физического представления по меньшей мере части настройки, представленной третьим набором данных.

6. Способ по п.1, отличающийся тем, что вычислительная система соединена с системой связи, причем способ дополнительно заключающийся в том, что:

посылают второй и/или третий набор данных через сеть связи на последующую вычислительную систему, и

визуализируют на мониторе последующей вычислительной системы или на любом другом устройстве отображения графический образ пространства настроек, представленного вторым набором данных, и/или графический образ настройки, представленной третьим набором данных.

7. Способ по п.1, отличающийся тем, что второй набор данных содержит данные, представляющие связи между связанными компонентами, и тип связей между компонентами, благодаря чему второй набор данных также представляет соединения между компонентами.

8. Способ по п.1, отличающийся тем, что этап добавления содержит стадию соединения компонентов в компоновку и/или стадию добавления компонента в компоновку.

9. Способ по п.1, отличающийся тем, что этап удаления содержит стадию разъединения двух компонентов в компоновке и/или стадию удаления компонента из компоновки.

10. Способ по п.1, отличающийся тем, что этап изменения содержит по меньшей мере одно из:

изменяют данные, представляющие по меньшей мере один компонент компоновки,

соединяют два компонента компоновки, и

разъединяют два компонента компоновки.

11. Способ по п.1, отличающийся тем, что этап формирования содержит стадию создания набора групп, причем каждая группа содержит данные, представляющие отдельный компонент, а также необязательно по меньшей мере один дополнительный компонент, который является соединенным с отдельным компонентом, благодаря чему набор групп содержит данные, представляющие все компоненты, содержащиеся в виртуальном представлении.

12. Способ по п.11, отличающийся тем, что отдельная структура данных, ассоциированная с отдельным компонентом, определяет возможные или разрешенные комбинации компонентов группы и/или значений параметров компонентов группы.

13. Способ по п.11, отличающийся тем, что отдельная структура данных составляет базу данных настроек, в которой хранятся данные, представляющие возможные или разрешенные комбинации компонентов и/или значений параметров.

14. Способ по п.11, отличающийся тем, что отдельная структура данных делает возможным вычисление, по которому вычисляют данные, представляющие возможные или разрешенные комбинации компонентов и/или значения параметра.

15. Способ по п.11, отличающийся тем, что этап формирования второго набора данных содержит:

выполняют для каждой группы проверку, являются ли данные, представляющие компонент этой группы, совместимыми с ограничениями, определенными взаимно связанными компонентами в этой группе, и если проверка выявляет несовместимость,

изменяют второй набор данных и/или данные, представляющие рассматриваемый компонент, с учетом ограничений, предоставленными всеми взаимно связанными компонентами.

16. Способ по п.1, отличающийся тем, что вторые данные содержат данные, представляющие геометрическую конфигурацию по меньшей мере для части компоновки, благодаря чему ограничения компонентов для упомянутой части компоновки задают ограничения геометрического характера на параметры компонентов.

17. Способ по п.1, отличающийся тем, что третий набор данных представляет состояние данной настройки, причем способ содержит на этапе повторения стадию автоматического обновления второго набора данных в ответ на изменения в третьем наборе данных.

18. Способ по п.17, отличающийся тем, что данная настройка является воспроизводимой из первого и третьего набора данных.

19. Вычислительная система, предназначенная для задания в запоминающем устройстве вычислительной системы конфигурации виртуального представления компоновки множества компонентов, причем вычислительная система содержит:

базу данных, в которой хранится первый набор данных, представляющих множество категорий компонентов и для каждой категории - параметры и ограничения, определяющие ограничения для настройки каждого из компонентов в каждой из категорий, благодаря чему все компоненты в категории имеют общие параметры и ограничения,

процессор, который запрограммирован для формирования второго набора данных, представляющих компоновку множества компонентов и представляющих пространство настроек упомянутого множества компонентов, и для сохранения второго набора данных в запоминающем устройстве вычислительной системы, причем второй набор данных содержит отдельную структуру данных, которая задает достоверные комбинации компонентов, причем отдельную структуру данных включают во второй набор данных таким образом, что каждая отдельная структура данных является ассоциированной с конкретным компонентом, благодаря чему ограничения для конкретного компонента отражают достоверные комбинации компонентов,

процессор, запрограммированный для формирования второго набора данных с учетом ограничений, ассоциированных с каждым компонентом, и ограничений для компоновки, при этом процессор дополнительно запрограммирован для формирования третьего набора данных, представляющих в пространстве настроек текущую конфигурацию,

процессор, дополнительно программируемый, чтобы повторять формирование второго набора данных посредством того, что:

предлагают только такие компоненты, которые при добавлении к компоновке имеют результатом достоверную комбинацию компонентов, причем предлагаемые компоненты получают из отдельной структуры данных второго набора данных,

ко второму и третьему набору данных добавляют данные, которые представляют один из предлагаемых компонентов и которые получают из первого набора данных, или

удаляют данные, представляющие компонент второго и третьего набора данных, или

изменяют данные, представляющие предварительно добавленный компонент второго и третьего набора данных,

с учетом ограничений, ассоциированных с каждым компонентом, и ограничений для компоновки с тем, чтобы достичь обновленной версии второго набора данных и обновленной версии третьего набора данных.

20. Вычислительная система по п.19, отличающаяся тем, что данные, представляющие компоненты, дополнительно содержат данные, представляющие параметры компонентов, процессор, дополнительно программируемый для того, чтобы при формировании третьего набора данных осуществлять предложение множества параметров компонентов, благодаря чему предлагают только выбранные параметры, причем выбранные параметры выбирают в соответствии с ограничениями для компонентов таким образом, что достижимы только возможные и/или допустимые комбинации компонентов и параметров.

21. Вычислительная система по п.19, отличающаяся тем, что процессор дополнительно запрограммирован для того, чтобы предлагать только компоненты и/или значения параметра, которые учитывают ограничения, ассоциированные с каждым компонентом, и ограничения для компоновки.

22. Вычислительная система по п.19, отличающаяся тем, что вычислительная система соединена с устройством отображения или принтером для визуализации графического или физического представления по меньшей мере части пространства настроек, представленного вторым набором данных.

23. Вычислительная система по п.19, отличающаяся тем, что вычислительная система соединена с устройством отображения или принтером для визуализации графического или физического представления по меньшей мере части настройки, представленной третьим набором данных.

24. Вычислительная система по п.19, отличающаяся тем, что вычислительная система, соединяемая с системой связи, дополнительно содержит: интерфейс связи для посылки второго и/или третьего набора данных через сеть связи к другой вычислительной системе, соединенной с устройством отображения для визуализации графического образа пространства настроек, представленного вторым набором данных, и/или графического образа настройки, представленной третьим набором данных.

25. Вычислительная система по п.19, отличающаяся тем, что процессор дополнительно запрограммирован для того, чтобы при добавлении данных к второму и третьему набору данных осуществлять соединение компонентов в компоновке и/или добавление компонента к компоновке.

26. Вычислительная система по п.19, отличающаяся тем, что процессор дополнительно запрограммирован для того, чтобы при удалении данных из второго и третьего набора данных осуществлять разъединение двух компонентов в компоновке и/или удаление компонента из компоновки.

27. Вычислительная система по п.19, отличающаяся тем, что процессор дополнительно запрограммирован для того, чтобы при изменении второго и третьего набора данных выполнять по меньшей мере одно из:

изменять данные, представляющие по меньшей мере один компонент компоновки,

соединять два компонента компоновки, и

разъединять два компонента компоновки.

28. Вычислительная система по п.19, отличающаяся тем, что процессор запрограммирован для создания в запоминающем устройстве вычислительной системы набора групп, причем каждая группа содержит данные, представляющие отдельный компонент, а также необязательно по меньшей мере один дополнительный компонент, который является соединенным с отдельным компонентом, благодаря чему набор групп содержит данные, представляющие все компоненты, содержащиеся в виртуальном представлении.

29. Вычислительная система по п.28, отличающаяся тем, что процессор запрограммирован для того, чтобы на этапе формирования второго набора данных:

выполнять для каждой группы проверку, являются ли данные, представляющие компонент этой группы, совместимыми с ограничениями, заданными взаимно связанными компонентами в этой группе, и если проверка выявляет несовместимость:

изменять второй набор данных и/или данные, представляющие рассматриваемый компонент, с учетом ограничений, предоставленными всеми взаимно связанными компонентами.

30. Вычислительная система по п.19, отличающаяся тем, что третий набор данных представляет состояние данной конфигурации, процессор дополнительно запрограммирован для того, чтобы на этапе повторения осуществлять автоматическое обновление второго набора данных в ответ на изменения в третьем наборе данных.

31. Компьютерный программный продукт, предназначенный для задания в запоминающем устройстве вычислительной системы конфигурации виртуального представления компоновки множества компонентов, причем компьютерный программный продукт содержит средства для:

сохранения в базе данных вычислительной системы первого набора данных, представляющего набор категорий компонентов, и для каждой категории параметров и ограничений, задающих ограничения для настроек каждого из компонентов в каждой из категорий, благодаря чему все компоненты в категории имеют общие параметры и ограничения,

формирования второго набора данных, представляющего компоновку множества компонентов и представляющего пространство конфигурации упомянутого множества компонентов, причем второй набор данных содержит отдельную структуру данных, которая задает действительные комбинации компонентов или значений параметра, причем отдельная структура данных включена во второй набор данных таким образом, что каждая отдельная структура данных является ассоциированной с конкретным компонентом, благодаря чему ограничения для конкретного компонента отражают действительные комбинации компонентов и/или значений параметра,

сохранения второго набора данных в запоминающем устройстве вычислительной системы, этап формирования выполняют с учетом ограничений, ассоциированных с каждым компонентом, и ограничений для компоновки, и формирования третьего набора данных, представляющих в пространстве настроек данную конфигурацию, этап формирования содержит предложение множества компонентов или категорий компонентов,

повторения этапа формирования посредством того, что:

предлагают только такие компоненты, которые при добавлении к компоновке имеют результатом действительную комбинацию компонентов, причем предлагаемые компоненты получают из отдельной структуры данных второго набора данных,

ко второму и третьему набору данных добавляют данные, которые представляют один из предлагаемых компонентов и которые получают из первого набора данных, или

удаляют данные, представляющие компонент второго и третьего набора данных, или

изменяют данные, представляющие предварительно добавленный компонент второго и третьего набора данных, с учетом ограничений, ассоциированных с каждым компонентом, и ограничений для компоновки, с тем чтобы достичь обновленной версии второго набора данных и обновленной версии третьего набора данных.

32. Машиночитаемый носитель данных, загружаемый с помощью компьютерного программного продукта по п.31.

33. Машиночитаемый сигнал данных, воплощающий данные, сформированные посредством компьютерного программного продукта по п.31.

34. Вычислительная система, содержащая базу данных, запоминающее устройство или средство хранения, загружаемое с помощью компьютерного программного продукта по п.31.



 

Похожие патенты:

Изобретение относится к области вычислительной техники и предназначено для моделирования задач при проектировании вычислительных систем (ВС). .

Изобретение относится к системам проектирования. .

Изобретение относится к телекоммуникационным сетям связи, а именно к технологии проектирования, реконструкции и технического учета сооружений, оборудования и трасс телекоммуникационной сети связи.

Изобретение относится к вычислительной технике и может быть использовано для решения задач определения количества резервируемых элементов, обеспечивающих заданный уровень надежности системы при ограничении затрат на ее изготовление.

Изобретение относится к области цифровой вычислительной техники и может быть использовано для моделирования комбинаторных задач при проектировании вычислительных систем.

Изобретение относится к области цифровой вычислительной техники и может быть использовано для моделирования комбинаторных задач при проектировании вычислительных систем.

Изобретение относится к области информационных технологий и может быть использовано при проектировании сложных технических изделий. .

Изобретение относится к модулю генерации интегральных схем декодирования для использования, в частности, в турбоустройствах и для генерации схем сверточного кодирования.

Изобретение относится к области цифровой вычислительной техники, а конкретно к области моделирования комбинаторных задач при проектировании вычислительных систем.

Изобретение относится к области вычислительной техники, а конкретно к области моделирования задач при проектировании вычислительных систем. .

Изобретение относится к области систем хранения данных, в частности к области многопротокольных устройств хранения данных. .

Изобретение относится к области вычислительной техники и может быть использовано для построения множества защищенных виртуальных сетей. .

Изобретение относится к вычислительной технике. .

Изобретение относится к системам обработки данных. .

Изобретение относится к области процессоров и, в частности, к технике обеспечения структуры совместно используемой кэш-памяти. .
Изобретение относится к вычислительной технике, в частности к работе в сети Интернет. .

Изобретение относится к системам передачи информации, например, через сеть Интернет. .
Наверх