'

http://code.google.com/p/menta/

Понравилась презентация – покажи это...





Слайд 0

http://code.google.com/p/menta/


Слайд 1

Проблема Множество тривиальных задач в крупных компаниях Простые, но объемные задачи (составление шаблонов отчетов для торговых систем)


Слайд 2

Входные запрос: “Add field Surname on Customer Main page. Rename field Address to Address Line on Customer main page”


Слайд 3

ДО


Слайд 4

После


Слайд 5

Решение Автоматизация разработки программного обеспечения Automation


Слайд 6

Частичная автоматизация (фактически разработка ручная) с использованием: MAVEN Rational Rose И т.д.


Слайд 7

Небольшое изменение модели – генерируются заново модули и вся логика из них стирается Необходимо строгое знание нотации, причем в рамках того пакета, на котором работаешь Ограниченный список языков для сгенерированного кода Зависимость от квалификации разработчика Отсутствие автоматизации полного цикла разработки


Слайд 8

АЛЬТЕРНАТИВНЫЙ ПОДХОД Лингвистический анализ входящего требования (СR, Requirement, bug report, и т.д.) Поиск оптимального решения в базе знаний Модификация семантической модели приложения Генерация приложения


Слайд 9

Представление живого языка в объектно-ориентированном виде Используется Stanford Parser Пример: Вход: “Add global counters to Customer” Результат: amod(counters-3, global-2) dobj(Add-1, counters-3) prep_to(Add-1, Customer-5)


Слайд 10

Представляет собой модель данных, отражающих кроме иерархии также тип связи Используется онтология OWL


Слайд 11


Слайд 12


Слайд 13

Основное хранилище данных системы Содержит HOW-Tos (собранные с ресурсов типа MSDN) Tutorials Знания полученные от экспертов Модели приложений Представляет из себя Формализованную семантическую модель


Слайд 14

Фрагмент структуры Базы Знаний


Слайд 15

Создает алгоритм решения для входящего требования Выбирается произвольно список решений из Базы Знаний Среди них составляются произвольно пары и выбираются самые лучшие Среди пар производится отбор признаков обоих «родителей» и на основе их создается потомок Среди потомков случайным образом происходит произвольная модификация (мутация) Полученные алгоритмы проверяются на соответствие требованием


Слайд 16

Сгенерированный алгоритм проверяется на валидность в контексте данного приложения и данной доменной области: Анализ алгоритма с помощью NARS (системы логических суждений) Анализ измененной модели приложения с помощью NARS


Слайд 17

Имеет широкий спектр средств для описания суждений, основанных на объектно-ориентированных принципах Развитая система суждений Суждения в настоящем, на основе прошлого с возможностью экстраполирования в будущее Нет аксиом, любые правила могут быть переписаны


Слайд 18

1. Добавление задач в буфер 2.Задачи добавляются в память 3.Задачи смешиваются в памяти с остальными 4.Задачи и понятия выбираются из памяти и поступают в модуль логических выводов 5. Выводы добавляются в буфер как «полученные» 6. Выдается решение


Слайд 19

********** IN: <bird --> swimmer>. IN: <bird --> swimmer>. %0.10;0.60% 1 OUT: <bird --> swimmer>. %0.87;0.91% ********** IN: <bird --> animal>. IN: <robin --> bird>. 1 OUT: <robin --> animal>. %1.00;0.81% ********** IN: <sport --> competition>. IN: <chess --> competition>. %0.8% 1 OUT: <sport --> chess>. %1.00;0.39% OUT: <chess --> sport>. %0.80;0.45% ********** IN: <swan --> swimmer>. %0.7% IN: <swan --> bird>. 1 OUT: <bird --> swimmer>. %0.70;0.45% OUT: <swimmer --> bird>. %1.00;0.36%


Слайд 20

Генерация приложения На основе измененной семантической модели генерируется полностью или частично приложение Генератор использует Базу Знаний Возможна генерация на любом языке программирование, при условие того, что он описан в Базе Знаний


Слайд 21

Полностью автоматизировать решение простых задач программистов Сократить затраты на поддержку, Bug fixing и т.п. Дабы сконцентрировать самый главный ресурс – людей – на более интересных задачах В дальнейшим переложить подход на другие области Информационных Технологий (удаленное администрирование)


×

HTML:





Ссылка: