4.1.2 Список используемых ip-компонентов пользовательского интерфейса

Для разработки данной интеллектуальной справочной системы были использованы следующие ip-компоненты:

Окна scs-интерфейса

диалоговые scs-окна

Окно раздела справочной информации SRS

это srs-окно,

класс sheet

класс shell

атомарные системные интерфейсные команды:

main_menu

update_menu

reduce_menu

load_folder

load_scg

save_scg

build_srs

erase_set

open_gwf

change_colour

reduction

increase

select_all

modify_scg_el_content

modify_scg_el_type

modify_scg_el_name

erase_scg_countur

erase_scg_el

paste

copy

gen_srswindow

child_command

 

4.2 Проектирование интерфейсных подсистем

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

База знаний пользовательского интерфейса интеллектуальной справочной системы по МП включает в себя ключевые узлы интерфейсных команд (файл em_keynode), описание обработчиков интерфейсных команд(event.scsy), дерево событий(event.scsy).

Машина обработка знаний пользовательского интерфейса включает в себя следующие классы интерфейсных операций:

• рецепторные операции(пользователь-память)

• системные эффекторные операции(память-память)

• пользовательские эффекторные операции (память-пользователь)

Примером рецепторной операции является функция обработки нажатия кнопки, она осуществляет генерацию множества выходных параметров:

void pluginView::OnBnClickedButton2()

{

CComboBox *combo = new CComboBox();

combo = (CComboBox*)GetDlgItem(IDC_COMBO1);

CString str;

int index = combo->GetCurSel();

combo->GetLBText(index, str);

m_pSheet->sendMyEv("323322222222222221", str);//получить композиции с таким рейтингом

}

Примером системных эффекторных операций является операция ui_io_exec_command, которая генерирует результирующую sc-конструкцию интерфейсной операции для последующей её обработки:

///////////////////////////////////////////////////////////////////////////////

//

//

#include "scp_keynodes.scsy"

#include "../seb/planimetry.scsy"

#include "im_keynodes.scsy"

procedure(exec_command,

[[

"main window"= "/etc/im_keynode/main window";

ch_comm = "/etc/im_keynode/child_command";

$errors_found = /"Неверно заданы аргументы."/;

 sheet_type = "/proc/agents/shell/keynode/SCgSheet";

layout =c= /"logical"/;

p_sheet_title =c= /"Результаты верификации"/;

1_, 2_;

]],

[{

notfound,main_wnd,show_set,comm,p2,s,cmd,

arc,a,arc2,

resultall,

 command,

 segment,scg_el,wnd,sheet,set_scg_el

}],

{[

 1_: in_: set_scg_el,

 2_: in_: sheet,

 3_: in_: cmd

]}

)

genEl([

 1_: assign_: node_:const_:resultall

 ])

searchElStr3([1_: fixed_: "main window",

 2_: assign_: a,

 3_: assign_: main_wnd],,notfound)

sys_get_location([1_: fixed_: main_wnd, 2_: assign_: segment])

sys_set_default_segment([1_: fixed_: segment])

genEl([

 1_: assign_: node_:const_:command

 ])

genElStr3([

 1_: fixed_: ch_comm,

 2_: assign_: arc_:const_: pos_: arc,

 3_: fixed_: command

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_:const_: pos_: a,

 3_: fixed_: ch_comm

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_:const_: pos_: a,

 3_: fixed_: command

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_:const_: pos_: a,

 3_: fixed_: arc

 ])

///////////////////////////////////////////////

// создание параметров команды

//

// первый параметр

genElStr5([1_: fixed_: command,

 2_: assign_: const_: actual_: pos_: temporary_: arc,

 3_: fixed_: sheet,

 4_: assign_: const_: actual_: pos_: temporary_: arc2,

 5_: fixed_: 1_

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_:const_: pos_: a,

 3_: fixed_: sheet

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_:const_: pos_: a,

 3_: fixed_: 1_

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_:const_: pos_: a,

 3_: fixed_: arc

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_:const_: pos_: a,

 3_: fixed_: arc2

 ])

// генерация узла связки второго параметра команды

genElStr5([1_: fixed_: command,

 2_: assign_: const_: actual_: pos_: temporary_: arc,

 3_: assign_: const_: node_: p2,

 4_: assign_: const_: actual_: pos_: temporary_: arc2,

 5_: fixed_: 2_

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_: const_: pos_: a,

 3_: fixed_: p2

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_: const_: pos_: a,

 3_: fixed_: 2_

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_: const_: pos_: a,

 3_: fixed_: arc

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_: const_: pos_: a,

 3_: fixed_: arc2

 ])

// генерация второго параметра

genElStr5([1_: fixed_: p2,

 2_: assign_: const_: actual_: pos_: temporary_: arc,

 3_: assign_: const_: node_: s,

 4_: assign_: const_: actual_: pos_: temporary_: arc2,

 5_: fixed_: 1_

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_: const_: pos_: a,

 3_: fixed_: s

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_: const_: pos_: a,

 3_: fixed_: arc

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_: const_: pos_: a,

 3_: fixed_: arc2

 ])

