6.5. ПОДХОД К ПРОЕКТИРОВАНИЮ АРХИТЕКТУРЫ СИСТЕМЫ НА ОСНОВЕ АБСТРАКТНЫХ МАШИН ДЕЙКСТРЫ
6.5. ПОДХОД К ПРОЕКТИРОВАНИЮ АРХИТЕКТУРЫ СИСТЕМЫ НА ОСНОВЕ АБСТРАКТНЫХ МАШИН ДЕЙКСТРЫ
Самый нижний уровень абстракции — это уровень аппаратуры. Каждый уровень реализует абстрактную машину с все большими возможностями.
Принцип 1. На каждом уровне абсолютно ничего не известно о свойствах более высоких уровней. Этим достигается сокращение связей между уровнями.
Принцип 2. На каждом уровне ничего не известно о внутреннем строении других уровней. Связь уровней осуществляется только через определенные заранее сопряжения.
Принцип 3. Каждый уровень представляет собой отдельно откомпилированные программы. Некоторые из этих модулей являются внутренними для уровня, т. е. недоступными другим уровням. Имена остальных модулей известны на более высоком уровне и представляют собой сопряжения с этим уровнем.
Принцип 4. Каждый уровень располагает определенными ресурсами и либо скрывает их от других уровней, либо предоставляет другим уровням некоторые их абстракции. Например, в системе управления файлами один из уровней может содержать физические файлы, скрывая их организацию от остальной части системы. Другие уровни могут владеть ресурсами: в каталоге, в словаре данных и др.
Принцип 5. Каждый уровень может обеспечивать некоторую абстракцию данных в системе. Например, файлы последовательного и прямого доступа на одном уровне одинаково реализуются на другом уровне.
Принцип 6. Предположения, которые на каждом уровне делаются относительно других уровней, должны быть минимальными, эти предположения могут принимать вид соглашений, которые должны соблюдаться перед выполнением функций, либо относиться к представлению данных или факторов внешней среды.
Принцип 7. Связи между уровнями ограничены явными аргументами, передаваемыми с одного уровня на другой. Недопустимо совместное использование глобальных данных несколькими уровнями. Более того, желательно полностью исключить использование глобальных данных (даже внутри уровня) в системе.
Принцип 8. Всякая функция, выполняемая уровнем абстракции, должна быть представима единственным входом. Аргументы, пересылаемые между уровнями, должны быть отдельными элементами данных, а не сложными структурами.
Подход к проектированию архитектуры системы на основе абстрактных машин Дейкстры можно пояснить на следующем примере.
Процессор фирмы "Intel" может лишь выполнять операции арифметики и, осуществляя сравнения двух величин, может выполнять команды перехода на команды в заданных адресах памяти. Программировать такую ЭВМ можно в виде прямой записи двоичных команд.
ЭВМ IBM PC имеет специальное постоянное запоминающее устройство с программами BIOS. После установки BIOS получается машина с дополнительными командами загрузки программы с дисков, чтения информации из любого сектора дисков, чтения символа с клавиатуры, вывода информации на экран и т. д. Благодаря прерываниям BIOS, становится возможным использование арифметики с плавающей точкой как при наличии, так и отсутствии сопроцессора.
После установки операционной системы MS DOS на машину IBM PC получается машина с новой поддержкой данных в виде файлов и с новыми командами работы над файлами и директориями (копирования, удаления и т. д.). Новая машина может выполнять операции над вещественными числами с плавающей точкой. Появляются команды запуска выполняемых файлов и другие новые команды.
После установки операционной системы MS Windows 3.1 (при установке операционной системы MS Windows 95 одновременно устанавливается и MS DOS) появляются новые команды управления окнами для работы специалистов "со столами, заваленными бумагами". Появляется возможность одновременного запуска разных программ в разных окнах с возможностью междуоконного обмена информацией.
После установки программного комплекса Microsoft Office появляются среды и команды работы над документами, расчетными таблицами и т. д.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Рекомендации по проектированию, отладке и тестированию программ
Рекомендации по проектированию, отладке и тестированию программ Рискуя дать совет, противоречащий высказываниям во многих других книгах и технических статьях, в которых основной упор делается на тестировании и уже затем рассматривается все остальное, лично я
4.1. Особенности архитектуры
4.1. Особенности архитектуры Если раньше система реального времени рассматривалась нами как один процесс (с точки зрения ресурсов), то распределенные СРВ представляют уже набор взаимодействующих процессов. Специфика заключается в том, что отлаживаемое приложение может
API-ориентированные архитектуры
API-ориентированные архитектуры Учитывая недостатки процессоро-ориентированных архитектур, многие ISV, производители оборудования и организации по стандартизации совместно разрабатывали архитектуры, в основе которых лежит интерфейс прикладных программ API[ 8 ] (application
Обзор архитектуры MI
Обзор архитектуры MI Определение архитектуры MI не привязано к аппаратуре. Это не физический, а логический интерфейс системы. Как уже говорилось в главе 1, архитектура MI предлагает полный набор API для OS/400 и всех приложений. Этот набор полон по определению; то есть ни система,
18.2. Инсталляция системы виртуальных машин
18.2. Инсталляция системы виртуальных машин Для установки необходимо сначала скачать ПО с сайта компании VMware, а также получить лицензию на его использование. Можно, конечно, купить лицензию (стоимость ее около 300 долларов), однако можно пользоваться и временной (30-дневной)
36. Предпочитайте предоставление абстрактных интерфейсов
36. Предпочитайте предоставление абстрактных интерфейсов РезюмеВы любите абстракционизм? Абстрактные интерфейсы помогают вам сосредоточиться на проблемах правильного абстрагирования, не вдаваясь в детали реализации или управления состояниями. Предпочтительно
Системы, построенные на основе трансляции в ассемблерный код
Системы, построенные на основе трансляции в ассемблерный код Некоторые из таких систем позволяют компилировать функции, содержащиеся в нескольких файлах, сразу так же, как в ОС UNIX с помощью команды: сс filel.с file2.cили какого-то ее эквивалента. В некоторых случаях вы
Повторное использование абстрактных модулей
Повторное использование абстрактных модулей Все предыдущие подходы, несмотря на их ограниченную применимость, осветили важные аспекты проблемы повторного использования:[x]. Повторное использование персонала необходимо, но недостаточно. Наилучшие повторно
От абстрактных типов данных к классам
От абстрактных типов данных к классам Итак, у нас имеется отправная точка - элегантная математическая теория для моделирования структур данных и, как мы только что видели, в целом - программ. Но наша цель - это архитектура ПО, а не математическая или даже теоретическая
6.1. ПОНЯТИЕ АРХИТЕКТУРЫ ПРОГРАММНОЙ СИСТЕМЫ
6.1. ПОНЯТИЕ АРХИТЕКТУРЫ ПРОГРАММНОЙ СИСТЕМЫ Разработка архитектуры системы — это процесс разбиения большой системы на более мелкие части. Для обозначения этих частей придумано множество названий: программы, компоненты, подсистемы…Процесс разработки архитектуры —
11.4. ПОДХОДЫ К ПРОЕКТИРОВАНИЮ ТЕСТОВ
11.4. ПОДХОДЫ К ПРОЕКТИРОВАНИЮ ТЕСТОВ Рассмотрим два самых противоположных подхода к проектированию тестов.Сторонник первого подхода ориентируется только на стратегию тестирования, называемую стратегией "черного ящика", тестированием с управлением по данным или
Выбор архитектуры PKI
Выбор архитектуры PKI Любой тип архитектуры PKI имеет свои слабые и сильные стороны. Не существует архитектуры, совершенной для всех сред. Выбор оптимальной архитектуры осуществляется с учетом специфики деятельности, потребностей и возможностей организации [70].Одиночный
Стандарты и руководства по проектированию безопасности
Стандарты и руководства по проектированию безопасности В комплексных приложениях бывает необходимо сопоставлять условия фактического проекта и спецификации безопасности аппаратного или программного обеспечения поставщика. Этот раздел может быть опущен, если