27. Моделирование многозадачных систем.
Проблема сложности является главной проблемой, которую приходится решать при создании многозадачных систем любой природы, в том числе и ЭИС. Не один разработчик не в состоянии выйти за пределы человеческих возможностей и понять всю систему в целом. единственный эффективный подход к решению этой проблемы заключается в построении сложной системы из небольшого количества крупных частей, каждая из которых, в свою очередь, строится из систем меньшего размера т.д., до тех пор, пока самые небольшие части можно будет строить из имеющегося материала. Этот подход известен под самыми разными названиями, среди них такие, как «разделяй и властвуй», иерархическая декомпозиция и др. По отношению к проектированию сложной программной системы это означает, что её необходимо разделять(декомпозировать) на небольшие подсистемы, каждую из которых можно разрабатывать независимо от других. Правильная декомпозиция является главным способом преодоления сложности разработки многозадачных систем.
Понятие правильная по отношению к декомпозиции означает следующее: - количество связей между отдельными подсистемами должно быть минимальным; - связность отдельных частей внутри каждой подсистемы должна быть максимальной. - Структура системы должна быть таковой, чтобы все взаимодействия между её подсистемами укладывались в ограниченные, стандартные рамки: - каждая подсистема должна инкапсулировать своё содержимое (скрывать его от других подсистем); - каждая подсистема должна иметь чётко определённый интерфейс с другими подсистемами.
Инкапсуляция позволяет рассматривать структуру каждой подсистемы независимо от других подсистем. Интерфейсы позволяют строить систему более высокого уровня, рассматривая каждую подсистему как единое целое и игнорируя её внутреннее устройство.