Пространственно-временные отношения физических объектов. Создание программного модуля
Анализ логики времени в пространстве в естественном языке Методики описания пространственно-временных отношений. Расширение объектно-атрибутной грамматики для работы с пространственными отношениями. Разработка программного модуля анализа отношений.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 01.07.2017 |
Размер файла | 1,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
2. Локация (Рис.5)
{ОSet={..} LType=Location{...}}
Рис.5. "Конфайн "локация"
Где "OSet" означает упорядоченное множество.
3. Направление (Рис.6)
{ZeroPoint={..} LType=Direction{...} AxisPoint={..} Psi={90} Fi={-90}}
Рис.6. "Конфайн "направление"
Где "ZeroPoint" - начало координат, "AxisPoint" - промежуточная точка, а "Psi" и "Fi" отвечают за направление относительно плоскости и пространству соответственно.
4. Последовательность (Рис.7 и Рис.8)
{OSet={..} LType=Odering{...}} или
{IndSet={..} LType=Odering{...}}
Рис.7. "Конфайн "последовательность"
Рис.8. "Конфайн "последовательность"
5. Пространственно-временная последовательность (Рис.9)
{Set={..} LType=Distance{...}}
Рис.9. "Конфайн "пространственно-временная последовательность"
6. Осевая нить (Рис.10)
{LType={пространство/последовательность}}
Рис.10. "Конфайн "осевая нить"
8. Скорость (Рис.11)
{LType=Move Speed=скорость}
Рис.11. "Конфайн "скорость"
9. Цикличность (Рис.12)
{LType={пространство/время}}
Рис.12. "Конфайн "Цикличность"
Для примера можно ввести предлоги, которые будут описывать пространство, такие как: "под", "на", "около", "перед" и т.п. Допустим, что нам встречается последовательность слов 1 над 2, это означает, что необходимо произвести анализ предложения и преобразовать его в конфайн.
Помимо глаголов, источниками могут быть и абстрактные существительные, которые описывают состояние, также можно использовать признак или действие, например: "ненависть", "влажность", "создание" и т.п. Существительные таких типов создают не объекты, а состояния, связывающиеся со временем и/или пространством. Если данное существительное не имеет привязку к объекту, то вместо объекта или свойства стоит nul.
Для ясности описания пространственно-временных отношений с помощью конфайнов на рис. 13 приведена иллюстрация, описывающая фразу "Он увидел жирафа через клетку" и имеющая тип направления. ZeroPoint - это начало координат, там находится субъект действия, AxisPoint - это место, где расположена "клетка" (cell), Direction - направление, в данном случае Forward, т.е. вперед.
Рис.13. "Пример описания пространственно-временных отношений"
Семантическое описание фразы "Он увидел жирафа через клетку" показано на рис. 14. Здесь участвуют три объекта, а именно: "наблюдатель" (Person), "клетка" (cell) и "жираф" (giraffe);
На уровне описания объектов находятся три множества объектов, так как у нас три объекта, которые состоят из одного элемента. У каждого объекта имеется свое состоянии (Stage): "наблюдатель" находится в состоянии наблюдения, т.е. Look, а остальные два объекта в состоянии неизвестно, так как они просто существуют, поэтому в нагрузке ИП с атрибутом Stage, помещается нулевой указатель (nil).
На третьем уровне присутствует описание одного конфайна направления, который состоит из трех локативов, задающих места, где находятся объекты "наблюдатель", "клетка" и "жираф". В данном примере используется упорядоченное множество (атрибут OSet), т.к. здесь существенен порядок следования элементов.
Рис.14. "Пример 1 описания пространственно-временных отношений (ОА-граф)"
Следующий пример показан на рис.15, он описывает пространственно-временное отношение на простой фразе из естественного языка: "Он идет в университет". Здесь используется два вида конфайнов: пространственный и временной, так как перемещаясь, он передвигается во времени и в пространстве. Так как у нас не сказано, откуда он начал перемещаться и нет промежуточной точки (как в прошлом примере), мы не ставим "ZeroPoint" и "AxisPoint".
Рис. 15. "Пример 2 описание пространственно-временных отношений"
2.2 Расширение ОА-грамматики для работы с ПВ-отношениями
Расширение функциональности заключается, во-первых, в выделении новых типов ПВ-связей физических объектов (каждая связь задается с помощью множества объектов определенного типа); во-вторых, введение новых операций над множествами выделенных типов.
Выделенные типы множества необходимы для описания ОА-грамматики. Множества объектов являются частью описания конфайна (от англ. confine - ограничивать), который описывает ПВ-ограничения. Например, конфайн для отношения "в" (т.е. один объект находится внутри другого) включает в себя упорядоченное множество описаний двух объектов (второй объект находится внутри другого).
ОА-грамматика была следующим образом приспособлена для описания правил преобразования ПВ-отношений. Во-первых, в нотацию было введено обозначение типов множеств ИП, сгруппированных в ИК. Обозначение это помещается после имени ИК через знак ":" Если ИК неименована, тогда тип множества ИП указывается сразу после знака ":". Например, "temp:And{...}" или ":And{...}". Данные обозначения применяются в правой части правила преобразования, где задается поисковый шаблон. Если обозначения множества в нотации нет, тогда применяется тип множества по умолчанию Set (неупорядоченное множество).
Разработка правил преобразования ПВ-отношений с помощью ОА-грамматики логика пространство атрибутный грамматика
Благодаря гибкости вычислительного процесса в ОА-подходе, система может наделить себя полноценным интеллектом, она может описывать и распознавать неизвестные для себя объекты и самостоятельно изменить системные правила синтеза информационных конструкций. Если система встретит фразу из естественного языка, которая не подойдет не к одному конфайну, то она самостоятельно выделить новые типы.
Для того, чтобы система самостоятельно смогла выделять новые типы конфайнов, была создана ОА-грамматика. Она представляет из себя граф-трансформирующую систему, которая обрабатывает ОА-граф. Полное описание данной системы указана в основной части "ОА-грамматика".
Главными свойствами ОА-грамматики является алфавит атрибутов, алфавит нагрузок ИП, первоначальный ОА-граф и правила преобразования ОА-графа. Правило преобразования состоит из двух частей, левая и правая, которые разделены знаком ">". В левой части помещен шаблон ОА-графа, а в правой - ОА-граф, на который потом заменяется шаблон.
Ниже показаны примеры ее работы.
В случае, если в поисковом запросе присутствует конфайн, состоящий из трех локативов, например "1, 2 и 3", то его необходимо склеить в один конфайн, иначе мы не сможем его найти. Для этого будет использоваться следующее правило преобразования:
{Confine = {OSet = T1 {L tmp}}} ~ {Confine = {OSet = T2{F tmp}}} >+ {Confine = {OSet = T1*'T2}}}
Где tmp - это указатель на последний локатив первого конфайна и при этом на первый локатив второго конфайна,
Т1, Т2 - указатели на ИК вместе с списком указателей локативов первого и второго исходных конфайнов.
После того, как правая часть будет выполнена, удаляется первый элемент второго списка локативов, чтобы в дальнейшем избежать дублирование локативов. Далее после преобразования мы сможем искать конфайн из трех локативов, а не только из двух. После из ОА-графа будет удален найденный подграф.
Допустим у нас есть фраза "куст растет на поляне, а поляна находится около леса". В данной фразе используются разные топологические конфайны типов "на" и "около". Человек интуитивно понимает, что в данном случае получается, что "куст" также находится рядом с лесом, а в системе по следующему правилу преобразования:
{LType=Above contact=true Set={Elem={Place=поляна} Elem={Place=куст}} }~
{LType=Distance DistanceRelative=near contact=true Set={Elem={Place=поляна} Elem={Place=лес}}}>+
{LType=Distance DistanceRelative=near contact=true Set={ Elem={Place=поляна} Elem={Place=куст} Elem={Place=лес}}}
Также следует отметить, что знак "~" обозначает, что ИК не связаны между собой и поэтому они могут находиться в любой части ОА-графа, а знак ">+" означает, что новая информационная конструкция добавляется в ОА-граф, а найденный подграф в БД не удаляется.
Следующий пример будет описывать фразу "куб стоит под шаром, куб стоит на полу". После преобразования фразы будет понятно, что на полу стоит куб, на кубе стоит шар, также можно сказать тоже самое в обратном порядке:
{LType=Under contact=true OSet={Elem={Place=куб} Elem={Place=шар}} }~
{LType=Above contact=true OSet={Elem={Place=куб} Elem={Place=пол}}}>+
{LType=Above contact=true ToFSet OSet={ Elem={Place=пол} Elem={Place=куб} Elem={Place=шар}}}
Где SetToFro означает, что последовательность может быть в двух направлениях.
Другой пример преобразования будет использовать фразу "он стоял на поляне, справа от него была река, а слева лес".
{LType=Direction ZeroPoint={Elem={Place=поляна}} OSet={Elem={Place=река} {Fi = -90}}~
{LType=Direction ZeroPoint={Elem={Place=поляна}} OSet={ Elem={Place=лес} {Fi = 90}}}
Следующий пример с фразой "в комнате стояла коробка, в коробке мяч"
{LType=In contact=true OSet={Elem={Place=комната} Elem={Place=коробка}} }~
{LType=In contact=true OSet={Elem={Place=коробка} Elem={Place=мяч}}}>+
{LType=In contact=true ToFSet OSet={Elem={Place=комната} Elem={Place=коробка} Elem={Place=мяч}}}
Следующий пример с причинно-следственной связью. Предположим, что у нас есть два явления: первое явление примем за X, второе будет Y, и они появляются последовательно по времени.
{LType=Cause OSet={Elem={Time=X} Elem={Time=Y}}}>+
{LType=TimeSet OSet={Elem={Time=X} Elem={Time=Y}}}
Следующий пример со связью AND на фразе: "в доме живут брат и сестра"
tmp{Set={Elem={Class=брат} Elem={Class=сестра}} Atr={Set={Elem={Stage=живут Conf={Ltype=In OSet={Elem=Дом Elem=tmp}}}}}}
{LType=Set AND Set={Elem={Place=брат} Elem={Place=сестра}}}
Далее с помощью правил преобразуем фразу "Он шел из пункта А в пункт С через B"
{LType=In ZeroPoint={Elem={Place=пункт А}} OSet={Elem={Place=Пункт C}} Atr={Set={Elem={Stage=шел} Elem={Class=он}}}~
{LType=Across ZeroPoint={Elem={Place=пункт А}} OSet={Elem={Place=Пункт B}}Atr={Set={Elem={Stage=шел} Elem={Class=он}}}
2.3 Разработка программного модуля анализа ПВ-отношений
Реализация правил ОА-грамматики состоит из двух фаз: поиск подграфа и трансформация графа. Поэтому реализацию правила трансформации ОА-грамматика наиболее удобно реализовывать с помощью двух ФУ: ФУ поиска подграфа и трансформационного ФУ.
Реализация первой фазы (и, соответственно, ФУ поиска) в задачу исследования не входила, т.к. она достаточно сложна в реализации. Данная задача называется задачей поиска подграфа (subgrahp matching) [24], для которой до сих пор не разработан универсальный алгоритм ее решения. Поэтому в настоящей работе была реализована только вторая (трансформационная) часть правила преобразования ОА-грамматики.
Программы трансформации ОА-графа была реализована в среде объектно-атрибутивного программирования и моделирования. Среда является средством имитационного моделирования вычислительного процесса в ОА-системе. В ее состав входят специализированный язык программирования, который предоставляет возможность описания фрагментов семантической сети, а также пересылки ФУ-вам команд управления. Интерфейс среды ОА-программирования и моделирования представлен на рис. 16 .
Рис. 16. "ОА-система программирования и моделирования"
В состав ОА-среды входит ФУ типа "контроллер ОА-конструкций", которое специализируется на модификации ОА-графа. В качестве его входных данных данный ФУ получает выделенный фрагмент ОА-графа, который ФУ подвергает трансформации. В контекст (совокупность внутренних регистров) ФУ входят два регистра: указатель на текущую ИК (IcPointer) и указатель на текущую ИП (IpPointer). IcPointer указывает на ИК, которая подвергается модификации, а IpPointer - на ИП для модификации.
В распоряжении программиста имеется обширный набор МК трансформации:
ѕ CapsIcSet: Установить указатель капсулы и ИП;
ѕ IcPop: Выдать ссылку на текущую ИП;
ѕ IcPopMk: Выдать милликоманду со ссылкой на ИП;
ѕ DataPointerPop: Выдать ссылку на данные из ИП;
ѕ DataPointerPopMk: Выдать милликоманду со ссылкой на данные из ИП;
ѕ IcEmptyNewPop: Создать новую пустую ИП и выдать ее адрес в переменную, адрес которой находится в нагрузке МК;
ѕ IcEmptyNewPopMk: Создать новую ИП и выдать МК с указателем на нее;
ѕ IcNew: Создать новую непустую запись выдать ее адрес;
ѕ IcNewMk: Создать новую непустую ИП и выдать МК с ее адресом;
ѕ IcCopy: Создать копию ИП (указатель на ИП в нагрузке МК);
ѕ IcAttach: Конкатенация ИП к капсуле;
ѕ IcCopyAttach: Создать копию ИП и конкатенировать ее с текущей капсулой;
ѕ AtrSet: Поместить атрибут в ИП;
ѕ DataSet: Поместить данные в ИП;
ѕ PointSet: Поместить указатель в ИП;
ѕ IcDel: Удалить ИП (нагрузке МК указатель на ИП, если nil, то удаляется текущая ИП);
ѕ DataPopMk: Выдать милликоманду со значение Data ИП;
ѕ PointOut: Выдать указатель из нагрузки текущей ИП;
ѕ PointOutMk: Выдать МК с указателем из нагрузки текущей ИП;
ѕ PointPop: Выдать указатель из нагрузки текущей ИП и обнулить указатель в нагрузке;
ѕ PointPopMk: Выдать МК с указателем из нагрузки текущей ИП и обнулить указатель в нагрузке;
ѕ IcNewAttach: Создать новую непустую ИП, подцепить ее к текущей капсуле и выдать ссылку на ИП;
ѕ CapsNew: Создать новую капсулу;
ѕ CapsNewMk: Создать новую капсулу и выдать МК с указателем на нее;
ѕ CapsSet: Задать ссылку на ИК;
ѕ CapsIcSet: Установить указатель ИК и ИП;
ѕ CapsPop: Выдать ссылку на текущую капсулу;
ѕ CapsPopMk: Выдать МК со ссылкой на капсулу;
ѕ CapsCopy: Создать копию капсулы;
ѕ CapsCopy: Создать копию капсулы;
ѕ CapsAdd: Подцепить капсулу, указанную в нагрузке, к текущей капсуле;
ѕ CapsCopyAdd: Подцепить копию капсулы, указанной в нагрузке, к текущей капсуле;
ѕ CapsDel: Удалить текущую ИК;
ѕ AtrDelAtrDel: Удалить записи с заданным атрибутом из текущей капсулы;
ѕ CapsIns: Вставить капсулу после текущей ИП;
ѕ TreeCopy: Создать копию капсулы AtrData;
ѕ TreeCopyAdd: Подцепить копию ОА-графа к текущей капсуле;
ѕ TreeDel: Удалить текущую капсулу вместе с фрагментом ОА-графа.
ѕ AdrPointSet: Записать указатель по адресу (адрес и указатель передаются последовательно двумя МК);
ѕ AdrDataSet: Записать данные по адресу (адрес и указатель передаются последовательно двумя МК);
ѕ AdrAtrSet: Записать указатель по адресу (адрес и указатель передаются последовательно двумя МК);
Правила трансформации записываются с помощью ОА-языка программирования. Дадим пояснение насчет программы преобразования ОА-графа: Transf - имя ФУ-трансформатора.
{LType=Above contact=true OSet={Elem={Place=obj1} Elem={Place=obj2}} }~
{LType=Above contact=true OSet={Elem={Place=obj2} Elem={Place=obj3}}}>+
{LType=PlaceSet contact=true OSet={ Elem={Place=пол} Elem={Place=куб} Elem={Place=шар}}}
obj1{Class="ClCube"}
obj2{Class="ClSphere"}
obj3{Class="ClFloor"}
Conf1{LType=Above contact=true OSet={Elem=obj1} Elem=obj2}
Conf2{LType=Above contact=true OSet={Elem=obj2 Elem=obj3}}
Confine{Elem=Conf1! Elem=Conf2!}
Templ_1{LType=PlaceSet OSet={Elem=temp1(nil) Elem=temp2(nil) Elem=temp3(nil)}
Trans.AdrPointSet=temp1=obj1
Trans.AdrPointSet=temp2=obj2
Trans.AdrPointSet=temp3=obj3
Trans.Caps2Copy=Templ_1 // Копирование двух уровней ОА-графа
Trans.CapsPopMk=TreeViewer.Set // Вывод результирующего ОА-графа
2.4 Тестирование программного модуля анализа ПВ-отношений
В среде ОА-программирования и моделирования была реализована экспериментальная база знаний для анализа ПВ-отношений. Результаты работы базы знаний приведены ниже.
Первый пример работы показывается на фразе "Шар на кубе, куб на полу", из этого предложения следует, что шар находится над полом. Код данного примера находится в Приложении А. На рис. 17 слева приведен исходный ОА-граф, справа - полученный после модификации граф-трансформирующей системой.
Рис. 17. "Пример 1"
Второй пример разбирает предложение "В комнате шкаф, в шкафу коробка", из этого предложения следует, что коробка находится в комнате. Код данного примера находится в Приложении В. На рис. 18 в левой части рисунка приведен исходный ОА-граф, в правой - полученный ОА-граф после модификации граф-трансформирующей системой.
Рис. 18. "Пример 2"
Следующий пример работы показывается причинно-следственные явления с помощью предложения "Холод стал причиной конденсата, конденсат явился причиной появления воды". Код данного примера находится в Приложении С. На рис. 19 слева приведен исходный ОА-граф, справа - полученный после модификации граф-трансформирующей системой.
Рис. 19. "Пример 3"
Последний пример работы показывается на фразе "Человек смотрел на башню, слева от него была река, справа - дом", из этого предложения следует, что человек находился между рекой и домом. Код данного примера находится в Приложении D. На рис. 20 слева приведен исходный ОА-граф, справа - полученный после модификации граф-трансформирующей системой.
Рис. 20. "Пример 4"
Заключение
Результатом работы является созданный программный модуль, который анализирует пространственно-временные отношения между физическими объектами. Разработанный модуль работает по принципам ОА-подхода к вычислительному процессу. Также созданы правила трансформации ОА-графа на основе ОА-грамматики, предназначенные для вывода новой информации из уже имеющейся в семантической сети.
В ходе работы также были достигнуты следующие результаты:
1. Разработан формат представлений ПВ отношений;
2. Был произведен анализ слов, описывающий ПВ отношения и их классификация;
3. Выделены типы ПВ отношений;
4. Выделены типы множеств;
5. Создан формат представления данных (конфайны).
6. Созданы правила трансформаций;
7. Создан программный модуль для анализа ПВ отношений;
8. Произведено тестирование программного модуля.
Во время выполнения ВКР были приобретены навыки написания и публикации научной статьи, а так же выступление на конференции.
Также следует отметить новизну исследования: применение вычислительной системы с управлением потоком данных для обработки семантической сети. Результаты исследования смогут найти применения в различных областях, ввиду множества преимуществ, которые дают как ОА-грамматика, так и ОА-принцип организации вычислительного процесса: семантический информационный поиск, автоматический перевод, робототехника, системы виртуальной реальности и т.д.
Список используемой литературы
1. Салибекян С.М., Панфилов П.Б. Объектно-атрибутная архитектура - новый подход к созданию объектных систем. Информационные технологии. 2012. С. 8-14.
2. Салибекян С.М., Петрова С.Б. Объектно-атрибутная модель представления пространственно-временных отношений между объектами. Прикладная информатика. 2016. изд. Т. 11. № 3 (63). С. 103-115.
3. Stocker M., Sirin E., PelletSpatial: A hybrid RCC-8 and RDF/OWL reasoning and query engine. 2009.
4. Rozenberg, G. (ed.) "Handbook of Graph Grammars and Computing by Graph Transformations". Vol. 1: Foundations. World Scientific, Singapore. P. 1997 - 286.
5. В.С. Фомичев "Формальные языки, грамматики и автоматы". [Электронный ресурс]. -- Режим доступа: URL: http://www.proklondike.com/books/thproch/thproch_fomichev_formal_languages.html (дата обращения: 08.04.1017).
6. Кандрашина Е.Ю., Литвинцева Л.В., Поспелов Д.А. Представление знаний о времени и пространстве в интеллектуальных системах. Под ред. Д.А. Поспелова. - М.: Наука. Гл. ред. физ.-мат. лит. 1989. - С. 318.
7. Карпова И.П., Базы данных. Учебное пособие. - Московский государственный институт электроники и математики (Технический университет). - М., 2009. - С. 118.
8. Райордан Р. Основы реляционных баз данных. Пер, с англ. изд. М.: Издательско-торговый дом "Русская Редакция". 2001. -- C. 384.
9. Минский М. Фреймы для представления знаний. Пер. с англ.- М.: Энергия, 1979.
10. Филлмор Ч. Фреймы и семантика понимания. Новое в зарубежной лингвистике. 1988. Вып. XXIII. С. 52-90.
11. Хант Э. Искусственный интеллект. Пер. с англ. изд. М.: Мир, 1978.
12. Хабрахабр "Нейронные сети для начинающих. Часть 1". [Электронный ресурс]. -- Режим доступа: URL: https://habrahabr.ru/post/312450/ (дата обращения: 06.04.2017);
13. Галушкин А.И. Теория нейронных сетей. Кн. 1.: Учеб. пособие для ВУЗов // Общая ред. А.И. Галушкина. изд. М.: ИПРЖР, 2000.
14. Портал искусственного интеллекта "Основные недостатки использования искусственных нейронных сетей и пути их решения". [Электронный ресурс]. -- Режим доступа: URL: http://neuronus.com/theory/242-osnovnye-nedostatki-ispolzovaniya-iskusstvennykh-nejronnykh-setej-i-puti-ikh-resheniya.html (дата обращения: 08.04.2017).
15. Allen, James F. Maintaining knowledge about temporal intervals. Communications of the ACM 26(11) PP.832-843, Nov. 1983.
16. Zimmermann K. Measuring without measures - the ?-calculus. Graduiertenkolleg Kognitions-Wissenschaft, Universitдt Hamburg, Report 39, 1994.
17. D. Randell, Z. Cui, and A. Cohn. A spatial logic based on regions and connection. in Proc. KR. 1992.
18. Российские электронные библиотеки "Сферы применения стандартов XML". [Электронный ресурс]. -- Режим доступа: URL: http://www.elbib.ru/index.phtml?page=elbib/rus/methodology/xmlbase/review/part9 (дата обращения: 03.04.2017).
19. Хабрахабр "RDF for dummies". [Электронный ресурс]. -- Режим доступа: URL: https://habrahabr.ru/post/17946/ (дата обращения: 03.04.2017).
20. Хабрахабр "RDF Это просто". [Электронный ресурс]. -- Режим доступа: URL: https://habrahabr.ru/post/94707/ (дата обращения: 03.04.2017).
21. Хабрахабр "Создание семантических сайтов с помощью веб-компонентов и JSON-LD". [Электронный ресурс]. -- Режим доступа: URL: https://habrahabr.ru/post/253479/ (дата обращения: 04.04.2017).
22. Хабрахабр "Разработка > JSON-LD связываем наши данные". [Электронный ресурс]. -- Режим доступа: URL: https://habrahabr.ru/sandbox/78803/ (дата обращения: 04.04.2017).
23. Salibekyan S.M., Khal'kina S.B., Tinovitskiy K.D. The object-attribute approach for natural language processing. Object Systems - 2014: Proceedings of the Eighth International Theoretical and Practical Conference (Rostov-on-Don, 10-12 May, 2014) / Edited by Pavel P. Oleynik. Russia, Rostov-on-Don: SI (b) SRSPU (NPI), 2014. pp. 80-86. [Электронный ресурс]. -- Режим доступа: URL: http://objectsystems.ru/files/2012/Object_Systems_2014_Proceedings.pdf (дата обращения: 25.04.2017).
24. Харари Ф. Теория графов. изд. М.: Мир, 1973. изд. 3, М.: КомКнига, 2006. С. 296.
Приложение А
Программа анализы предложения "Шар на кубе, куб на полу"
NewFU={Mnemo="Trans" FUType=FUObjManager}
Trans.IndexVectCreate=2000
Class
LType
OSet
Elem
contact
Above#1
PlaceSet#2
obj1{Class="ClSphere"}
obj2{Class="ClCube"}
obj3{Class="ClFloor"}
Conf1{LType=Above contact=true OSet={Elem=obj1 Elem=obj2}}
Conf2{LType=Above contact=true OSet={Elem=obj2 Elem=obj3}}
Confine{Elem=Conf1! Elem=Conf2!}
//Trans.CapsOutMk=Confine
Templ_1{Elem={LType=PlaceSet OSet={Elem=temp1(nil) Elem=temp2(nil) Elem=temp3(nil)}}}
Trans.AdrPointSet=temp1=obj1
Trans.AdrPointSet=temp2=obj2
Trans.AdrPointSet=temp3=obj3
Trans.CapsSet=Confine
Trans.Caps3CopyAdd=Templ_1
Trans.CapsOutMk=TreeViewer.Set
Приложение Б
Программа анализы предложения "В комнате шкаф, в шкафу коробка"
NewFU={Mnemo="Trans" FUType=FUObjManager}
Trans.IndexVectCreate=2000
Class
LType
OSet
Elem
contact
Above#1
In#2
PlaceSet#2
Set
obj1{Class="ClRoom"}
obj2{Class="ClCupboard"}
obj3{Class="ClBox"}
Conf1{LType="In" OSet={Elem=obj1 Elem=obj2}}
Conf2{LType="In" OSet={Elem=obj2 Elem=obj3}}
Confine{Elem=Conf1! Elem=Conf2!}
Templ_1{Elem={Elem={LType="In" OSet={Elem=temp1(nil) Elem=temp3(nil)}}}}
Trans.AdrPointSet=temp1=obj1
Trans.AdrPointSet=temp3=obj3
Trans.CapsSet=Confine
Trans.Caps3CopyAdd=Templ_1
Trans.CapsOutMk=TreeViewer.Set
Приложение В
Программа анализы предложения "Холод стал причиной конденсата, конденсат явился причиной появления воды"
NewFU={Mnemo="Trans" FUType=FUObjManager}
Trans.IndexVectCreate=2000
Class
LType
OSet
Elem
contact
Above#1
PlaceSet#2
Cause
Effect
Stage
obj1{Stage="StCold"}
obj2{Stage="StCondensation"}
obj3{Stage="ClWater"}
// Холод причина конденсации, конденсация - причина появления воды
Conf1{LType="Cause" OSet=f1{Elem=obj1 Elem=obj2}}
Conf2{LType="Cause" OSet=tt{Elem=obj2 Elem=obj3}}
Confine{Elem=Conf1 Elem=Conf2}
Trans.CapsIcSet=tt
Trans.IcDel
Bus={Trans.CapsOut=temp Trans.CapsSet=f1 Trans.CapsAdd=temp(nil)! }
Trans.CapsSet=Conf1
Trans.CapsOutMk=TreeViewer.Set
Приложение Г
Программа анализы предложения "Человек смотрел на башню, слева от него была река, справа - дом"
NewFU={Mnemo="Trans" FUType=FUObjManager}
Trans.IndexVectCreate=2000
Class
LType
OSet
Elem
contact
Above#1
PlaceSet#2
Cause
Effect
ZeroPoint
AsixPoint
SetToFrom
ToFromSet
Set
Alpha
obj0{Class="ClHumen"}
obj1{Class="ClHouse"}
obj2{Class="ClRoad"}
obj3{Class="ClTower"}
Conf1{Set={Elem=obj2} LType="Direct" ZeroPoint=obj0 AsixPoint=obj1 Alpha=90}
Conf2{Set={Elem=obj3} LType="Direct" ZeroPoint=obj0 AsixPoint=obj1 Alpha=-90}
Confine{Elem=Conf1! Elem=Conf2!}
Templ_1{Elem={LType="Sequence" ToFromSet={Elem=temp1(nil) Elem=temp2(nil) Elem=temp3(nil)}}}
Trans.AdrPointSet=temp1=obj2
Trans.AdrPointSet=temp2=obj0
Trans.AdrPointSet=temp3=obj3
Trans.CapsSet=Confine
Trans.Caps3CopyAdd=Templ_1
Trans.CapsOutMk=TreeViewer.Set
Размещено на Allbest.ru
...Подобные документы
Структурная диаграмма программного модуля. Разработка схемы программного модуля и пользовательского интерфейса. Реализация программного модуля: код программы; описание использованных операторов и функций. Вид пользовательской формы с заполненной матрицей.
курсовая работа [215,3 K], добавлен 01.09.2010Создание программного модуля, выполненного на языке программирования VBA (Visual Basic for Applications) и позволяющего во введенном массиве символов удалить все повторные вхождения этих символов. Разработка пользовательского интерфейса. Код программы.
курсовая работа [317,4 K], добавлен 11.10.2012Методика разработки программного модуля для нахождения методом хорд корня уравнения x3-x-0,3=0 с точностью до 0,001 на языке программирования Visual Basic for Application. Схема программного модуля и описание процедуры обработки кнопки "Найти корни".
курсовая работа [394,0 K], добавлен 08.09.2010Структурная диаграмма программного модуля. Нахождение суммы элементов, находящихся над главной диагональю. Реализация программного модуля: код программы; описание использованных операторов и функций. Особенности тестирования программного модуля.
курсовая работа [146,6 K], добавлен 01.09.2010Реализация программного средства "Действия над матрицами". Разработка кода программного продукта на основе готовой спецификации на уровне модуля. Использование инструментальных средств на этапе отладки программного модуля. Выбор стратегии тестирования.
отчет по практике [296,1 K], добавлен 19.04.2015Сравнительный анализ технологий тестирования. Разработка программного модуля "Интеллектуальная обучающая система для широкого перечня курсов". Обоснование необходимости и важности этапа отладки в процессе разработки данного программного обеспечения.
дипломная работа [101,2 K], добавлен 17.06.2011Порядок работы менеджера турфирмы. Анализ рынка программных приложений для ведения туристического бизнеса. Выбор средств проектирования и разработки системы управления баз данных. Разработка, реализация и анализ работы программного модуля, его запуск.
дипломная работа [3,4 M], добавлен 19.07.2015Основные стадии разработки, принципы тестирования и отладка программного модуля "VFS". Особенности проектирования на языке UML. Методы "грубой силы" и их применение при отладке программы. Вредные факторы, присутствующие на рабочем месте программиста.
дипломная работа [827,0 K], добавлен 07.03.2012Основы метода Монте-Карло и его применение. Разработка и тестирование программного модуля для ПК BRAND, позволяющего строить двумерные и трехмерные изображения для сложных геометрических объектов для обеспечения контроля за качеством сборки конструкций.
дипломная работа [5,2 M], добавлен 10.10.2015Разработка и реализация программы расчета заданных функций на языке программирования VBA. Математическая модель, параметры и характеристики задачи, критерии оценки эффективности созданного модуля. Разработка алгоритма и тестирование программного модуля.
курсовая работа [488,7 K], добавлен 08.09.2010Моделирование предметной области. Состав программного модуля. Разработка логической структуры единой базы данных банковской информационной системы "БИС". Создание экранных форм для ввода и корректировки информации. Разработка интерфейса пользователя.
курсовая работа [1,8 M], добавлен 17.05.2016Проектирование программного модуля: сбор исходных материалов; описание входных и выходных данных; выбор программного обеспечения. Описание типов данных и реализация интерфейса программы. Тестирование программного модуля и разработка справочной системы.
курсовая работа [81,7 K], добавлен 18.08.2014Создание программного модуля для вычисления интеграла по формулам трапеции и Симпсона, определяя шаг интегрирования по оценке остаточного члена. Для разработки используется табличный процессор Excel и язык программирования Visual Basic for Application.
курсовая работа [159,7 K], добавлен 30.08.2010Функционально-модульная структура программного обеспечения контроллера домофона. Электронная схема электронного замка, модуля микрофона и динамика. Выбор комбинированного источника питания. Разработка программного модуля. Программа управления домофоном.
курсовая работа [484,7 K], добавлен 29.03.2017Анализ правил выбора хода на шахматной доске К. Шеннона. Характеристика программного модуля искусственного интеллекта для игры в шахматы. Контроль времени, поиск лучшего хода в шахматных алгоритмах. Разработка программы для игры с компьютерным оппонентом.
дипломная работа [3,7 M], добавлен 07.07.2012Постановка задачи для модуля 1С. Бухгалтерия 3.0. Анализ существующих разработок в области интегрирования данных. Информационное обеспечение модуля "Связь 1С Предприятия 8.2. с "Казначейством". Программное и технологическое обеспечение данного модуля.
курсовая работа [1,5 M], добавлен 10.06.2013Математическая модель и методика разработки программного модуля для вычисления приближенного значения бесконечной суммы с точностью до Е=0,05, если x принимает значения на отрезке [a,b] с шагом h. Порядок проверки программного модуля на наличие ошибок.
курсовая работа [228,9 K], добавлен 08.09.2010Разработка структурной диаграммы программного модуля. Представление схемы для основных расчетов выбранного приложения для создания прямоугольной матрицы. Особенности создания пользовательского интерфейса. Тестирование и отладка спроектированного модуля.
курсовая работа [648,4 K], добавлен 27.05.2015Разработка СУБД - программного модуля для систематизации, хранения и обработки сведений о работниках лаборатории. Технологический процесс машинной реализации задачи, составление алгоритма, описание переменных процедур и функций. Листинг программы.
курсовая работа [1,7 M], добавлен 11.01.2013Методы обработки растровых изображений (кластеризация, пороговая и интерактивная сегментация). Разработка программного модуля для системы мониторинга биосферы и дистанционного зондирования. Создание пользовательского интерфейса программного модуля.
курсовая работа [2,2 M], добавлен 29.04.2015