Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Управляющие процессы и их формализованное описание

 

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

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

Простейшим можно считать последовательный линейный процесс. Такой процесс состоит из некоторого числа процедур А0, А1,..., Ak, последовательность выполнения которых определяется технологическим процессом и не зависит от значений и изменений каких-либо параметров управляемой системы. Управляющий автомат, реализующий линейный процесс, содержит ОФБ, последовательность включения которых задает УП.

Считая выполнение процедуры некоторым событием и сопоставив поэтому каждой процедуре переход сети Петри, линейный УП можно описать оригинальной сетью Петри, которая будет содержать t 0, t 1,..., tk переходов и a 0, a 1,..., af позиций. Появление метки в позиции а0, соответствующее активизации процесса, вызывает последовательную реализацию всех переходов сети Петри. Хотя такое описание УП возможно, оно мало отражает действительный характер функционирования УА, поскольку в оригинальной сети Петри все переходы являются примитивными, т.е. предполагается, что они реализуются мгновенно. В действительности каждая процедура имеет определенную длительность, так что можно выделить отдельные ее фазы: начало, выполнение и окончание процедуры. Это соответствует включению, работе и отключению ОФБ, в котором выполняется процедура.

Рис.7.4 Подсеть Петри

Такую процедуру Ai можно представить подсетью Петри (рис. 7.4, а), содержащей переходы t н i и tki и дополнительные позиции zi и wi, которые в отличие от внутренних позиций назовем внешними, так как их маркировка зависит не только от состояния сети Петри, но и от внешних событий. В результате реализации перехода t н i который определяет начало выполнения процедуры Ai, появляются метки в его внешней zi и внутренней ai выходных позициях. Первая из них соответствует включению ОФБ i, вторая – тому, что происходит событие, состоящее в выполнении процедуры А i. Окончание работы ОФБ i отмечается появлением метки во внешней входной позиции перехода tki. Этот переход реализуется, в результате чего появляется метка в его внутренней выходной позиции, означающая завершение процедуры Ai.

Следует отметить, что при многопрограммном принципе реализации УП такое описание взаимодействия с ОФБ не только наглядно и удобно, но и необходимо, так как позволит разделить переходы t н i и tki. Как уже отмечалось, ОФБ может иметь местное управление, что позволяет ему после получения включающего сигнала работать автономно. В это время могут выполняться процедуры других процессов, которым сопоставлены свои переходы. При этом переходы t н i и tki уже не являются переходами, связанными отношением непосредственного следования. Использование внешних выходных и входных позиций позволяет отразить специфику многопрограммного управления.

Однако разделение позиций на внутренние и внешние достаточно условно, поскольку, расширив рамки рассматриваемого явления, можно перевести часть внешних позиций во внутренние. Так, в нашем случае описания взаимодействия с ОФБ работу этого блока можно представить как непримитивное событие и промоделировать непримитивным переходом i. Если теперь включить этот переход в рассматриваемую сеть Петри, то внешние позиции zi и wi станут внутренними, так как заполнение их метками и удаление меток будет связано только с реализацией переходов этой сети Петри (рис. 7.4, б).

В тех случаях, когда выполнение процедуры можно рассматривать как неделимое событие, для упрощения графа сети Петри ее фрагмент, содержащий переходы t н i, i, tki и позиции zi, ai, wi, целесообразно представить одним переходом t д, отметив его индексом сопоставленной с ним процедуры ti д (рис. 7.4, в). Такой отмеченный переход будем называть длительным. Следует иметь в виду, что в отличие от примитивного для реализации длительного перехода требуется некоторое время, в течение которого уже нет метки в его входной позиции, но еще не появилась метка в выходной позиции. Никаких ограничений на длительность реализации, перехода не накладывается, известно только, что это время конечно. При необходимости можно вновь заменить длительный переход подсетью Петри (рис. 7.4, б).

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

Пусть для выполнения процедур УП необходимо l функциональных разделяемых ресурсов С 1, С 2,.., С l. Если, имеется q экземпляров одного и того же ФР (например, q одинаковых ОФБ), то этот ресурс имеет кратность q (С l q) и может использоваться одновременно α q процедурами. Когда q =1, ресурс имеет два состояния: «свободен» и «занят». В общем случае ресурс имеет q +l состояние.

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

