Логическая архитектура
Существует два аспекта любого метода проектирования, которые облегчают создание логической архитектуры жестких систем реального времени. Во-первых, абстракции должна быть дана конкретная поддержка, что, как правило, и нужно проектировщикам систем. Во-вторых, логическая архитектура должна планироваться с тем условием, чтобы возможно было ее анализировать во время проектирования физической архитектуры.
Результатом иерархического разделения в ходе фазы логического планирования является коррекция конечных объектов с полным определением их взаимодействием. Предполагается, что некоторые формы процесса функционального разделения могут приводить к определению новых объектов.
Конечные объекты характеризуются как:
· циклические;
· единичные;
· защищенные;
· пассивные.
Циклические и единичные действия являются обычными в системах реального времени; каждое из них должен содержать поток, который создается во время выполнения. Приоритет потока устанавливается во время планировки в фазе физической архитектуры. Защищенные объекты управляют доступом к данным, которые доступны нескольким потокам (т.е. циклическим и единичным объектам); в частности, они предусматривают взаимное исключение. В однопроцессорных системах это достигается определением верхнего приоритета для каждого защищенного объекта, который равен максимальному количеству потоков, использующих его. Когда поток обращается к защищенному объекту, он начинает работать с верхним приоритетом и, следовательно, получает исключительный доступ к данным, хранимым в защищенном объекте. Защищенные объекты подобны перехватчикам, в которых вызывающий может быть заблокирован, если условия не позволяют ему продолжить. Это используется для задержки единичных объектов, пока не произойдет освобождающее событие. Последним важным типом объектов является пассивный. Он используется для объекта, который или используется только одним объектом, или может использоваться совместно без ошибок.
Все четыре вышеуказанных типа объектов приемлемы как конечные объекты в жестких системах реального времени. Однако возможно, что система реального времени имеет подсистему, которая не является системой реального времени. Объекты в таких подсистемах являются пассивными или активными. Активные типы объектов могут участвовать в разделении главной системы, но должны быть трансформированы в один из вышеуказанных типов до достижения конечного уровня.
С помощью этих типов конечных объектов могут поддерживаться стандартные конструкции, используемые в жестких системах реального времени:
· Периодические действия - представляется циклическими объектами.
· Единичные действия - представляется единичными объектами.
· Действия, обусловленные приоритетом - влекут серии вычислений на конечных объектах. Вероятно появление в проектах, которые должны отражать транзакционные сроки.
Процесс планирования логической архитектуры может начаться с разработки активных и пассивных объектов. Процесс разделения приведет к разработке конечных объектов соответствующего характера. Например, требуемая циклическая транзакция от входа к выходу может быть сначала представлена как единичный активный объект, но потом может быть реализована как циклический объект с последующими сериями единичных объектов, связанных защищенными объектами.