Основы объектно-ориентированного проектирования

Основы объектно-ориентированного проектирования

Предварительный просмотр

Возникновение параллельности
Мультипроцессорная обработка
Многозадачность
Посредники запросов объектов (брокеры объектных запросов - Object Request Broker)
От процессов к объектам
Сходство

Активные объекты
Конфликт активных объектов и наследования


Программируемые процессы
Введение параллельного выполнения
Процессоры
Природа процессоров
Операции с объектом

Дуальная семантика вызовов
Сепаратные сущности
Получение сепаратных объектов
Объекты здесь и там
Параллельная архитектура
Распределение процессоров: файл управления параллелизмом (Concurrency Control File)
Библиотечные механизмы

Правила обоснования корректности: разоблачение предателей
Импорт структур объекта
Вопросы синхронизации
Синхронизация versus взаимодействия
Механизмы, основанные на синхронизации
Механизмы, основанные на взаимодействии

Синхронизация параллельных ОО-вычислений
Доступ к сепаратным объектам
Параллельный доступ к объекту
Резервирование объекта

Ожидание по необходимости
Мультипускатель
Устранение блокировок (тупиков)
Условия ожидания
Буфер - это сепаратная очередь
Предусловия при параллельном выполнении
Парадокс предусловий

Параллельная семантика предусловий
Последовательные и параллельные утверждения
Ограничение проверки правильности
Состояния и переходы
Запросы специальных услуг
Экспресс сообщения
Дуэли и их семантика
Обработка исключений: алгоритм "Секретарь-регистратор"

О том, что будет дальше в этой лекции
Примеры
Обедающие философы
Полное использование параллелизма оборудования
Полное использование параллелизма оборудования - 2
Замки

Сопрограммы (Coroutines)
Система управления лифтом
Сторожевой механизм
Организация доступа к буферам
О правилах доказательств

Резюме параллельного механизма
Синтаксис
Ограничения
Семантика
Минимальность механизма
Полное использование наследования и других ОО-методов

Совместимость с Проектированием по Контракту
Поддержка различия между командами и запросами
Применимость ко многим видам параллельности
Адаптируемость с помощью библиотек
Поддержка программирования сопрограмм
Поддержка использования непараллельного ПО
Поддержка устранения блокировок
Допускается ли одновременный доступ?
Ключевые концепции

У12.1 Принтеры
У12.2 Почему импорт должен быть глубоким
У12.3 "Аномалия наследования"
У12.4 Устранение тупиков (проблема для исследования)
У12.5 Приоритеты
У12.6 Файлы и парадокс предусловия
У12.7 Замки (Locking)
У12.8 Бинарные семафоры

У12.9 Целочисленные семафоры
У12.10 Контроллер сопрограмм
У12.11 Примеры сопрограмм
У12.12 Лифты
У12.13 Сторожа и принцип визитной карточки
У12.14 Однократные подпрограммы и параллельность
Содержание раздела