СПОСОБ И СИСТЕМА ДЛЯ РАСПРОСТРАНЕНИЯ ИЗМЕНЕНИЙ, ПРОИЗВЕДЕННЫХ В ОРИГИНАЛЕ, НА КОПИИ
METHOD AND SYSTEM FOR COVERING OF COPIES BY CHANGES MADE IN ORIGINAL

Настоящее изобретение относится к способу и системе для распространения изменений в конфигурации технического оборудования, такого как трансформаторы, генераторы, дробилки и другие автоматизированные машины и устройства, посредством переноса измененной конфигурации оригинала, содержащего конкретный аппарат или устройство, в неограниченное число дубликатов упомянутого оригинала.
Многие производственные предприятия имеют большие субблоки, которые очень похожи, но не идентичны друг другу. В качестве примера это могут быть несколько бойлеров на химическом предприятии. Эти бойлеры будут во многом подобны, но в некоторых аспектах будут разными. Один аспект, в котором субблоки будут подобны, относится к их структуре, то есть к числу, типам и расположению устройств, из которых состоит субблок. Аспект, в котором они всегда будут различаться, относится к наименованиям меток и сигналов.
Оптимальный рабочий процесс мог бы заключаться в окончательной отработке конфигурации первого субблока, ее тестировании и оптимизации, и последующем копировании и адаптации этой конфигурации для использования в остальных субблоках того же типа. Но это медленный процесс, поскольку работа со вторым субблоком может начаться только по завершении работы с первым.
Сегодня этот процесс состоит в том, что конфигурируется первый субблок и затем эта конфигурация копируется в остальные субблоки, тогда как оптимизация и тестирование конфигурации выполняются после копирования. Это приводит к сокращению общего времени выполнения процесса, но к более интенсивным инженерно-техническим усилиям, так как все блоки должны быть оптимизированы и испытаны отдельно.
Соответственно, на сегодняшний день имеется проблема в том, что те изменения, которые были сделаны применительно к первому субблоку на этапе тестирования и оптимизации, не могут быть просто и автоматически распространены на другие субблоки по следующим причинам:
в большинстве случаев отсутствует формальная связь между оригиналом и копией,
существуют различия между оригиналом и копией, которые должны быть сохранены,
могут существовать конфликты между изменениями, произведенными в оригинале и копии, и, наконец,
полностью автоматизированный процесс нежелателен для инженеров, которым необходимо сохранить контроль над разработанным решением.
Результатом является то, что все изменения, сделанные применительно к оригиналу, необходимо будет после копирования повторить применительно к дубликату.
Исходя из всех этих полученных сведений, представляется желательным иметь способ и/или систему, которые устранят любые излишние усилия, являющиеся необходимыми сегодня, и будут систематически обеспечивать стандартизацию конфигурации соответствующих субблоков на предприятии.
Вследствие этого задачей настоящего изобретения является обеспечение способа и/или системы, которые устранят излишние усилия, являющиеся необходимыми сегодня, и обеспечат систематическую стандартизацию конфигурации соответствующих блоков.
Согласно настоящему изобретению, вышеупомянутая проблема решается способом, который отличается тем, что любые изменения, которые были сделаны в оригинале, распространяются из оригинала на копии полуавтоматическим или полностью автоматическим образом, при этом возможные конфликты указываются автоматически посредством графического дисплея.
Соответственно, заявляемый способ отличается тем, что распространение изменений, сделанных в оригинале, содержит следующие три этапа:
согласование, при котором анализируется источник данных, чтобы идентифицировать оригинал и дубликат или дубликаты и тем самым установить логическую связь между объектами оригинала и дубликата;
сравнение, при котором разные типы изменений, например, структурные изменения, рассматриваются и проверяются на возможные конфликты;
синхронизация, при которой пользователем принимается решение, какие изменения утверждаются и применяются к дубликату, чтобы синхронизировать дубликат с оригиналом.
В общем случае окончательное решение должно приниматься инженером, использующим систему, но это решение подготавливается системой, при этом термины "оригинал" и "дубликат" относятся к обычно большому набору объектов данных, обычно организованных в одну или более иерархических структур, в которых каждый объект обычно имеет набор общих и специальных информационных элементов.
В таком случае общая информация содержит, например, идентификатор, такой как имя, обозначение типа объекта и время создания объекта; тогда как специальная информация зависит от типа объекта, например, для объекта, представляющего устройство определенного вида, специальная информация содержит, среди прочего, конфигурационные параметры, применимые к этому виду устройства.
Один предпочтительный вариант реализации заявленного способа отличается тем, что на этапе согласования соответствующий источник данных анализируется, чтобы идентифицировать, оригинал ли это или дубликат, при этом устанавливается логическая связь между объектами оригинала и дубликата.
Согласно более подробному варианту реализации этого способа предпочтительно используется трехходовое согласование, при котором оригинал сохранятся в оригинале сравнения непосредственно после копирования данных оригинала.
Изменения, произведенные в оригинале, дают в результате оригинал' набора данных, а изменения, произведенные в любой из копий, дают в результате копию' набора данных, при этом как оригинал', так и копия' будут сравниваться с исходной версией, оригиналом сравнения, для того чтобы идентифицировать, были ли изменения произведены применительно к оригиналу и/или копиям, причем в любой момент времени, когда изменения с оригинала распространяются на дубликат, текущее состояние оригинала, оригинал', запоминается как оригинал сравнения в качестве основы для последующей синхронизации.
Предпочтительно, согласно другому варианту реализации изобретения, так называемый оригинал сравнения запоминается как журнал операций, причем этот журнал операций выполняется с возможностью обнаружения и определения стороны, на которой было сделано изменение, даже если оно было удалено в дубликате. Этот журнал операций является также вариантом реализации заявленного способа, как и заявленной системы согласно изобретению.
Другой предпочтительный вариант реализации способа обеспечивает согласование, основанное на наборе приоритетных правил. Этот способ будет сначала применять правило с наивысшим приоритетом, и только объекты, не согласованные до сих пор, будут рассматриваться для согласования с применением правил с меньшим приоритетом. Примером правила согласования является тождество имен объектов. Другим примером является то, что имена не идентичны, но до определенной степени подобны. Кроме того, используются показатели, подобные типу объекта, числу дочерних элементов согласования, положению в древовидной схеме, значениям свойства, и т.п., и их подходящие сочетания.
Пользователь может выбрать, какие правила следует использовать для согласования и в каком порядке. Он также может конфигурировать определенные правила, когда те предлагают параметры.
Типичным примером является следующее правило: "согласование по подобному имени". Одним полезным параметром тогда может быть "пороговое значение", при котором объекты никогда не согласуются, если их имена различаются, например, более чем на 4 знака. Если инженер знает, что в этом проекте наименование не является хорошим путем к согласованию, он может отказаться от выбора этой опции и выбрать вместо этого другие алгоритмы.
Поэтому после этапа согласования потенциальные варианты согласования представляются инженеру как предпочтительному пользователю настоящего изобретения. Более того, можно приложить весовой коэффициент (например, "согласование на 92%") каждого согласования, чтобы указать качество согласования пользователю, который может пересмотреть эти согласования.
Пользователь может либо вручную согласовать пары объектов, которые не были согласованы системой, либо он может рассогласовать пары объектов, которые были неправильно согласованы. Этап согласования может конфигурироваться использующим его инженером.
Предпочтительный вариант реализации способа согласно заявленному изобретению обеспечивает разрешение конфликтов пользователем, поскольку изобретение также способно обнаруживать конфликты и показывать их пользователю. Конфликты могут быть простыми, когда, например, как в оригинале, так и в копии одно значение переменной было изменено на два разных значения. Конфликты могут быть также и более сложными, когда несколько изменений, соответствующих друг другу, должны распространяться вместе. Например, если функциональный блок был вставлен в блок-схему управления и его выходы и входы были подсоединены, ни одно из этих отдельных изменений не будет целесообразно распространять само по себе. Сочетание этих изменений называется группой изменений. Если группы изменений накладываются друг на друга в оригинале и в копии, это представляет собой конфликт.
Другая часть изобретения относится к системе, в которой применяется способ, представленный выше. Соответственно, этот документ описывает систему для распространения изменений в конфигурации технического оборудования, в которой сравниваются две группы объектов, при этом вторая группа объектов создана копированием первой группы, но после копирования одна или обе группы объектов были изменены.
Такая система обеспечивает применительно к заявленному способу соответствующее средство для распространения изменений в конфигурации технического оборудования, при этом на первом этапе пользователь или система идентифицирует корни оригинала и копии или копий для этапа согласования, затем на втором этапе система идентифицирует объекты согласования в первой группе и во второй группе для сравнения и синхронизации; после этого на третьем этапе система сравнивает объекты, согласованные на втором этапе, и обнаруживает изменения в первой группе и во второй группе и конфликты в изменениях первой группы и второй группы, и в заключение на четвертом этапе система представляет обнаруженные изменения и конфликты пользователю для распространения изменений и разрешения конфликтов.
Согласно предпочтительному варианту реализации заявленного изобретения идентификация объектов согласования основана не только на объектах, имеющих одинаковый идентификатор (ID) или одинаковое имя, но также на использовании других алгоритмов, таких как наличие подобных имен и одинаковых типов или одинакового числа и типов дочерних элементов. Могут быть алгоритмы, которые специально приспособлены к стандартизованной схеме наименований.
Соответственно, пользователь принимает решение, какие алгоритмы применяются на этапе согласования и в каком порядке они применяются, при этом пользователь определяет параметры алгоритмов, если это можно сделать.
Предпочтительно вариант реализации системы согласно настоящему изобретению использует трехходовое сравнение, чтобы определить, было ли выполнено идентифицированное изменение в первой группе или во второй группе.
Согласно другому предпочтительному варианту реализации заявленного изобретения система анализирует две группы объектов, расположенных в одном и том же наборе данных или в разных наборах данных, на изменения и сообщает или отображает на дисплее эти изменения пользователю посредством какого-либо средства связи, при этом любые обнаруживаемые изменения произведены либо на структурном уровне, либо на уровне объектных данных.
Другой предпочтительный вариант реализации системы согласно настоящему изобретению отличается тем, что несколько изменений группируются, если эти изменения зависят друг от друга.
Согласно предпочтительному варианту изобретения система может распространять изменения в связях между объектами в оригинале. Новой целью связи в дубликате является объект в дубликате, который соответствует новой цели связи в оригинале, как определено на этапе согласования, то есть если в оригинале объект А обращается к объекту В и изменяется на обращение к объекту С, то в копии объект А' будет изменен от обращения к B' на обращение к С', даже хотя имена или идентификаторы этих объектов отличаются от объектов, которым они соответствуют в оригинале.
Подобным образом системой преимущественно обеспечивается, что пользователь может отфильтровать соответствующие изменения, выбирая соответствующие случаи изменения, где каждый случай изменения является типом изменения, который может произойти для определенного типа объекта.
В общем случае система выдает предложения пользователю, какие изменения подлежат распространению, а какие нет.
Эти и другие предпочтительные варианты реализации и улучшения изобретения являются объектом зависимых пунктов формулы изобретения.
Посредством примеров различных предпочтительных вариантов реализации изобретения, которые представлены на прилагаемых чертежах, изобретение, предпочтительные варианты реализации и улучшения изобретения, а также специальные преимущества изобретения будут проиллюстрированы и описаны более подробно.
Следует отметить, что полнота осуществления изобретения не ограничивается вариантами и конфигурациями, показанными и представленными на чертежах, но распространяется на другие варианты реализации и конфигурации в пределах объема формулы изобретения.
На чертежах показано:
Фиг.1 - объектная структура оригинала и копии до каких-либо изменений, изменены только имена копируемых объектов, чтобы сделать их уникальными,
Фиг.2 - те же два набора объектов, что и на фиг. 1, после выполнения структурных изменений,
Фиг.3 - преобразование объектных структур "оригинала" и "дубликата" во времени и трехходовое сравнение с оригиналом сравнения после выполнения изменений,
Фиг.4 - возможный вид экрана на выходе системы, показывающий согласование объектов, обнаруженные различия и операции изменения, предложенные пользователю,
Фиг.5 - вид экрана со списком случаев изменений, из которого пользователь может выбрать те, которые подходят ему, и
Фиг.6 - конфигурация, при которой перекрывающиеся группы изменений представляют конфликт.
На фиг. 1 показана очень простая объектная структура, где элемент "Presentation Plant" ("представленный производственный участок") содержит две бойлерные зоны:"cfg_HYD_Boiler_301" (конфигурация_HYD_Бойлера_301) и "cfg_HYD_Boiler_302", последняя из которых является, будучи соответственно переименованной, дубликатом первой. Каждая из них содержит четыре функциональные диаграммы, и каждая функциональная диаграмма имеет несколько сигнальных объектов (DI/DO) в качестве дочерних элементов. На этапе согласования источник данных анализируется, чтобы идентифицировать оригинал и дубликат или дубликаты. После этого этапа устанавливается логическая связь между объектами оригинала и дубликата.
Если объекты сгруппированы иерархическим образом, как показано на фиг. 1, необходимо произвести итеративное согласование. Во-первых, должно быть определено, что "cfg_HYD_Boiler_301" и "cfg_HYD_Boiler_302" являются корнями поддеревьев, находящихся в соотношении оригинал-дубликат. Затем это должно быть повторено для всех функциональных диаграмм ниже этого уровня и снова для каждого сигнала ниже функциональных диаграмм.
На фиг. 2 показана простая объектная структура с изменениями, которые могли быть сделаны применительно к оригиналу и дубликату. Процесс согласования оставит объекты "fd_HYD_Boiler_302" и "fd_HYD_Boiler_302_Rtx1", обозначенные близлежащими прямоугольными параллелепипедами, и их соответствующие дочерние элементы несогласованными, поскольку они не являются соответствующими объектами в другой иерархии. То же самое относится к объектам, удаленным только в оригинале или в дубликате, но не в них обоих.
Существует много инструментов, подобных элементам сравнения директорий, которые сравнивают два дерева. Почти во всех случаях сравнение производится на основе имени или ID. Также не производится определение соотношения оригинал-дубликат.
Этап согласования может конфигурироваться пользователем. Пользователь может выбрать, какие алгоритмы следует использовать для согласования и в каком порядке. Он может также сконфигурировать отдельные алгоритмы, когда те предлагают параметры. Типичным примером является алгоритм "согласование по подобному имени". Одним полезным параметром тогда может быть "пороговое значение", при котором объекты никогда не согласуются, если они различаются более чем на 4 знака. Если инженер знает, что в этом проекте присваивание имен не является хорошим путем к согласованию, он может отказаться от выбора этой опции и выбрать вместо этого другие алгоритмы.
На этапе сравнения существуют разные типы изменений, подлежащие рассмотрению. Одним типом изменений являются структурные изменения. Как показано, например, на фиг. 2, может существовать объект в оригинале, который не имеет соответствующего объекта в дубликате.
Поскольку изменения происходят одновременно в оригинале и дубликате и не ведется журнал операций, нельзя определить, был ли данный объект создан в оригинале или был ли он удален в дубликате. Следовательно, журнал операций может быть использован как оригинал сравнения, чтобы обнаружить сторону, на которой было произведено изменение.
Для этапа сравнения это может быть незначительной информацией, но для следующего этапа распространения изменений это крайне важная информация. Если объект был добавлен в оригинал, это изменение должно быть распространено на дубликат. Если он был удален в дубликате, то предполагается, что это было сделано преднамеренно, так что объект не должен добавляться обратно в копию.
Для того чтобы была возможность различать эти две ситуации, в настоящем изобретении используется концепция трехходового согласования. На фиг. 3 представлена блок-схема операций этого процесса.
После копирования данных оригинала (этап 1) сам оригинал сохраняется либо в файле, либо в некотором другом виде запоминающего носителя (этап 2). Затем оригинал или дубликат, или они оба изменяются (этап 3), что дает в результате оригинал' и дубликат'.
Когда пользователь применяет теперь систему согласно настоящему изобретению, оригинал' будет сравниваться с исходной версией оригинала, которая называется "оригиналом сравнения" (этап 4а). Оригинал сравнения будет также сравниваться с дубликатом' (этап 4b).
Располагая информацией, содержащейся в оригинале сравнения, теперь можно найти, какие изменения были произведены применительно к дубликату, а какие применительно к оригиналу. Этот способ намного превосходит обычные способы, подобные сравнению временных меток.
При каждом распространении изменений на дубликат' (этап 5) будет также осуществляться новый экспорт текущего оригинала' в оригинал' сравнения (этап 6).
Вид экрана, представленный на фиг. 4, показывает, как согласование отображается на дисплее. Согласуемые узлы отображаются на одном и том же уровне. Если система обнаружила изменение, которое должно быть распространено на дубликат, то это указывается обозначенной стрелкой слева направо в среднем столбце. Изменяемые, удаляемые или добавляемые элементы маркируются как таковые фоновым цветом в данном варианте реализации изобретения.
На фиг. 4 в секции под заголовком "Change Action" ("Операции изменения") показана группа изменений, из которой можно увидеть, что одной операцией изменения является "On page 1 add component "and (1)" ("На стр. 1 добавлен компонент "and 1"), и эта операция имеет дочерние операции. Так что группа изменений состоит из одного добавленного функционального блока и трех добавленных соединений, которые связывают новый функциональный блок с остальной частью логического блока. Поскольку дочерние операции зависят от родительской операции, группа изменений используется для построения значащего набора элементов для лучшего обозрения, а также для защиты системы от противоречий, которые могут быть результатом частичного выполнения операций группы изменений.
Этап сравнения может конфигурироваться пользователем, при этом пользователь может выбирать, какие типы изменений он хочет обнаруживать. Почти в любом случае он не захочет сравнивать имена или даты создания.
Для того чтобы облегчить конфигурирование, в настоящем изобретении введена концепция "случаев изменения". Для функциональной диаграммы существует около 100 случаев изменения. Они находятся в пределах от "изменено постоянное значение" и "изменено форматирование диаграммы" через "изменен порядок выполнения" до "добавлен функциональный блок".
Случаи изменения определяются для каждого типа объекта один раз. Пользователь выбирает в течение времени прогона, какие случаи изменения он хотел бы увидеть и какие следует проигнорировать. На фиг. 5 показаны некоторые случаи изменения, определенные для функциональных диаграмм. В этом диалоговом окне пользователь может выбирать, какие случаи изменения интересны для него.
Кроме того, настоящее изобретение также способно обнаруживать конфликты и показывать их пользователю. Могут существовать прямые конфликты, когда, например, было изменено постоянное значение как в оригинале, так и в дубликате. Более сложные случаи находятся проверкой наличия перекрытия групп изменений.
На фиг. 6 показан пример, когда в оригинале был удален "выход" опорной точки диаграммы в ее верхней левой части. Это простое изменение, которое может также рассматриваться как группа изменений, состоящая только из этого изменения.
На фиг. 6 эта группа изменений обозначена заштрихованным крест-накрест овалом. В дубликате блок "AND" («И») был вставлен между двумя функциональными блоками на правой стороне и подсоединен к ним, как обозначено большой заштрихованной зоной. Это сложное изменение. Существует конфликт между двумя этими изменениями, так как две обозначенные зоны перекрываются.