Блок управления, получив сообщение 4:locator(X,Y) или 3:pick(pid), применяет к нему текущее выражение поведения и формирует новое, выполнив функцию next, определенную в параграфе 2.2. Затем вызовом функции menue вычисляется меню нового процесса. После этого возможны два варианта в работе блока управления.
Если в полученном меню встречается событие - прикладная команда, то эта команда в виде сообщения 5:fc_call(args) передается адаптеру функционального ядра. После этого блок управления может получить семантическую обратную связь в виде сообщения 6:fc_os(args) и обработать его аналогично сообщениям 4:locator(X,Y) и 3:pick(pid).
Рисунок 2 - Диаграмма кооперации объектов интерактора
Если в меню нет событий - сообщений функциональному ядру, то каждому событию из меню ставится в соответствие его визуальное представление с возможными вариантами локального поведения. Для этого объектному представлению передается сообщение 7:context(args), набор аргументов args которого определяет состояния подчиненных интеракторов, их геометрические соотношения и чувствительность к указыванию. В процессе установки этих состояний - контекста объектное представление может передавать запросы адаптеру функционального ядра в виде сообщения 8:query и получать графические данные из сообщения 9:gr_data. При изменении контекста интеракторов происходит и изменение их изображения на экране (сообщения 10:displ).
Заключение
Использование предлагаемой структуры ГПИ дает следующие преимущества.
Упрощается метод построения ГПИ, основанного на метафоре модели мира.
Появляется возможность разработки формальных спецификаций ГПИ.
На основе разработанных спецификаций можно реализовать ГПИ средствами декларативного программирования: функционального или логического.
Литература
1. Гоpдиенко А.П. Онтологическая модель визуального пользовательского интерфейса// Человеческий фактор в правоохранительных системах.- Орел: Высшая школа МВД РФ, 1996. С. 302-303.
2. Bass L., Coutaz J., Unger C. A reference model for interactive system construction.// EWHCI'92. - 1992. - , St. Petersburg, P. 23-30.
3. Krasner G.E., Pope S.T. A Cookbook For Using the Model-View-Controller User Interface Paradigm in The Smalltalk-80 System, Journal of Object Oriented Programming. - 1988, Vol.1, P. 26-49.
4. Coutaz J. PAC, an Object Oriented Model for Dialog Design. //INTERACT'87 Conference Proceedings. Elsevier (North-Holland).- 1987.- P. 431-436.
5. Гордиенко А.П. Модели графического пользовательского интерфейса // Вестник МЭИ.- 2003.- N 2.- С. 83-90.
6. Faconti G.P. Towards the Concept of Interactor/ AMODEUS project report. Esprit Basic Research 7040. Amodeus Project Document, system modelling/WP8. 1993.
7. Duke D.J., Harrison M.D. Abstract Interaction Objects // Computer Graphics Forum. 1993.- Vol. 12.- N 3.- P. 26-36.
8. Sufrin B., He J. Specification analysis and refinement of interactive processes // Formal Methods in Human Computer Interaction, Cambridge University Press, 1990.- P. 153-200.
9. Рамбо Дж., Якобсон А., Буч Г. UML: специальный справочник.- СПб.: Питер, 2002.- 656 С.
10. Хоар Ч. Взаимодействующие последовательные процессы.- М: Мир, 1989.- 264 c.
11. Markopoulos P., Johnson P., Rowson J. Formal architectural abstractions for interactive software // Journal of Human Computer Studies. 1998.- Vol. 49.- N 5.- P. 675-715.
12. Carlsson M., Hallgren T. Fudgets - A Graphical User Interface in a Lazy Functional Language // FPCA '93 - Conference on Functional Programming Languages and Computer Architecture. ACM Press, 1993.- P. 321-330.