Главная » Просмотр файлов » И. Соммервилл - Инженерия программного обеспечения

И. Соммервилл - Инженерия программного обеспечения (1133538), страница 69

Файл №1133538 И. Соммервилл - Инженерия программного обеспечения (И. Соммервилл - Инженерия программного обеспечения) 69 страницаИ. Соммервилл - Инженерия программного обеспечения (1133538) страница 692019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 69)

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

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

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

Сделанные предположения мо!уг оказаться неверными, и после разработки системы ее показатели производительности не будут удовлетворять временным требованиям. В работах [86, б2) обсуждаются общие проблемы проверки временньж параметров систем. В книге [132) всесторонне рассмотрены методы, используе! l ! мыс при анализе производительности систем реального времени. !н! Все процессы в системе реального времени должны быть скоординированы. Механизм я!я координации процессов обеспечивает исключение конфликтов при использовании общих ресурсов. Когда один процесс использует общий ресурс (или объект), другие процессы не должны иметь доступ к этому ресурсу.

К механизмам, обеспечивающим взаимное исключение процессов, относятся семафоры [97), мониторы [182] и метод критических областей [59]. Здесь я не буду рассматривать эти механизмы, так как все они хорошо документированы в описаниях операционных систем [332, 318].

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

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

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

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

Если дверь печи закрыта, система переходит в состояние Действие. В этом состоянии идет процесс приготовления пищи, после завершения которого печь возвращается в состояние Ожидание. Модели конечного автомата — хороший способ представления структуры систем реального времени. Поэтому такие модели являются неотъемлемой частью методов проектирования систем реального времени [338]. Метод Харела (Нате!) [115), базирующийся на диазрдммах сэсэыякяй, направлен на решение проблемы внутренней сложности моделей конечного автомата. Диаграмма состояний структурирует модели таким образом, что группы состояния можно было бы рассматривать как единые сущности.

Кроме того, с помощью диаграмм состояний параллельные системы можно представить в виде модели состояний. Модели состояний поддерживаются также ()МЕ [304, 30э]. В этой книге я также использую систему нотации, принятую в ()М[.. 270 Часть П1. Проектирование Ркс )ЗЗ.

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

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

Язык Аба изначально разрабатывался для реализации встроенных систем, а потому располагает такнии средствами, как управлснис процессами, искзючсния н правила прод. ставлсния. Его средство рандгоу (гспдехчопз) — отличный механизм для синхронизации задач (процсссов) (бЗ, 24, 4ч). К сожалению, порвав версия языка Аг)а (Аг)а 83) оказалась нспригодной для рсалнэации жсстких систсм реального времснн. В ней отсутствовали сред. ства, позволяющис установить нрсдсльпыс сроки завсршсния задач, нс было встроенных искчючсний для случая прсвышсиия предельных сроков н предлагался строгий алгоритм обслуживания очсрслн "псрвым пришел — первым вышел". При пересмотре стандартов языка Аг)а (23) глзвнос вннмапнс уделялось именно этим момснтам. В псрсслютрснной версии языка поддсрживаются защищенные типы, что позволило более просто рсализовывать эащищснныс разделяемые структуры данных и обеспечивать более полный контроль прн выполнснин н синхронизации задач. Однако при программировании систем 1$.

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

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

1. Нельзя указать время, в течение которого должен выполняться поток. 2. Неконтролируем процесс очистки палшти — он люжст начатьсл в любое время. По. этому невозлюжно предсказать поведение потоков во времени. 3. Нельзя определить размеры очереди, связанной с разделяемыми ресурсами. 4. Реализация виртуальной машины ]ага отличается для разных компьютеров. 5. В языке нет средств для детазьного анализа распределения времени работы процессоров.

В настоящее время ведется работа по решению некоторых из этих проблем и форми. руется новая версия языка)ага для программирования систем реального времени [25б]. Однако не совсем понятно, каким образом эту версию можно отделить от лежащей в ес основе виртуальной мацкины ]ага: свойство переносимости языка всегда конфликтовало с характеристиками режима реального времени. 13.2. Управляющие программы Управляющая программа (диспетчер) системы реального времени является аналогом операционной системы компьютера. Она управляет процессами и распределением ресурсов в системах реального времени, запускает н останавливает соответствующие процессы для обработки входных сигналов и распределяет ресурсы памяти и процессора. Однако обычно в управляющих программах отсутствуют более сложные средства, присупп1е опс.

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

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

2. Оэзлбзэюик я)зсрмэанкк управляет апериодическими запросами к сервисам. 272 Часть Ш. Проектирование 8. Пллнировгвик просматривает список процессов, которые назначены на выполнение, и выбирает один из них. 4. Админипврлгяйв ресурсов, получив процесс, запланированный на выполнение, выде- ляет необходимые ресурсы памяти и процессора.

Характеристики

Тип файла
DJVU-файл
Размер
8,79 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Зачем заказывать выполнение своего задания, если оно уже было выполнено много много раз? Его можно просто купить или даже скачать бесплатно на СтудИзбе. Найдите нужный учебный материал у нас!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6392
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее