OpenSCADAWiki: Home Page En/Doc/VC Aconcept/part4/part11 ...

Home | Index | Changes | Comments | Users | Registration | Login  Password:  
 
This is an old revision of HomePageEn/Doc/VCAconcept/part4/part11 from 2010-04-20 16:46:54..

4.10 Architecture

Based on the foregoing, architectural considerations let's form the static class diagram of the VCA, given the separation of the conceptual part (engine) and the part of self-realization of the VCA (Figure 4.10.1). Table 4.10 describes the classes of the class diagram.


 (77 Kb)
Fig.4.10.1 Static class diagram.

Table 4.10. VCA classes

ClassResponsibilityLinks
TSecurityProvides the information about the users, and also implements their authentication in the OpenSCADA system.It is used by the widgets and frames of the VCA to verify the access rights.
TFunctionIs used to access the mechanism of user programming when describing the logic of derived widgets, as well as to include the API functions of the object model into the derived widgets.Keeps the structure if parameters with the logic in the derived widgets. Passed to the module, which provides the user programming language implementation in order to connect the mechanism of processing the program's logic.
TUIThe root object of the module of subsystem "User interfaces" which is used for integration into the kernel of the OpenSCADA system.Is inherited by the root objects of the module of the VCA concept and by modules of implementation of the VCA interface.
VCA::EngineThe root object of the module of the VCA concept/engine. It contains the containers of objects of the engine, as well as general methods and data.It is used by the visualization interfaces to access the data of the projects' sessions and concepts in general. Integrates the concepts' f code of the VCA in the OpenSCADA system.
VCA::WidgetLibObject of the library of widgets/frames, contains the objects of library widgets (VCA::LWidget). The library of widgets structure can be freely formed by the user.Contains the objects of library widgets (VCA::LWidget).
VCA::WidgetАбстрактный объект виджета.Наследуется объектами: библиотечного виджета (VCA::LWidget), контейнерного виджета (VCA::CWidget), кадра проекта (VCA::Win) и объектами сеанса исполнения проекта (VCA::SessWin, VCA::SessWdg). Виджет-контейнер содержит функцию связанную с реализацией языка пользовательского программирования. Использует объект OpenSCADA API TSecurity для управления правами доступа. Использует события из менеджера событий. Обращается к менеджеру тем для получения непосредственных значений цветов шрифтов в соответствии с текущей темой.
VCA::LWidgetОбъект библиотечного виджета/кадра.Хранится в библиотеке (VCA::WidgetLib). Может содержать вложенные виджеты, в лице объектов контейнерных виджетов (VCA::CWidget).
VCA::CWidgetОбъект контейнерного виджета библиотечного виджета/кадра (VCA::LWidget). Фактически выполняет роль ссылки на библиотечный виджет.Содержится в библиотечном кадре/виджете (VCA::LWidget).
VCA::ProjectОбъект проекта пользовательского интерфейса. Содержит окна (VCA::Win) с иерархичным наименованием.Содержится в контейнере объекта концепции (VCA::Engine). Содержит объекты окон (VCA::Win) проекта.
VCA::PageОбъект страницы интерфейса ВУ. Тесно связан с кадром из библиотеки виджетов, собственно кадр и несёт в себе элементы интерфейса. Сам объект окна, в дополнении к кадру, разрешает ссылки на динамику и предоставляет механизм расслоения динамики кадра на страницы, с возможностью формирования шаблона динамики.Содержится в контейнере проекта. Наследуется от абстрактного виджета (VCA::Widget). Связывается с кадром интерфейса (VCA::LWidget) в библиотеке виджетов.
VCA::ThemeОбъект темы интерфейса визуализации. Содержит элементы темы (VCA::ThemeEl)Содержится в контейнере объекта концепции (VCA::ConcVCA). Хранит элементы темы (VCA::ThemeEl).
VCA::ThemeElОбъект элемента темы. Содержит ассоциацию имени элемента с кодом цвета и шрифта.Содержится в контейнере темы (VCA::Theme). Используется объектом виджета (VCA::Widget) для получения значений цвета и шрифта по имени элемента темы.
VCA::EventMapОбъект карты событий. Содержит объекты событий (VCA::Event).Содержится в контейнере объекта концепции (VCA::ConcVCA). Хранит описания событий (VCA::Event).
VCA::EventОбъект события, содержит ассоциацию имени объекта(события) с реальным событием.Содержится в контейнере карты событий (VCA::EventMap).
VCA::SessionОбъект сессии исполнения проекта визуализации. Открывается модулем интерфейса визуализации и использует, в дальнейшем, данные сессии для визуализации своим методом. Все вычисления интерфейсов визуализации выполяются именно в сессии.Содержится в проекте интерфейса визуализации. Содержит объекты окон сесии с данными исполнения. Используется модулями интерфейсов визуализации для отображения данных сессии.
VCA::SessPageОбъект страницы сессии. Содержит динамические данные окна проекта над которыми выполняет требуемые вычисления.Содержится в объекте сессии проекта (VCA::SessProj). Наследуется от абстрактного виджета (VCA::Widget). Использует объект страницы проекта (VCA::Page) как источник исходных параметров.
VCA::SessWdgОбъект виджета сессии. Содержит динамические данные отдельного элемента кадра над которыми выполняет требуемые вычисления. Может вкладываться один в другой в соответствии с иерархией виджетов кадра.Содержится в объекте окна сессии (VCA::SessPage) или в высшем по иерархии объекте этого типа. Наследуется от абстрактного виджета (VCA::Widget). Использует объект библиотечного (VCA::LWidget) и/или контейнерного (VCA::CWidget) виджета как источник исходных параметров. Используется модулем интерфейса визуализации в роли источника динамических данных для визуализации.
Vision, WebGUIКорневые объекты модуля интерфейса визуализации, построенные на основе библиотеки QT и Web-технологий. Предоставляют доступ к средствам исполнения и разработки интерфейсов визуализации в среде используемой технологии.Предоставляют доступ к среде исполнения и разработки. Интегрируют код интерфейса визуализации в систему OpenSCADA.
VRunTime, WebRunTimeОбъекты среды исполнения интерфейса визуализации на основе библиотеки QT и Web-технологий. Непосредственно предоставляют пользовательский интерфейс визуализации и управления.Содержаться в корневых объектах модулей визуализации. Подключаются и используют данные объекта сеанса проекта (VCA::SesProj) концепции СВУ. В соответствии со структурой сеанса содержат множество специализированных объектов непосредственного отображения.
VDevelop, WebDevelopОбъекты среды разработки интерфейса визуализации на основе библиотеки QT и Web-технологий. Предоставляют интерфейс инструмента над данными концепции для разработки интерфейсов ВУ.Содержаться в корневых объектах модулей визуализации. Подключаются к объекту корня концепции СВУ (VCA::Engine) и предоставляют графический интерфейс для управления ею. В соответствии со структурой концепции содержат множество специализированных объектов управления.

Статическая диаграмма классов (рис.4.10.1) не раскрывает всей иерархии взаимодействия объектов, основанных на абстрактном объекте VCA::Widget. Это связано с неявным наследованием данных свойств виджетов через все слои движка, а также тонкостями наследования, выстроенного путём использования данных одних виджетов в других. Для разъяснения этих особенностей изобразим исчерпывающую карту "использующего" наследования на рис 4.10.2.


file:map_inher.png
Рис.4.10.2 Карта "использующего" наследования компонентов концепции/движка

 
There are no files on this page.[Display files/form]
There is no comment on this page. [Display comments/form]