My favorites | Sign in
Project Home Wiki Issues Source
READ-ONLY: This project has been archived. For more information see this post.
Search
for
ru_concept  
Общая концепция
conception
Updated Jan 22, 2012 by sht....@gmail.com

Введение

Этот раздел содержит основные положения, описывающие и поясняющие дизайн системы, принятые соглашения и проектные решения.

Концепции

Плагины

Плагин - это динамическая библиотека.

Плагины используются для расширения функциональности, не связанной непосредственно с процессом обработки данных. Например, плагинами могут реализовываться элементы пользовательского интерфейса, расширения функциональности, модули и т.д.

Плагины загружаются при старте ПО. Перечень плагинов определятся на основе перечня файлов в директории для плагинов. При загрузке ПО стартует загрузка плагинов, для каждой библиотеки из перечня производится проверка на соответствие интерфейсу плагинов. Плагином объявляется библиотека имеющий соответствующий интерфейс.

Для инициализации плагинов используется двухэтапная схема: на первом этапе создаются и инициализируются управляющие структуры данных плагина; на втором этапе плагин запускается на исполнение. Каждый из этапов выполняется отдельно, то есть сначала все плагины инициализируются, а затем происходит запуск плагина.

Модули

Для управления обработкой данных используются схемы обработки. Эти схемы состоят из из элементарных блоков обработки. Элементарные блоки обработки представляют обособленные этапы обработки данных, например - чтение текста, разбиение текста на токены, морфологический анализ токенов, выделение предложений и т.д.

В составе схемы обработки элементарные блоки обработки обмениваются данными, для чего используются специализированные интерфейсы. Однако далеко не все элементарные блоки нужны на всех этапах обработки данных. Кроме того, усложняется проверка совпадения интерфейсов взаимодействия на этапе составления схемы.

С целью упрощения написания инфраструктуры и построения схем, общая схема обработки разбивается на логические завершённые подсхемы - модули. Таким образом, модули предназначены для локализации схем обработки данных.

Для общения модулей между собой определяются специальные интерфейсы. Каждый модуль - это плагин.

Powered by Google Project Hosting