Процесс работы Touch Pad

Тип работы:
Контрольная
Предмет:
Программирование


Узнать стоимость

Детальная информация о работе

Выдержка из работы

Задания

1. Задание

1. Выбрать вычислительный процесс и на его примере:

— построить метамодель «асинхронный процесс» и определить свойства исходного процесса на основе анализа метамодели;

— выполнить операции над процессом: репозиция, редукция, композиция, и оценить полученные результаты с практической точки зрения;

— построить предметную интерпретацию метамодели на основе сети Петри и сделать вывод о динамических характеристиках исходного процесса.

2. Оформить отчет.

2. Описание процесса.

В качестве процесса я выбрал процесс работы Touch Pad.

2.1 Описание работы TouchPad

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

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

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

3. Построение метамодели «асинхронный процесс».

Поставим нашему асинхронному процессу в соответствие четвёрку, в которой:

— непустое множество ситуаций;

— отношение непосредственного следования ситуаций, определённое на множестве

;

— множество инициаторов;

— множество результантов.

Выделим компоненты асинхронного процесса

3.1 Компоненты процесса

1. Обращение системы к устройству Touch Pad

Tpd = 1 Есть

Tpd = 0 Нет

2. Зарядка на конденсаторе матрицы

C = 1 Есть

C = 0 Нет

3. Cигналы от нажатия кнопки

B = 1 Есть

B = 0 Нет

4. Analog to Digital Converter (Аналого — цифровой преобразователь)

ADC = 1 Работает

ADC = 0 Ожидает

5. Фильтр помех

F = 1 Работает

F = 0 Ожидает

6. На виртуальной карте задаются сгенерированные координаты

Map = 1 Да

Map = 0 Нет

7. Сигнал с карты обработан

TM = 1 Да

TM = 0 Нет

8. Сигнал с кнопки обработан (посыл на отклик на экране)

TB = 1 Есть

TB = 0 Нет

Сформируем множество ситуаций рассматриваемого процесса.

3.2 Ситуации Асинхронного процесса

Tpd

C

B

ADC

F

Map

TM

TB

1

1

0

0

0

0

0

0

0

2

1

1

0

0

0

0

0

0

3

1

0

1

0

0

0

0

0

4

1

0

1

0

0

0

0

1

5

1

1

1

0

0

0

0

0

6

1

1

1

1

0

0

0

0

7

1

1

0

1

0

0

0

0

8

1

1

0

1

1

0

0

0

9

1

1

0

0

0

1

0

0

10

1

1

0

0

0

1

1

0

11

1

1

1

1

1

0

0

0

12

1

1

1

0

0

1

0

0

13

1

1

1

0

0

1

1

1

S1 = (1,0,0,0,0,0,0,0); система обратилась к TPD

S2 = (1,1,0,0,0,0,0,0); система обратилась к TPD, есть зарядка конденсатора

S3 = (1,0,1,0,0,0,0,0); система обратилась к TPD, есть сигнал с кнопки

S4 = (1,0,1,0,0,0,0,1); система обратилась к TPD, есть сигнал с кнопки, сигнал с кнопки обработан

S5 = (1,1,1,0,0,0,0,0); система обратилась к TPD, есть зарядка конденсатора, есть сигнал с кнопки

S6 = (1,1,1,1,0,0,0,0); система обратилась к TPD, есть зарядка конденсатора, есть сигнал с кнопки, работает ADC.

S7 = (1,1,0,1,0,0,0,0); система обратилась к TPD, есть зарядка конденсатора, работает ADC.

S8 = (1,1,0,1,1,0,0,0); система обратилась к TPD, есть зарядка конденсатора, работает ADC, работает фильтр помех

S9 = (1,1,0,0,0,1,0,0); система обратилась к TPD, есть зарядка конденсатора, на виртуальной карте задаются сгенерированные координаты

S10 = (1,1,0,0,0,1,1,0); система обратилась к TPD, есть зарядка конденсатора, на виртуальной карте задаются сгенерированные координаты, сигнал с карты обработан

S11 = (1,1,1,1,1,0,0,0); система обратилась к TPD, есть зарядка конденсатора, есть сигнал с кнопки, работает ADC, работает фильтр помех

S12 = (1,1,1,0,0,1,0,0); система обратилась к TPD, есть зарядка конденсатора, есть сигнал с кнопки, работает MAP

процесс асинхронный метамодель петри

S13 = (1,1,1,0,0,1,1,1); система обратилась к TPD, есть зарядка конденсатора, есть сигнал с кнопки, работает MAP, сигнал с карты обработан, сигнал с кнопки обработан (посыл на отклик на экране)

Сформируем множество ситуаций рассматриваемого процесса.

3.3 Множество ситуаций рассматриваемого процесса.

Так как S1, S2, S5, S3 являются причиной процесса, то они относятся к инициаторам

Так как S4, S10, S13 являются следствием, то они относятся к результантам

Ситуация описывает начальный этап данного процесса — обращение системе к Touch Pad, который инициирует ход всего процесса.

Ситуация описывает ситуацию, нажатие на экран Touch Pad или вождение по нему пальца.

