четверг, июля 13, 2006

C3 - Процесс Конфигурации

Given: User, Device
Notes. Девайс присутствует как "Описание Девайса", которое состоит из следующих частей: описание свойств (глобальные параметры), описание возможностей девайса (протоколы и их свойста), описание файловой системы. С3 играет здесь такуюже роль как и XSL в XML: пользовательский ввод есть XML, С3 есть XSL конвертирующий этот ввод в конфигурацию устройства. XSL С3 естественно параметризируется при помощи профиля устройства который так же можно рассматривать как XML с параметрами что есть допустимо в вводе пользователя. Так же профиль устройства можно рассматривать как описание языка конфигурации устройства: С3 транслирует пользовательский ввод (с языка близкого пользователю) в язык интерпретируемый устройством.

Для простоты описание используется XML & XSL - но более как пример, нежели чем конкретное требование или рекомендация. Взаимоотношение XML и XSL достаточно полно описаны в соответствующих стандартах.

Task1: Configuration
Input: User Input, Device Profile
Output: Device Conf Def
Notes: Формализация ввода пользователя. С3 создает XML содержащий описание ввода пользователя на языке устройства.
Если устройство описано как список свойств устройства и их допустимых (и рекомендуемых) значений (другими словами декартово множество возможных конфигураций) то ввод пользователя есть под-список свойств устройства пользователь желает изменить значение. Для всех свойств опущеных пользователем по умолчанию берутся их рекомендуемые значения.

Task2: Compilation
Input: Device Profile, Device Conf Def
Output: Device Conf
Notes: Проверка ввода пользователя. С3 конвертирует ввод пользователя в XML конфигурацию. Данный шаг необходим для упрощения создания вложеных конфигураций: случай когда одно устройство должно знать информацию о конфигурации другого устройства.
На данном шаге из списка свойств создаются конкретные части конфигурации для различных состовляющих модулей системы (COM + protocols, CPU + user task + etc).

Task3: Translation
Input: Device Conf
Output: Device Conf Bin
Notes: С3 конвертирует XML конфигурацию в двоичное представление. Это трансляция: существует биекция между вводом и выводом этого шага. Важно: данный шаг не зависит от устройства. Все зависимости должны быть обработаны на предыдущем шаге.

Task4: mkfs
Input: Device Conf Bin, Device Profile
Output: Configuration FS Image
Notes: С3 упаковывает двоичную конфигурацию в формат пригодный для записи в устройство.

Итого: FS Image без всяких там *КОНЦЕПЦИЙ*.