Для выполнения процедур линейного процесса необходимы только функциональные ресурсы, и каждую процедуру А i, такого процесса можно охарактеризовать следующими тремя множествами: { C в i } – множество ФР, которыми процедура А i уже владеет; { C з i } – множество ФР, которые процедура А i еще запрашивает; { C о i } – множество ФР, которые освобождаются после выполнения А i.

Если, например, для процедуры А i { C в i } = С1, { C з i } = С3, С4 и { C о i } = С1, С4, т.е. А i ({С1},{С3, С4},{С1, С4}), это означает, что при выполнении процедуры А i, ей уже предоставлен ресурс С1, еще необходимы ресурсы С3 и С4, а в результате ее выполнения ресурсы С1 и С4 освобождаются.

Рис.7.5 Сеть Петри для процесса с пятью последовательно выполняемыми процедурами

Будем считать, что процедура не запрашивает повторно тот ресурс, который ей предоставлен в результате выполнения других процедур, поэтому { C з i } { C в i } = . В частном случае, когда все необходимые ресурсы запрашиваются данной процедурой и сразу освобождаются, { C в i } =  и { C з i } = { C о i }. Очевидно, во время выполнения процедура владеет всеми запрошенными ресурсами. Пусть перед началом выполнения процесса и после его окончания все ресурсы свободны.

Функциональному ресурсу Сј поставим в соответствие позицию сј сети Петри и назовем ее ресурсной позицией. Если qj – кратность ФР Сј, позиция сј в начальной маркировке содержит qj меток. Позиция сј должна быть входной позицией длительного перехода t д i , если Cj { C з i }, и выходной позицией этого перехода, если Cj { C о i }. Ясно, что когда ресурс Сј занимается только на время выполнения процедуры Ai, то позиция Сј является одновременно входной и выходной позицией перехода t д i.

Таким образом, сеть Петри, описывающая линейный последовательный процесс, содержит длительные переходы t д i, основные внутренние а μ и ресурсные внутренние сј позиции. Будем считать, что заданное количество и распределение ресурсов позволяют последовательному процессу развиваться от начальной процедуры А0 до конечной А k.

На рис. 7.5 приведен пример сети Петри для процесса, со стоящего из пяти последовательно выполняемых процедур A 0, A 4, A 1, A 2, A 3 при следующем распределении трех ФР С 1, С 2, С 3: A 1({ С 2}, {-}, {-}); A 2({ С 2}, { С 1}, { С 2}); A 3({ С 1}, { С 3}, { С 1, С 3}); A 4({-}, { С 2, С 3}, { С 3}).

Рис.7.6 Сеть Петри, задающая параллельный линейный процесс

Рассмотрим особенности описания параллельного линейно го процесса. Такой УП может иметь сложную параллельно-последовательную структуру, определяемую управляемым технологическим процессом. Сеть Петри, задающая параллельный процесс, кроме длительных переходов, соответствующих процедурам, содержит примитивные переходы для распараллеливания процесса и объединения его параллельных участков. Эти переходы будем называть соответственно переходами распараллеливания tR и соединения tS, число таких переходов зависит от структуры УП.

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

Функциональные ресурсы, которые используются только процедурами одного и того же элементарного подпроцесса, будем называть собственными ФР этого подпроцесса. При описании процесса учитывают лишь ресурсы, разделяемые разными параллельными подпроцессами.

На рис. 7.6 приведен пример сети Петри, задающей параллельный линейный процесс при следующем распределении ФР, используемых процедурами параллельных подпроцессов:

A 1({ С 1}, { С 3}, {-}); A 2({ - }, { С 3}, { - }); A 3({ С 3}, { С 2}, { С 3}); A 4({ С 1, С 2}, { - }, { С 1}); A 5({ - }, { С 1}, { - }); A 6({ С 1, С 3}, { - }, { С 3}); A 7({ С 2}, { - }, { С 2}); A 8({ - }, { С 2}, { - }); A 9({ С 2}, { С 1}, { - }); A 10({ С 1, С 2}, { - }, { С 2}); A 11({ С 1}, { - }, { С 1}).

Рис.7.7 Сеть Петри с разделением ресурсов процедурами независимых параллельных процессов

