Архитектура ОС второго уровня
Версия 0.0.2.5
Вначале немного общих фраз:
из версии 0.0.2.3;
из версии 0.0.1.2.
ОС-2 – это разрабатываемая среда взаимодействия систем/подсистем/приложений, которая позволит:
- Избавиться от ошибок и сбоев, связанных с неправильным взаимодействием систем/подсистем/приложений;
- Повысить управляемость систем/подсистем/приложений;
- Позволить разработать новую технологию сборки пакетов из исходников, при которой можно выбирать ветку развития приложения;
- Повысить скорость разработки приложений, (1) за счет повышения управляемости исходных кодов; (2) за счет повышения информативности имеющейся документации;
- Повысить качество работы приложений, за счет системы динамических связей;
- Повысить скорость работы приложений, за счет сохранения (индексирования) описания состава системы (установив необходимую динамическую связь);
- Позволить разработать технологию для интерфейсо-независимых приложений (используя систему динамических связей).
Тезисы по разработке ОС-2
- Совместимость с Сизифом по src.rpm;
- Необходим софт для закачки src пакетов (с зависимостями) из сизифа;
- Сборка пакетов с помощью rpm + обработка необходимых мета-данных о свойствах пакета и свойствах накладываемых патчей (по которым можно определить тип патча: исправление багов, новая функциональность (с таким-то названием), совместимость с такой-то системой и др., уровень надежности патча, идентификатор (nick) разработчика патча, программа применения патча (patch));
- Характеристики менеджера пакетов:
- Возможность замены статической сборки программы с библиотеками на динамическую, при выполнении условий на мета-данные;
- Компоновка программ (с зависимостями) в архивный или самораспаковывающийся файл;
- Применение системы мета-данных для пакетов: <идентификатор пакета: имя пакеты, обозначение ветки>, <сборка: идентификаторы патчей, версия, другая информация>;
- Новая версия пакета не уменьшает кол-ва поставляемых ресурсов (и не изменяет их структуру), иначе должно измениться <обозначение ветки>. Таким образом, все новые версии пакетов будут совместимы со старыми.
- Внутренние скрипты (в системе с ошибкоустойчивостью) и структурированными характеристическими сообщениями (которыми может пользоваться другая система);
- Типы и структура значений мета-данных:
- Фактографический элемент (то есть допустимый идентификатор из словаря). Таким образом можно избегать ошибок, неоднозначности и неточности;
- Элемент множества с определенным отношением на этом множестве. Таким образом можно легко строить последовательность и дерево версий (поскольку легко задавать новые пространства имен и их трактовку);
- Ссылка (на значение или другую ссылку).
- Хранилище мета-данных: словарь фактографических идентификаторов, система ссылок, система множеств с системами отношений.
- Характеристика и основные элементы среды ОС-2:
- Фактографическая справочная система по основным so библиотекам (+ система контроля полноты). (Есть ли в Doc Book? такая функциональность?);
- Высоко-производительный браузер справочной системы;
- Скриптовый язык – clisp;
- Единое хранилище метаданных (с системой динамических изменений);
- Среда для интерфейсонезависимых приложений;
- Динамические связи между объектами;
- Структурированный ввод и вывод.
- Направления:
- Система XML-based метаданных (метаданные + система обработки);
- Технология сборки пакетов из src с использованием метаданных;
- Структурированный ввод-вывод XML-based;
- Среда для динамических связей;
- Совместимость с Сизифом.
- ОС-2 целесообразно разрабатывать интегрированной с проектом KDE.
Вопросы --> siver_at_sirius.ihep.su