Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции

.pdf
Скачиваний:
11
Добавлен:
10.02.2015
Размер:
1.43 Mб
Скачать

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

31

4.3Потоковые схемы

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

Рис. 20. Сеть ресурсов и поток инициаторов в ней.

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

Сети Петри - в качестве ресурсов (т.е. контроллер+ресурс) используются

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

Сети Наура - ???? приведено как пример.

Сети массового обслуживания - контроллеры имеют любые функции или

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

32

5Лекция 5. 01.10.2013

5.1Псевдоязык описания сцепленных процессов (ПОСП)

Идентификатор - последовательность букв, цифр и некоторых символов (_,-

,), начинающаяса с буквы. Типы идентифакторов:

простой (Tñâ, ЦИКЛ, канал1 ...)

составной (Канал_сломан, ...)

стандартный (SIN, EXP, SQRT, ЦЕЛОЕ...)

системные стандартные

::= ВРЕМЯ; RAND; ИНИЦИАТОР

Запись любого оператора завершается символом ";". Любой оператор может быть помечен меткой.

Метка - идентификатор; метка отделяется двоеточием от оператора. Список - линейная последовательность элементов, разделенных запятой. Строка символов - любая последовательность символов, помещенная в

кавычки.

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

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

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

5.1.1Типы объектов языка

Объекты языка:

33

простая переменная;

переменная;

áëîê;

инициатор.

Каждый объект имеет òèï, èìÿ è значение. Имя объекта - идентификатор. Значение объекта - его содержание.

Тип простой переменной:

скаляр;

ссылка;

метка.

Тип переменной:

вектор;

пространство.

Тип блока:

агрегат;

процессор;

контроллер;

параметры.

Тип инициатора: ссылка.

Скаляр - одно неделимое значение. Это - число, логическое значение либо строка символов.

Синтаксис:

<список имен простых переменных> - скаляр(ы)

34

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

Синтаксис:

<список имен простых переменных> - ссылка(и)

Метка - простая переменная типа скаляра, значением которой является адрес помеченного ею оператора.

Синтаксис:

<список имен простых переменных> - метка(и)

Вектор - линейно-упорядоченная совокупность скаляров либо векторов (определение рекурсивно).

Синтаксис:

<список имен переменных> - вектор(<список элементов описания вектора>)

<элемент описания вектора> ::= <левая граница>-<правая граница>- <тип>

<левая граница>, <правая граница> ::= целое число

<òèï> ::= вектор|скаляр|ссылка|метка|пространство

Пространство - N-мерная совокупность однотипных переменных.

Синтаксис:

<список имен переменных> - пространство (<список элементов описания пространства>-<тип>)

<элемент описания> ::= <левая граница> - <правая граница>

<левая граница>,<правая граница> ::= целое число

35

5.1.2Описание блока

Синтаксис:

блок - <тип блока><имя блока> описание

<список групп описаний>

все описание; алгоритм

<программа>

все алгоритм; все блок.

Где <тип блока> ::=

агрегат | процессор | контроллер | параметр

<список групп описаний> содержит группы описания параметров с указанием: внешние, внутренние, типы, внешние блоки, метки, а также необходимые комментарии и договоренности.

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

<программа> - последовательность операторов ПОСП.

5.1.3Операторы ПОСП

Над параметрами могут выполняться любые арифметические и логические операции.

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

Полученное значение присваивается переменной с помощью оператора присваивания.

<список переменных> := <выражение>;

Безусловный навигационный оператор Синтаксис: направить ИНИЦИАТОР на <метка> [блока <èìÿ>];

36

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

Безусловный навигационный оператор Синтаксис: åñëè <логическое выражение> то направить ИНИЦИАТОР на <метка> [иначе на <метка> ];

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

Векторная форма условного навигационного оператора Синтаксис:

åñëè

 

B1 направить ИНИЦИАТОР на

<метка>

:

 

BN направить ИНИЦИАТОР на

<метка> [иначе направить на <ìåò-

êà>];

 

где B1..BN - логические выражения.

 

Оператор задержки инициатора

(оператор условия продвижения инициатора)

Синтаксис:

ждать <логическое выражение>; Оператор задерживает инициатор до выполнения логического условия. Усло-

вие может содержать переменную ВРЕМЯ.

Векторная форма оператора задержки инициатора

Синтаксис:

ждать

B1 направить ИНИЦИАТОР на <метка>

:

BN направить ИНИЦИАТОР на <метка>; где B1..BN - условные выражения.

Этот оператор совмещает функции двух последовательных операторов: оператора условия продвижения инициатора и векторного навигационного оператора.

Оператор активизации инициатора

Синтаксис:

37

активизировать инициатор из <имя простой переменной типа ссылки> â áëîê <имя блока> на метку <метка>;

Оператор активизирует параметр типа ссылки, превращая его в инициатор и направляя на сцепление с помеченным оператором указанного блока.

Оператор пассивизации инициатора

Синтаксис:

пассивизировать инициатор в параметр <имя параметра>; Оператор создания объекта

Синтаксис:

создать <имя объекта> òèïà <тип>; Оператор создает объект указанного типа и вводит его в программу.

Оператор уничтожения объекта

Синтаксис:

уничтожить <тип объекта> <имя объекта>; Оператор уинчтожает объект с заданным именем и выводит его из програм-

ìû.

Оператор присвивания значения ссылке

Синтаксис:

<имя ссылки> := ссылка на [тип объекта] <имя объекта> Ссылке присваивается адрес объекта.

Оператор разыменования ссылки

Синтаксис:

<имя ссылки> ! <тип переменной> [<место нахождения>]

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

Определение комментария

Комментарии могут вводиться в любом месте прогммы и отделяются от операторов двойным слешем (

)

38

6Лекция 10. 5.11.2013

6.1Генерация случайных чисел

Виды генераторов:

Физические генераторы случайных чисел; Если строб-сигнал достаточно

длинный, то получаем вероятность 1 и 0 примерно 50/50. Итого в регистре будет равномерное распределение.

Генераторы псевдослучайных чисел - программные генераторы, не физи- ческие числа;

39

6.2Проверка генераторов случайных чисел

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

6.2.1Проверка на равномерность

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

6.2.2Провека на коррелируемость

Рис. 21. Матрица парной корреляции

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

40

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]