Заметим, что разделение ресурсов процедурами независимых параллельных процессов превращает их в один процесс с параллельными подпроцессами, взаимодействующими через эти ресурсы. Сеть Петри (рис. 7.7) иллюстрирует этот случай.

Разветвленный процесс в отличие от линейного содержит не одну, а несколько последовательностей выполнения процедур, каждая из которых соответствует определенному набору значений логических условий, проверяемых в ЛФБ УА. Следует четко различать альтернативные ветви последовательного процесса и параллельные участки (подпроцессы) параллельного процесса, которые могут развиваться одновременно.

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

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

Как уже отмечалось, проверка значений логических условий осуществляется в ЛФБ УА. По аналогии с функциональными ресурсами ресурсы системы, которые необходимы для определения последовательности процедур процесса, назовем логическими ЛР. В отличие от ФР для ЛР нужно знать не только его состояние, но и значение проверяемого в нем логического условия (ЛУ), которое может изменяться либо процедурами рассматриваемого УП, либо внешними событиями.

Пусть для выполнения процесса необходимо m ЛР D l, D 2, …, Dm таких, что в ЛР D s проверяется значение логического условия p s. Если значение логического условия ps изменяется только процедурами УП, ЛР Ds будем называть внутренним ЛР. Рассмотрим вначале случай, когда все ЛР являются внутренними.

Каждую процедуру Ai будем характеризовать двумя множествами ЛУ:

{ P 1 i } и { P 2 i }: Ai ({ P 1 i }, { P 2 i }),

где { P 1 i } – номера ЛУ и их значения, необходимые для выполнения процедуры Ai; { P 2 i } – номера ЛУ и их значения, которые они приобретают в результате выполнения процедуры Ai.

Если, например, Ai ({ , p2}, { , p3}), то это означает, что для выполнения процедуры Ai необходимо, чтобы логическое условие p 1 имело нулевое, а логическое условие р 2 — единичное значение. После выполнения Ai значение логического условия p 2 изменится и станет нулевым, а логическое условие p 3 примет единичное значение, хотя само выполнение процедуры Ai не зависит от значения этого логического условия.

Если логическое условие ps входит в множество { Р 2 i }, т.е. его значение изменяется процедурой Ai, то эта процедура монопольно занимает ЛР Ds и во время ее выполнения он находится в состоянии занято. После завершения процедуры все ЛР освобождаются, в отличие от ФР, которые могут быть заняты при выполнении нескольких последовательных процедур.

Если логическое условие ps входит только в множество { P 1 i }, т.е. его значение просто используется для определения активной ветви процесса, то ЛР Ds занимается немонопольно. Допускается одновременно несколько таких обращений к одному ЛР, поскольку его состояние и значение проверяемого им логического условия при этом не изменяются. Это соответствует тому, что для выполнения процедуры Ai необходимо определенное значение логического условия ps, которое не изменяется этой процедурой.

Рис.7.8

Если логическое условие р s, входит только в множество { P 2 i }, процедура Ai выполняется независимо от значения логического условия р s, но после этого р s принимает определенное значение, которое и указывается в { Р 2 i }.

Очевидно, логическое условие р s может входить как в { P 1 i }, так и в { P 2 i }. Это соответствует тому, что выполнение процедуры Ai зависит от значения ps и, в свою очередь, влияет на это значение, т. е. монопольно занимает ЛР Ds.

Таким образом, для описания разветвленного процесса необходимо иметь средства моделирования существующих видов взаимодействия процесса с ЛР на языке сетей Петри. Прежде всего нужно представить каждый ЛР в терминах этого языка так, чтобы задать и его состояние, и значение проверяемого им ЛУ. Для этого ЛР Ds поставим в соответствие не одну, как в случае ФР, а три позиции сети Петри ds, ds 1, ds 0 . Позиция ds содержит метку, если ресурс Ds свободен, т.е. ни одна из процедур процесса не владеет им монопольно. Позиция ds 1(ds 0) содержит метку, если логическое условие ps, проверяемое в ЛР Ds, имеет единичное (нулевое) значение.