Ситуация описывает ситуацию, нажатие на кнопку Touch Pad

Ситуация описывает ситуацию, нажатие на экран Touch Pad или вождение по нему пальца при нажатой кнопки Touch Pad

Ситуации описывает обработку нажатия кнопки Touch Pad

Ситуации описывает обработку нажатия на экран Touch Pad

Ситуация описывает обработку нажатия на экран и на кнопку Touch Pad (например выделение).

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

3.4 Траектории выполнения процесса

Первая траектория описывает процесс нажатия на кнопку, результат которого — получаем отклик от кнопки (например, на экране)

Вторая траектория описывает процесс движения пальца по экрану Touch Pad, результат которого получение новых координат курсора и отклик на экране.

Третья траектория описывает процесс движения пальцем по экрану при нажатой кнопке — результат которого: получены новые координат курсора и отклик от кнопки мыши. Этот результат ведет к новому — освобождение ресурсов Touch Pad.

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

Определим классы эквивалентности. Для множества можно определить отношение такое, что:

1), если;

2).

Отношение позволяет разбить множество на классы эквивалентности:

Так как мой АП — эффективный, то:

,

где — множество начальных классов, — множество конечных классов.

Так как в моём АП начальные классы идут в разные конечные классы эквивалентности, то мой АП неуправляемый.

Данный АП не является простым, так как траектории содержат больше одного инициатора.

Вывод: таким образом, АП является эффективным и неуправляемым, и не является простым.

4. Операции над процессами

4.1 Репозиция асинхронного процесса

Для возобновления выбранного АП необходимо, сбросить все настройки или обработать активные сигнализаторы, и обратится к TPD

S14 — Сброс настроек процесса (прерывание) — возвращение к началу оцифровки.

S15 - Сброс обращение к TouchPad при активных сигнализаторах отклика (прерывание) — возвращение к началу оцифровки

Составленная репозиция является частичной, т.к. R’I.

Вывод: Репозиция требуется для возобновления АП, именно она описывает механизм перехода от результантов к инициаторам и, построив её, можно изучить этот механизм. Применив к рассматриваемому процессу репозицию, мы получили работу с TochPad более чем один раз.

4.2 Редукция асинхронного процесса

Образуем p-блочное разбиение по второму способу

Выделим первые три входные компоненты

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

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

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

Образуем множество:

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

4.3 Дополнительный процесс: «Инициализация TPD»

I. Компоненты процесса

1. Драйвер

Dr = 1 Есть

Dr = 0 Нет

2. Операционная память

RAM = 1 драйвер загружен

RAM = 0 драйвер не загружен

3. Инициализация Tpd

TpdFalse = 1 Не готов

TpdFalse = 0 Готов

II. Ситуации Асинхронного процесса

Dr

RAM

TpdFalse

1

1

0

1

2

1

1

1

3

1

1

0

F:

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

4.3 Композиция двух процессов: «Touch Pad» и «Инициализация»

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

Dr

RAM

TpdFalse

B

TB

1

1

0

1

0

0

2

1

1

1

0

0

3

1

1

0

0

0

4

1

1

0

1

0

5

1

1

0

1

1

Ситуации получившегося процесса p3.

S1 {10 100} - имеется драйвер, S2 {11 100} - имеется драйвер, имеется свободная оперативная память, S3 {11 000} - имеется драйвер, имеется свободная оперативная память, TPD инициализирован

S4 {11 010} - имеется драйвер, имеется свободная оперативная память, TPD инициализирован, произошло нажатие на кнопку TPD

S5 {11 011} - имеется драйвер, имеется свободная оперативная память, TPD инициализирован, произошло нажатие на кнопку TPD, сигнал с кнопки обработан

5. Предметная интерпретация асинхронного процесса.

5.1 Построение сети Петри.

Рассмотрим сеть Петри композиции двух процессов.

M0={1, 0, 1, 0, 0}

Составим граф разметок, соответствующий построенной сети Петри:

Как мы видим, вершины построенного графа и их следование (и ветвление) совпадают с векторами ситуаций процесса P1, след. сеть построена правильно.

Покрывающее дерево совпадает с графом разметок

Данная сеть ограниченна, т.к. все места являются ограниченными.

Данная сеть безопасна, т.к. все места безопасны.

Данная сеть является неживой, т.к. существует переход t1 который не является потенциально живым при разметке M4.

Все переходы в этой сети устойчивы, поэтому и эта сеть — устойчива.

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

Заключение

Я получил опыт в конструировании метамодели «асинхронный процесс» и модели «сеть Петри» и исследовании их свойств.

Я выбрал вычислительный процесс и на его примере:

— построил метамодель «асинхронный процесс» и определить свойства исходного процесса на основе анализа метамодели;

— выполнил операции над процессом: репозиция, редукция, композиция, и оценил полученные результаты с практической точки зрения;

— построил предметную интерпретацию метамодели на основе сети Петри и сделал вывод о динамических характеристиках исходного процесса.

ПоказатьСвернуть
Заполнить форму текущей работой