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-21 11:50:56..

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::WidgetAbstract object of the widget.Is inherited by the objects of library widget(VCA::LWidget), of the container widget(VCA::CWidget), of the frame's of the project(VCA::Win) and by the objects of the execution session of the project(VCA::SessWin,VCA::SessWdg). The widget-container contains the function associated with the implementation of the user programming language. Uses the object OpenSCADA API TSecurity for managing the access rights. Uses events from an event's manager. Contact the theme's managers in order to obtain the immediate values of the fonts, colors in accordance with the current theme.
VCA::LWidgetObject of the library widget/frame.It is stored in the library (VCA::WidgetLib). It can contain the embedded widgets, represented by the objects of the container widgets (VCA::CWidget).
VCA::CWidgetThe object of the container widget of the library widget/frame (VCA::LWidget). In fact, it serves as link to the library widget.It is stored in the library frame/widget (VCA::LWidget).
VCA::ProjectThe object of the project of the user interface. It contains windows (VCA::Win) with the hierarchical name.It is stored in the container of the object of concept (VCA::Engine). Contains the objects of windows (VCA::Win) of the project.
VCA::PageThe Object of the VC interface page. It is closely related to the frame from the library of widgets, the frame itself has the elements of the interface. The object of the window itself, in addition to the frame, allows the links to the dynamics and provides the mechanism for the dynamics interleaving of the frame on the pages, with the possibility of forming the template of the dynamics.Содержится в контейнере проекта. Наследуется от абстрактного виджета (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]