Самым простым дуля описания сетью Петри является случай, когда процедура Ai изменяет значение того ЛУ, от которого и зависит ее выполнение. Например, если Ai ({ ps }, { s }) и Aj ({ s }, { ps }), то входными позициями перехода t д i (t д j) кроме основной внутренней позиции должны быть позиции ds и ds l (ds и ds 0 ). Выходными позициями перехода t д i (t д j) будут кроме внутренней позиции позиции ds и ds 0 (ds и ds l) (рис. 7.8, а), что соответствует освобождению логического ресурса Ds и изменению значения логического условия ps.

Другой случай, когда выполнение процедуры Ai не зависит от значения логического условия ps, но в результате ее выполнения ps принимает определенное значение, также может быть промоделирован существующими средствами сети Петри. Поскольку ЛР монопольно занимается на время выполнения Ai, позиция ds является входной позицией перехода t д i. Так как перед выполнением Ai значение ЛУ ps не проверяется, необходимо удалить метку из той позиции (ds 0 или ds l ), в которой она находилась, а затем поместить ее в ds 0 (ds l), если в результате выполнения Aips принимает нулевое (единичное) значение, одновременно освободив ЛР Ds (рис. 7.8, б).

Наконец, третий случай, когда для выполнения процедуры Ai необходимо определенное значение ЛУ ps, но это значение не меняется, не удается промоделировать существующими в сети Петри средствами. Кажущийся естественным способ сделать позицию ds l (или ds 0) входной и выходной позицией перехода t д i не соответствует такому немонопольному занятию ЛР, когда одновременно несколько процессов могут считывать значение одного и того же ЛУ, не изменяя его.

Для описания этого взаимодействия введем в сеть Петри новый тип дуг, которые назовем неизменяющими. Если переход tv соединен с входной позицией αμ неизменяющей дугой, то для его реализации необходимо наличие метки в позиции αμ, которая не удаляется из αμ при реализации tv. На рисунках неизменяющую дугу будем обозначать перечеркнутой стрелкой. Теперь нетрудно описать возможность немонопольного занятия ЛР, которое не приводит к изменению значения проверяемого им ЛУ. Если Ai ({ ps }, {—}), то позиция ds l должна быть соединена с t д i неизменяющей дугой. Когда Aj ({ s }, {—}), позиция ds 0 является входной для t д i и соединяется с ним неизменяющей дугой (рис. 7.8, в). Заметим, что в этом случае при описании последовательного процесса метка позиции ds не используется.

Очевидно, если Ai ({—}, {—}), то процедура Ai не взаимодействует с ЛР и переход t д i может быть реализован независимо от маркировки позиций логических ресурсов.

Рис.7.9 Сеть Петри разветвленного последовательного процесса

Рис.7.10 Сеть Петри с альтернативными ветвями и параллельными участками

 

Рассмотренный способ представления ЛР тремя позициями сети Петри хотя позволяет промоделировать все случаи взаимодействия процессов с ресурсами, однако является достаточно громоздким, так как требует введения большого числа дополнительных позиций. Это число можно сократить, если применить так называемые сдерживающие, или тормозящие, дуги. Эти дуги были введены специально для того, чтобы использовать информацию об отсутствии метки в позиции. Если переход tv, соединен тормозящей дугой с входной позицией αμ, то он может быть реализован, только когда эта, позиция не содержит метку. При этом ЛР Ds можно задать двумя позициями: ds и s, последняя содержит метку, когда логическое условие ps имеет единичное значение, и не содержит ее при нулевом значении этого ЛУ.

На графе сети Петри сдерживающая дуга заканчивается не стрелкой, а маленьким кружком. При использовании таких дуг взаимодействие Ai ({ ps }, {—}) с логическим ресурсом Ds, показанное на рис. 7.8, в, будет моделироваться сетью Петри, приведенной на рис. 7.8, г.

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

На рис. 7.9 показана сеть Петри разветвленного последовательного процесса, все процедуры которого используют собственные ФР, выполнение процедур А 1, А 3, А 4, А 5, А 6, А 7 зависит от значений логических условий p 1, p 2 и процедуры А 1, А 3, А 7 меняют значения логических условий: А 1({ p l}, { l}); А 3({ p 2}, { 2}); А 4({ l}, {—}); А 5({ p l}, {—}); А 6( l}, {—}); А 7({ 2}, { p 2});. Для упрощения графа сети Петри не введены позиции состояний ЛР 1 и 2.

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

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...