Методы исследования сложных систем
Любой компьютер, даже, на первый взгляд, самый простой, представляет собой сложную систему, состоящую из миллионов простейших электронных компонентов. Единственный способ описать функционирование и структуру подобного рода сложных систем — выполнить ее иерархическую декомпозицию.
Любую иерархическую систему можно представить в виде ограниченного множества взаимодействующих подсистем, каждая из которых выполняет определенные функции и в свою очередь может иметь иерархическую структуру. Иерархическая декомпозиция может быть распространена на достаточно большую глубину, например, относительно компьютера — вплоть до уровня отдельных логических комбинационных схем.
Осознание иерархической природы сложной системы очень существенно как с точки зрения ее описания (анализа), так и с точки зрения проектирования (синтеза) такой системы. На определенном этапе проектирования разработчик, как правило, имеет дело с каким-либо одним уровнем иерархии. Описание функций каждого уровня выполняется в терминах абстрактных функций компонентов этого уровня, каковыми являются элементы следующего, более низкого в иерархии уровня. При проектировании подсистемы любого уровня для разработчика наибольший интерес представляют ее (подсистемы) структура и распределение функций между компонентами.
Структура — это способ объединения компонентов подсистемы в единое целое, а функции — операции, выполняемые каждым компонентом в процессе реализации функции, назначенной всей подсистеме.
При решении проблемы анализа сложной системы (ее описания) можно применить один из двух альтернативных подходов: начать с описания функций элементов самого низкого уровня и далее подниматься по уровням иерархии все выше и выше (восходящий подход, или подход "снизу-вверх") или рассмотреть систему в целом и попытаться отыскать в ней подсистемы, относительно независимые в смысле выполняемых функций (нисходящий подход, или подход "сверху-вниз"). Далее такого же рода декомпозиция применяется к выделенным подсистемам и т.д. Практика анализа разного рода больших систем показала, что нисходящий подход обладает несомненными преимуществами в смысле ясности и эффективности анализа.
Этом подход и будет использоваться в дальнейшем.
Контрольные вопросы
1. Дайте определение программы
2. Какой язык называют машинным?
3. Почему машинный язык неудобен человеку?
4. Какие языки удобны человеку и почему?
5. Какая технология выполнения программ называется трансляцией?
6. Как выполняется интерпретация программы?
7. Общее и различия между трансляцией и интерпретацией
8. Почему нет компьютеров прямо выполняющих программы, написанные на языках высокого уровня?
9. Сколько уровней в современных компьтерах?
10. Каковы особенности уровня структуры?
11. Каковы особенности уровня ассемблера?
12. Какие функции выполняет уровень операционной системы?
13. Что понимается под термином «Архитектура компьютера»?
14. Что входит в перечень характеристик «Архитектуры компьютера»?
15. Что понимается под термином «Структура компьютера»?
16. Что входит в перечень характеристик «Структура компьютера»?
17. Почему архитектура компьютера должна быть стабильной?
18. Что такое программная соместимость?
19. Почему надо стремиться к сохранению программной совместимости?
20. В чем причина изменчивости структуры компьютера?
Дата добавления: 2015-09-29; просмотров: 942;