// формируем дочернюю команду

genElStr5([1_: fixed_: cmd,

 2_: assign_: const_: actual_: pos_: temporary_: arc,

 3_: assign_: const_: node_: comm,

 4_: assign_: const_: actual_: pos_: temporary_: arc2,

 5_: fixed_: s

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_: const_: pos_: a,

 3_: fixed_: comm

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_: const_: pos_: a,

 3_: fixed_: arc

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_: const_: pos_: a,

 3_: fixed_: arc2

 ])

genElStr3([

 1_: fixed_: s,

 2_: assign_: arc_: const_: pos_: arc,

 3_: fixed_: comm

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_: const_: pos_: a,

 3_: fixed_: arc

 ])

genElStr3([

 1_: fixed_: s,

 2_: assign_: arc_: const_: pos_: arc,

 3_: fixed_: cmd

 ])

genElStr3([

 1_: fixed_: resultall,

 2_: assign_: arc_: const_: pos_: a,

 3_: fixed_: arc

 ])

 

varAssign([1_:assign_:wnd,2_:fixed_:main_wnd],ok_msg,ok_msg)

// если произошла ошибочная ситуация

label(err_msg)

genElStr3([1_: fixed_:resultall,

 2_: assign_: const_: temporary_: actual_: pos_: a,

 3_: fixed_: $errors_found])

ui_sheet_create([ 1_: assign_: const_: node_: wnd,

 2_: fixed_: sheet_type,

 3_: fixed_: p_sheet_title,

 4_: fixed_: layout])

printEl([1_: resultall])

// вывод результата

label(ok_msg)

ui_send([1_: fixed_: wnd, 2_: fixed_: resultall])

eraseEl([1_:fixed_: f_: resultall])

return()

end

Примером пользовательской эффекторной операции (память-пользователь) является функция setAlbumList, которая обрабатывает ключевой узел интерфейсной команды для отображения идентификаторов выходных параметров в элемент управления:

void pluginSheet::setAlbumList(sc_addr addr)

{

CArray<sc_string, sc_string&> albumList;

albumList.FreeExtra();

Shell* shell = Shell::getInstance();

sc_session* s = shell->getSession();

sc_iterator* it = s->create_iterator(sc_constraint_new(CONSTR_3_f_a_a, addr, 0, 0),true);

for(; !it->is_over(); it->next())

{

sc_addr album_addr = it->value(2);

sc_string str = s->get_idtf(album_addr);

albumList.Add(str);

}

m_pView->UpdateListBox2(albumList);

}


4.3 Верификация и отладка пользовательского интерфейса

Для реализации и тестирования базы данных использовался SRS Studio. Для написания кода операций использовал Notepad++, интерфейс реализован по средствам библиотек MFC на языке программирования С++, верификация и тестирование с помощью SRS Studio, Microsoft Visual Studio .NET 2003 и лога pm в командной строке.

 


Информация о работе «Разработки интеллектуальной справочной системы по музыкальным произведениям»
Раздел: Информатика, программирование
Количество знаков с пробелами: 96599
Количество таблиц: 0
Количество изображений: 12

Похожие работы

Скачать
127954
0
0

... учащихся в музыкальной деятельности будет посвящен следующий раздел нашего исследования. Глава II. Теоретические и практические аспекты педагогических условий самореализации учащихся в музыкальной деятельности II.1 Педагогические условия самореализации учащихся в музыкальной деятельности Принимая во внимание факт значимости роли самого субъекта в протекании процессов "само" считаем ...

Скачать
274131
6
3

... : регуляции внимания, динамической организации движения, моторной активности, общего эмоционального фона организации деятельности и т.д. 3. Разработка МОДЕЛИ вариативной системы дошкольного образования в условиях города   3.1 Эффективность типа дошкольных образовательных учреждений Современное общество предъявляет новые требования к системе образования подрастающего поколения и, в том ...

Скачать
121084
0
0

... ". Принятый вскоре Закон РСФСР "О собственности в РСФСР" от 24 декабря 1990 г.4 наряду с повторением в п. 4 ст. 1, в сущности, той же мысли, в ч. 2 п. 4 ст. 2 дополнительно разъяснял, что "объектами интеллектуальной собственности являются произведения науки, литературы, искусства и других видов творческой деятельности в сфере производства, в том числе открытия, изобретения, рационализаторские ...

Скачать
61227
9
2

... : 05.01.06 г. – 15.01.06 г. - 22 - 1.2. Результаты оценки Ниже представлены результаты расчета рыночной стоимости оцениваемых объектов, полученные с применением двух основных методов оценки интеллектуальной собственности: по методу учета чистого дохода. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8300 долл. по методу освобождения от роялти. . . . . . . . . . . . . . . ...

0 комментариев


Наверх