Курсовая работа: Инструментальные средства разработки систем искуственного интеллекта. Инструментальные средства разработки по реферат


Курсовая работа - Инструментальные средства разработки систем искуственного интеллекта

Министерство образования республикиБашкортостан

Уфимский государственный авиационныйтехнический университет

Кафедраинформатики

филиалг. Туймазы

РЕФЕРАТ

натему:

Инструментальные средства разработкисистем ИИ

Выполнил:студент группы

ВТТ-203дЛатыган А. В.

Проверил:к.т.н., старший преподаватель кафедры информатики Низамова Г. Ф.

<st1:metricconverter ProductID=«2007 г» w:st=«on»>2007 г</st1:metricconverter>. Оглавление

 TOC o «1-3» h z u Введение. PAGEREF _Toc183545355 h 3

Инструментальныесредства разработки экспертных систем. PAGEREF _Toc183545356 h 5

MatLab. PAGEREF _Toc183545357 h 10

PROLOG… PAGEREF _Toc183545358 h 13

Заключение. PAGEREF _Toc183545359 h 16

Списокиспользованных источников. PAGEREF_Toc183545360 h 17

Введение

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

Искусственный интеллект занимает исключительное положение.Это связано со следующим:

1.<span Times New Roman"">                      

2.<span Times New Roman"">                      

3.<span Times New Roman"">                      

4.<span Times New Roman"">                      

Системы, относящиеся к системам ИИ в настоящее время:

1.<span Times New Roman"">                            

2.<span Times New Roman"">                            

3.<span Times New Roman"">                            

·<span Times New Roman"">       

·<span Times New Roman"">       

4.<span Times New Roman"">                            

5.<span Times New Roman"">                            

6.<span Times New Roman"">                            

Инструментальные средства разработки экспертныхсистем

Экспертные системы (ЭС) — это системы искусственногоинтеллекта (интеллектуальные системы), предназначенные для решенияплохоформализованных и слабоструктурированных задач в определенных проблемныхобластях, на основе заложенных в них знаний специалистов-экспертов. В настоящеевремя ЭС внедряются в различные виды человеческой деятельности, гдеиспользование точных математических методов и моделей затруднительно или вообщеневозможно. К ним относятся: медицина, обучение, поддержка принятия решений иуправление в сложных ситуациях, деловые различные приложения и т. д.

Основными компонентами ЭС являются базы данных (БД) и знаний(БД), блоки поиска решения, объяснения, извлечения и накопления знаний,обучения и организации взаимодействия с пользователем. БД, БЗ и блок поискарешений образуют ядро ЭС.

Для конструирования ЭС используются различныеинструментальные средства: универсальные языки программирования, языкиискусственного интеллекта, инструментальные системы и среды и системы-оболочки.Системы-оболочки являются наиболее простым средством формализации(автоформализации) экспертных знаний, практически не требующие участияпосредников в лице инженера по знаниям или программиста при их использовании.Инженер по знаниям только помогает эксперту выбрать наиболее подходящую для егопроблемной области оболочку.

Известны три основные разновидности исполнения экспертныхсистем:

•        — Экспертные системы,выполненные в виде отдельных программ, на некотором алгоритмическом языке, базазнаний которых является непосредственно частью этой программы. Как правило, такиесистемы предназначены для решения задач в одной фиксированной предметнойобласти. При построении таких систем применяются как традиционные процедурныеязыки PASCAL, C и др., так и специализированные языки искусственного интеллектаLISP, PROLOG.

•        — Оболочкиэкспертных систем — программный продукт, обладающий средствами представления знанийдля определенных предметных областей. Задача пользователя заключается не в непосредственномпрограммировании, а в формализации и вводе знаний с использованиемпредоставленных оболочкой возможностей. Недостатком этих систем можно считатьневозможность охвата одной системой всех существующих предметных областей.Примером могут служить ИНТЕРЭКСПЕРТ, РС+, VP-Expert.

•        — Генераторыэкспертных систем — мощные программные продукты, предназначенные для полученияоболочек, ориентированных на то или иное представление знаний в зависимости от рассматриваемойпредметной области. Примеры этой разновидности — системы KEE, ART и др..

Системы EXSYS и GURU относятся к системам дедуктивногопродукционного типа, причем система GURU (в ее современной версии,ориентированной на рабочие станции) по сути является инструментальной средой,поддерживающей различные режимы конструирования прикладных ЭС и обладающейдостаточно развитыми средствами обработки фактора неопределенности. Эта системаориентирована на различные классы пользователей в зависимости от их подготовкив области искусственного интеллекта и программирования, имеет развитыйинтерфейс с современными СУБД и электронными таблицами, средства сборастатистики и т. д. Система может работать на различных вычислительныхплатформах под управлением различных операционных систем, а также имеетподдержку сетевой конфигурации.

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

В списке наиболее распространенных в настоящее время зарубежом экспертных систем и их оболочек можно выделить следующие наименования: INSIGT,LOGIAN, NEXPERT, RULE MASTER, KDS, PICON, KNOWLEDGE CRAFT, KESII, S1, TIMM идр.

В качестве критериев, по которым можно судить о возможностисоздания экспертной системы следует отметить следующие:

1.      — Необходимостьсимвольных рассуждений, очевидно, нет смысла разрабатывать экспертную системудля численных расчетов, например, для преобразований Фурье, интегрирования, решениясистем алгебраических уравнений и др.

2.      — Наличиеэкспертов, компетентных в избранном круге вопросов, которые согласнысотрудничать при создании ЭС.

3.      — Поставленная проблемадолжна быть достаточно важной и актуальной. Это могут быть проблемы, требующиевысокого уровня экспертизы, либо простые, но трудоемкие многократноповторяющиеся проверки. Нет смысла тратить время на решение проблем, которыевозникают редко и могут быть разрешены человеком с обычной квалификацией.

4.      — Необходимочетко ограничивать круг решаемых задач, т.е. предметная область выбираетсядостаточно «узкой», чтобы избежать «комбинаторного взрыва» объемаинформации необходимой для компетентного решения поставленной задачи.

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

6.      — Должно быть достаточноисходных данных для проверки работоспособности экспертной системы в выбранной предметной

7.      области, чтобы разработчикисмогли убедиться в достижимости некоторого заданного уровня еефункционирования.

8.      — Должнаобеспечиваться возможность постепенного наращивания системы. База знаний должналегко расширяться и корректироваться, так как правила часто меняются споявлением новых фактов.

 Ценностьиспользования ЭС проявляется в следующих аспектах:

a)      — В сборе, оперативномуточнении, кодировании и распространении экспертных знаний.

b)      — В эффективномрешении проблем, сложность которых превышает человеческие возможности и длякоторых требуются экспертные знания нескольких областей.

c)       — В сохранениинаиболее уязвимой ценности коллектива — коллективной памяти.

 Создание баз знанийоткрывает широкие возможности, которые обусловлены безошибочностью и тщательностью,присущими ЭВМ и синтезом знаний экспертов. Если база знаний объединяетинформацию по нескольким дисциплинам, то такой «сплав» знаний приобретаетдополнительную ценность.

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

Экспертная система VP-Expert представляет собой «пустую»оболочку, хорошо зарекомендовавшую и получившую достаточно широкоераспространение. ее применение возможно на IBM совместимых персональныхкомпьютерах с операционной системой MS DOS, имеющих не менее 256 К оперативной памятии адаптеры графических дисплеев подобные CGA, EGA или HERKULES. Важнойособенностью оболочки, существенно расширяющей ее возможности, являетсясовместимость с файлами созданными dBASE II, dBASE III и dBASE III+.

MatLab

Зарождение системы MATLAB относится к концу 70-х годов, когда первая версия этойсистемы была использована в Университете Нью Мехико и Станфордском университетедля преподавания курсов теории матриц, линейной алгебры и численного анализа. Вэто время активно разрабатывались пакеты прикладных программ по линейнойалгебре LINPACK и EISPACK на языке FORTRAN, и авторы системы MATLAB искали способыиспользовать эти пакеты, не программируя на языке FORTRAN.

Сейчас возможности системы значительно превосходятвозможности первоначальной версии матричной лаборатории MatrixLaboratory. Нынешний MATLAB — этовысокоэффективный язык инженерных и научных вычислений. Он поддерживаетматематические вычисления, визуализацию научной графики и программирование сиспользованием легко осваиваемого операционного окружения, когда задачи и ихрешения могут быть представлены в нотации, близкой к математической. Наиболееизвестные области применения системы MATLAB:

·<span Times New Roman"">       

·<span Times New Roman"">       

·<span Times New Roman"">       

·<span Times New Roman"">       

·<span Times New Roman"">       

·<span Times New Roman"">       

MATLAB — это интерактивная система, основным объектом которой является массив, длякоторого не требуется указывать размерность явно. Это позволяет решать многиевычислительные задачи, связанные с векторно-матричными формулировками,существенно сокращая время, которое понадобилось бы для программирования наскалярных языках типа Cили FORTRAN.

Версия MATLAB7 — это последнее достижение разработчиков; она содержит существенные измененияи улучшения в каждом разделе, начиная от встроенных математических функций иновых конструкций программирования и заканчивая новыми структурами данных,объектно-ориентированным подходом, новыми средствами визуализации и графическиминтерфейсом пользователя.

Фирма TheMathWorks,Inc. поддерживаеттесные связи с университетским миром и предлагает для образовательных версийзначительные скидки. В настоящее время студенческая версия StudentEditionofMATLAB ничем не отличается откоммерческой версии, но имеет невысокую цену и предназначена для студентов,работающих на персональном компьютере дома или в общежитии.

Одно из назначений математики — служить языком общения междуучеными и инженерами. Матрицы, дифференциальные уравнения, массивы данных,графики — это общие объекты и конструкции, используемые как в прикладнойматематике, так и в системе MATLAB.Именно эта фундаментальная основа обеспечивает системе MATLAB непревзойденную мощь идоступность. Стоит прислушаться к следующему афористичному мнению: «Причина,по которой MATLAB стольполезен для обработки сигналов, состоит в том, что он не проектировалсяспециально для этой цели, а создавался для математиков».

Система MATLAB — это одновременно и операционная среда и язык программирования. Одна из наиболеесильных сторон системы состоит в том, что на языке MATLAB могут быть написаны программы длямногократного использования. Пользователь может сам написать специализированныефункции и программы, которые оформляются в виде М-файлов. По мере увеличенияколичества созданных программ возникают проблемы их классификации и тогда можнопопытаться собрать родственные функции в специальные папки. Это приводит кконцепции пакетов прикладных программ (ППП), которые представляют собойколлекции М-файлов для решения определенной задачи или проблемы.

В действительности ППП — это нечто большее, чем просто наборполезных функций. Часто это результат работы многих исследователей по всемумиру, которые объединяются в зависимости от области применения — теорияуправления, обработка сигналов, идентификация и т. п. Именно поэтому пакетыприкладных программ — MATLABApplicationToolboxes,входящие в состав семейства продуктов MATLAB, позволяют находиться на уровне самых современных мировыхдостижений.

PROLOG

Пролог (Prolog)— язык логического программирования, основанный на логике дизъюнктов Хорна,представляющей собой подмножество логики предикатов первого порядка.

Разработка языка Prolog началась в <st1:metricconverter ProductID=«1970 г» w:st=«on»>1970 г</st1:metricconverter>. Аланом Кулмероэ иФилиппом Русселом. Будучи декларативным языком программирования, Прологвоспринимает в качестве программы некоторое описание задачи, и сам производитпоиск решения, пользуясь механизмом бэктрекинга и унификацией. Целью разработкиязыка Prolog было предоставить возможность задания спецификаций решения и позволитькомпьютеру вывести из них последовательность выполнения для этого решения, а незадание алгоритма решения задачи, как в большинстве языков.

Интерес к Прологу поднимался и затихал несколько раз,энтузиазм сменялся жёстким неприятием. Наиболее высоко был поднят интерес кязыку Пролог как к языку будущего во время разработок японской национальнойпрограммы компьютеры пятого поколения в 1980-х годах, когда разработчикинадеялись, что с помощью Пролога можно будет сформулировать новые принципы,которые приведут к созданию компьютеров более высокого уровня интеллекта.Неправильная оценка этой перспективы явилась одной из причин неудачи проекта.

В настоящее время Пролог, несмотря на неоднократныепессимистические прогнозы, продолжает развиваться в разных странах и вбирает всебя новые технологии и концепции, а также парадигмы императивногопрограммирования. В частности, одно из направлений развития языка (в том числеи в России) реализует концепцию интеллектуальных агентов.

Пролог реализован практически для всех известныхоперационных систем и платформ (в том числе для Java и .NET). В число операционных систем входятOS для мэйнфреймов, всёсемейство Unix, Windows, OS для мобильных платформ.

Многие современные реализации языка имеют внутреннеерасширение за счет ООП-архитектуры. Кроме проприетарных решений такжесуществуют реализации Пролог на условиях opensource. Важно, что для языка существует стандарт ISO принятый как ISO/IECJTC1/SC22/WG17.

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

Очень интересно, что в России применялось одноименное ПО —«ПРОЛОГ» для реализации одного из самых амбициозных и технологически успешныхпроектов ВПК — «Буран». Также существуют весьма интересные, но спорные мнения иреализации по поводу применения Пролог в области задач искусственногоинтеллекта и экспертных систем.

Пролог критикуется в первую очередь за свою недостаточнуюгибкость, отчего решения на обычных языках программирования (типа C++, Java) в сочетании с базами данныхоказываются более технологичными, чем аналогичные решения на Прологе.Негибкость заключается в трудности изучения языка, более высоких требований кквалификации программиста на Прологе, трудности отладки программы, неразвитоститехнологии программирования, плохой контролируемости промежуточных результатов.

Перспектива развития всемирной Сети, известной как проектВеб 2.0 поддерживает особый интерес к семантике распределенных данных и ихобработке декларативными методами. В связи с этим появились концепции языка OWL основанного на концепции First-OrderLogic(FOL) реализацию которой, в свою очередь,можно рассматривать как значительно более расширенную технику классического Prolog.

Заключение

Нами были расмотрены некоторые инструментальные средстваразработки систем ИИ. Создание ИИ – задача трудоемкая. Для сложного ИИнеобходимо представлять область применения, базы данных для обработки,специалистов для отладки, компетентных инженеров и программистов. Для созданияже простой ИИ необходим лишь навык работы с каким – либо готовым программнымсредством разработки ИИ, как MatLab или Prolog. Но с возрастаниемкомпьютеризации и мощности ПК можно говорить о скором возникновении таких видовИскуственного интеллекта, которые смогут пройти тест Тьюринга, получать призыЛёбнера, и будут во всём неотличимы от человека.

Список использованных источников

1.<span Times New Roman"">    

http://ru.wikipedia.org/wiki/Тест_Тьюринга.

2.<span Times New Roman"">    

3.<span Times New Roman"">    

4.<span Times New Roman"">    

www.ronl.ru

Реферат - Инструментальные средства разработки систем искуственного интеллекта

Министерство образования республикиБашкортостан

Уфимский государственный авиационныйтехнический университет

Кафедраинформатики

филиалг. Туймазы

РЕФЕРАТ

натему:

Инструментальные средства разработкисистем ИИ

Выполнил:студент группы

ВТТ-203дЛатыган А. В.

Проверил:к.т.н., старший преподаватель кафедры информатики Низамова Г. Ф.

<st1:metricconverter ProductID=«2007 г» w:st=«on»>2007 г</st1:metricconverter>. Оглавление

 TOC o «1-3» h z u Введение. PAGEREF _Toc183545355 h 3

Инструментальныесредства разработки экспертных систем. PAGEREF _Toc183545356 h 5

MatLab. PAGEREF _Toc183545357 h 10

PROLOG… PAGEREF _Toc183545358 h 13

Заключение. PAGEREF _Toc183545359 h 16

Списокиспользованных источников. PAGEREF_Toc183545360 h 17

Введение

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

Искусственный интеллект занимает исключительное положение.Это связано со следующим:

1.<span Times New Roman"">                      

2.<span Times New Roman"">                      

3.<span Times New Roman"">                      

4.<span Times New Roman"">                      

Системы, относящиеся к системам ИИ в настоящее время:

1.<span Times New Roman"">                            

2.<span Times New Roman"">                            

3.<span Times New Roman"">                            

·<span Times New Roman"">       

·<span Times New Roman"">       

4.<span Times New Roman"">                            

5.<span Times New Roman"">                            

6.<span Times New Roman"">                            

Инструментальные средства разработки экспертныхсистем

Экспертные системы (ЭС) — это системы искусственногоинтеллекта (интеллектуальные системы), предназначенные для решенияплохоформализованных и слабоструктурированных задач в определенных проблемныхобластях, на основе заложенных в них знаний специалистов-экспертов. В настоящеевремя ЭС внедряются в различные виды человеческой деятельности, гдеиспользование точных математических методов и моделей затруднительно или вообщеневозможно. К ним относятся: медицина, обучение, поддержка принятия решений иуправление в сложных ситуациях, деловые различные приложения и т. д.

Основными компонентами ЭС являются базы данных (БД) и знаний(БД), блоки поиска решения, объяснения, извлечения и накопления знаний,обучения и организации взаимодействия с пользователем. БД, БЗ и блок поискарешений образуют ядро ЭС.

Для конструирования ЭС используются различныеинструментальные средства: универсальные языки программирования, языкиискусственного интеллекта, инструментальные системы и среды и системы-оболочки.Системы-оболочки являются наиболее простым средством формализации(автоформализации) экспертных знаний, практически не требующие участияпосредников в лице инженера по знаниям или программиста при их использовании.Инженер по знаниям только помогает эксперту выбрать наиболее подходящую для егопроблемной области оболочку.

Известны три основные разновидности исполнения экспертныхсистем:

•        — Экспертные системы,выполненные в виде отдельных программ, на некотором алгоритмическом языке, базазнаний которых является непосредственно частью этой программы. Как правило, такиесистемы предназначены для решения задач в одной фиксированной предметнойобласти. При построении таких систем применяются как традиционные процедурныеязыки PASCAL, C и др., так и специализированные языки искусственного интеллектаLISP, PROLOG.

•        — Оболочкиэкспертных систем — программный продукт, обладающий средствами представления знанийдля определенных предметных областей. Задача пользователя заключается не в непосредственномпрограммировании, а в формализации и вводе знаний с использованиемпредоставленных оболочкой возможностей. Недостатком этих систем можно считатьневозможность охвата одной системой всех существующих предметных областей.Примером могут служить ИНТЕРЭКСПЕРТ, РС+, VP-Expert.

•        — Генераторыэкспертных систем — мощные программные продукты, предназначенные для полученияоболочек, ориентированных на то или иное представление знаний в зависимости от рассматриваемойпредметной области. Примеры этой разновидности — системы KEE, ART и др..

Системы EXSYS и GURU относятся к системам дедуктивногопродукционного типа, причем система GURU (в ее современной версии,ориентированной на рабочие станции) по сути является инструментальной средой,поддерживающей различные режимы конструирования прикладных ЭС и обладающейдостаточно развитыми средствами обработки фактора неопределенности. Эта системаориентирована на различные классы пользователей в зависимости от их подготовкив области искусственного интеллекта и программирования, имеет развитыйинтерфейс с современными СУБД и электронными таблицами, средства сборастатистики и т. д. Система может работать на различных вычислительныхплатформах под управлением различных операционных систем, а также имеетподдержку сетевой конфигурации.

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

В списке наиболее распространенных в настоящее время зарубежом экспертных систем и их оболочек можно выделить следующие наименования: INSIGT,LOGIAN, NEXPERT, RULE MASTER, KDS, PICON, KNOWLEDGE CRAFT, KESII, S1, TIMM идр.

В качестве критериев, по которым можно судить о возможностисоздания экспертной системы следует отметить следующие:

1.      — Необходимостьсимвольных рассуждений, очевидно, нет смысла разрабатывать экспертную системудля численных расчетов, например, для преобразований Фурье, интегрирования, решениясистем алгебраических уравнений и др.

2.      — Наличиеэкспертов, компетентных в избранном круге вопросов, которые согласнысотрудничать при создании ЭС.

3.      — Поставленная проблемадолжна быть достаточно важной и актуальной. Это могут быть проблемы, требующиевысокого уровня экспертизы, либо простые, но трудоемкие многократноповторяющиеся проверки. Нет смысла тратить время на решение проблем, которыевозникают редко и могут быть разрешены человеком с обычной квалификацией.

4.      — Необходимочетко ограничивать круг решаемых задач, т.е. предметная область выбираетсядостаточно «узкой», чтобы избежать «комбинаторного взрыва» объемаинформации необходимой для компетентного решения поставленной задачи.

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

6.      — Должно быть достаточноисходных данных для проверки работоспособности экспертной системы в выбранной предметной

7.      области, чтобы разработчикисмогли убедиться в достижимости некоторого заданного уровня еефункционирования.

8.      — Должнаобеспечиваться возможность постепенного наращивания системы. База знаний должналегко расширяться и корректироваться, так как правила часто меняются споявлением новых фактов.

 Ценностьиспользования ЭС проявляется в следующих аспектах:

a)      — В сборе, оперативномуточнении, кодировании и распространении экспертных знаний.

b)      — В эффективномрешении проблем, сложность которых превышает человеческие возможности и длякоторых требуются экспертные знания нескольких областей.

c)       — В сохранениинаиболее уязвимой ценности коллектива — коллективной памяти.

 Создание баз знанийоткрывает широкие возможности, которые обусловлены безошибочностью и тщательностью,присущими ЭВМ и синтезом знаний экспертов. Если база знаний объединяетинформацию по нескольким дисциплинам, то такой «сплав» знаний приобретаетдополнительную ценность.

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

Экспертная система VP-Expert представляет собой «пустую»оболочку, хорошо зарекомендовавшую и получившую достаточно широкоераспространение. ее применение возможно на IBM совместимых персональныхкомпьютерах с операционной системой MS DOS, имеющих не менее 256 К оперативной памятии адаптеры графических дисплеев подобные CGA, EGA или HERKULES. Важнойособенностью оболочки, существенно расширяющей ее возможности, являетсясовместимость с файлами созданными dBASE II, dBASE III и dBASE III+.

MatLab

Зарождение системы MATLAB относится к концу 70-х годов, когда первая версия этойсистемы была использована в Университете Нью Мехико и Станфордском университетедля преподавания курсов теории матриц, линейной алгебры и численного анализа. Вэто время активно разрабатывались пакеты прикладных программ по линейнойалгебре LINPACK и EISPACK на языке FORTRAN, и авторы системы MATLAB искали способыиспользовать эти пакеты, не программируя на языке FORTRAN.

Сейчас возможности системы значительно превосходятвозможности первоначальной версии матричной лаборатории MatrixLaboratory. Нынешний MATLAB — этовысокоэффективный язык инженерных и научных вычислений. Он поддерживаетматематические вычисления, визуализацию научной графики и программирование сиспользованием легко осваиваемого операционного окружения, когда задачи и ихрешения могут быть представлены в нотации, близкой к математической. Наиболееизвестные области применения системы MATLAB:

·<span Times New Roman"">       

·<span Times New Roman"">       

·<span Times New Roman"">       

·<span Times New Roman"">       

·<span Times New Roman"">       

·<span Times New Roman"">       

MATLAB — это интерактивная система, основным объектом которой является массив, длякоторого не требуется указывать размерность явно. Это позволяет решать многиевычислительные задачи, связанные с векторно-матричными формулировками,существенно сокращая время, которое понадобилось бы для программирования наскалярных языках типа Cили FORTRAN.

Версия MATLAB7 — это последнее достижение разработчиков; она содержит существенные измененияи улучшения в каждом разделе, начиная от встроенных математических функций иновых конструкций программирования и заканчивая новыми структурами данных,объектно-ориентированным подходом, новыми средствами визуализации и графическиминтерфейсом пользователя.

Фирма TheMathWorks,Inc. поддерживаеттесные связи с университетским миром и предлагает для образовательных версийзначительные скидки. В настоящее время студенческая версия StudentEditionofMATLAB ничем не отличается откоммерческой версии, но имеет невысокую цену и предназначена для студентов,работающих на персональном компьютере дома или в общежитии.

Одно из назначений математики — служить языком общения междуучеными и инженерами. Матрицы, дифференциальные уравнения, массивы данных,графики — это общие объекты и конструкции, используемые как в прикладнойматематике, так и в системе MATLAB.Именно эта фундаментальная основа обеспечивает системе MATLAB непревзойденную мощь идоступность. Стоит прислушаться к следующему афористичному мнению: «Причина,по которой MATLAB стольполезен для обработки сигналов, состоит в том, что он не проектировалсяспециально для этой цели, а создавался для математиков».

Система MATLAB — это одновременно и операционная среда и язык программирования. Одна из наиболеесильных сторон системы состоит в том, что на языке MATLAB могут быть написаны программы длямногократного использования. Пользователь может сам написать специализированныефункции и программы, которые оформляются в виде М-файлов. По мере увеличенияколичества созданных программ возникают проблемы их классификации и тогда можнопопытаться собрать родственные функции в специальные папки. Это приводит кконцепции пакетов прикладных программ (ППП), которые представляют собойколлекции М-файлов для решения определенной задачи или проблемы.

В действительности ППП — это нечто большее, чем просто наборполезных функций. Часто это результат работы многих исследователей по всемумиру, которые объединяются в зависимости от области применения — теорияуправления, обработка сигналов, идентификация и т. п. Именно поэтому пакетыприкладных программ — MATLABApplicationToolboxes,входящие в состав семейства продуктов MATLAB, позволяют находиться на уровне самых современных мировыхдостижений.

PROLOG

Пролог (Prolog)— язык логического программирования, основанный на логике дизъюнктов Хорна,представляющей собой подмножество логики предикатов первого порядка.

Разработка языка Prolog началась в <st1:metricconverter ProductID=«1970 г» w:st=«on»>1970 г</st1:metricconverter>. Аланом Кулмероэ иФилиппом Русселом. Будучи декларативным языком программирования, Прологвоспринимает в качестве программы некоторое описание задачи, и сам производитпоиск решения, пользуясь механизмом бэктрекинга и унификацией. Целью разработкиязыка Prolog было предоставить возможность задания спецификаций решения и позволитькомпьютеру вывести из них последовательность выполнения для этого решения, а незадание алгоритма решения задачи, как в большинстве языков.

Интерес к Прологу поднимался и затихал несколько раз,энтузиазм сменялся жёстким неприятием. Наиболее высоко был поднят интерес кязыку Пролог как к языку будущего во время разработок японской национальнойпрограммы компьютеры пятого поколения в 1980-х годах, когда разработчикинадеялись, что с помощью Пролога можно будет сформулировать новые принципы,которые приведут к созданию компьютеров более высокого уровня интеллекта.Неправильная оценка этой перспективы явилась одной из причин неудачи проекта.

В настоящее время Пролог, несмотря на неоднократныепессимистические прогнозы, продолжает развиваться в разных странах и вбирает всебя новые технологии и концепции, а также парадигмы императивногопрограммирования. В частности, одно из направлений развития языка (в том числеи в России) реализует концепцию интеллектуальных агентов.

Пролог реализован практически для всех известныхоперационных систем и платформ (в том числе для Java и .NET). В число операционных систем входятOS для мэйнфреймов, всёсемейство Unix, Windows, OS для мобильных платформ.

Многие современные реализации языка имеют внутреннеерасширение за счет ООП-архитектуры. Кроме проприетарных решений такжесуществуют реализации Пролог на условиях opensource. Важно, что для языка существует стандарт ISO принятый как ISO/IECJTC1/SC22/WG17.

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

Очень интересно, что в России применялось одноименное ПО —«ПРОЛОГ» для реализации одного из самых амбициозных и технологически успешныхпроектов ВПК — «Буран». Также существуют весьма интересные, но спорные мнения иреализации по поводу применения Пролог в области задач искусственногоинтеллекта и экспертных систем.

Пролог критикуется в первую очередь за свою недостаточнуюгибкость, отчего решения на обычных языках программирования (типа C++, Java) в сочетании с базами данныхоказываются более технологичными, чем аналогичные решения на Прологе.Негибкость заключается в трудности изучения языка, более высоких требований кквалификации программиста на Прологе, трудности отладки программы, неразвитоститехнологии программирования, плохой контролируемости промежуточных результатов.

Перспектива развития всемирной Сети, известной как проектВеб 2.0 поддерживает особый интерес к семантике распределенных данных и ихобработке декларативными методами. В связи с этим появились концепции языка OWL основанного на концепции First-OrderLogic(FOL) реализацию которой, в свою очередь,можно рассматривать как значительно более расширенную технику классического Prolog.

Заключение

Нами были расмотрены некоторые инструментальные средстваразработки систем ИИ. Создание ИИ – задача трудоемкая. Для сложного ИИнеобходимо представлять область применения, базы данных для обработки,специалистов для отладки, компетентных инженеров и программистов. Для созданияже простой ИИ необходим лишь навык работы с каким – либо готовым программнымсредством разработки ИИ, как MatLab или Prolog. Но с возрастаниемкомпьютеризации и мощности ПК можно говорить о скором возникновении таких видовИскуственного интеллекта, которые смогут пройти тест Тьюринга, получать призыЛёбнера, и будут во всём неотличимы от человека.

Список использованных источников

1.<span Times New Roman"">    

http://ru.wikipedia.org/wiki/Тест_Тьюринга.

2.<span Times New Roman"">    

3.<span Times New Roman"">    

4.<span Times New Roman"">    

www.ronl.ru

Современные инструментальные средства проектирования информационных систем, Информационные технологии

Курсовая работа по предмету: Информационные технологии (Пример)

Оглавление

ВВЕДЕНИЕ 3

1. Основные понятия, свойства и классификация информационных систем 4

2. Процессы разработки и жизненный путь программного обеспечения 6

2.1. Методологии разработки информационных систем 6

2.2. Жизненный цикл информационной системы 8

2.3. Модели жизненного цикла разработки информационных систем 9

3. Инструментальные средства проектирования информационных систем 11

3.1. Классификация инструментальных средств проектирования ИС 11

3.1.1. Традиционные системы программирования 11

3.1.2. Инструментальные средства создания файл — серверных систем 11

3.1.3. Средства автоматизации документооборота и делопроизводства 12

3.1.4. Cредства проектирования систем типа «клиент — сервер» 12

3.1.5. Средства разработки web — приложений 13

3.2. Средства автоматизации проектирования ИС (CASE — средства) 13

3.2.1. Общая характеристика и классификация CASE систем 13

3.2.2. Краткая характеристика наиболее распространенных инструментальных средств проектирования ИС 16

3.2.3. Локальные средства проектирования ИС 25

3.2.4. Средства конфигурационного управления 26

3.2.5. Средства тестирования 27

ЗАКЛЮЧЕНИЕ 28

Список использованной литературы 29

Содержание

Выдержка из текста

SAP/PowerDesigner.В настоящее время он содержит 10 типов моделей для решения различных задач моделирования и проектирования.

PowerDesigner позволяет создавать собственные расширения для любых моделей, реализующие дополнительные элементы интерфейса и функции, не заложенные изначально. Наличие большого спектра моделей позволяет достичь высокого уровня интеграции. Инструмент представляет собой уникальную интегрированную среду, в которой можно одновременно работать с моделями всех типов в едином пользовательском интерфейсе. Особенностями PowerDesigner являются: легко управляемые окна, позволяющие отображать различные представления модели;возможность настраиваемых отчетов;функция проверки моделей — выбор проверяемых элементов зависит от конкретной модели;расширяемость моделей при помощи ExtendedModelDefinition;возможность генерировать код приложений и скрипты баз данных;возможность обратного проектирования;паллета инструментов для каждого типа моделей. Поддерживаются следующие типы моделей: Модель требований — предназначена для сбора и управления требованиями.

Позволяет выполнять детальный анализ требований, строить иерархию требований, связывать ее с любыми объектами других моделей. Импорт и синхронизация с MSWord позволяет ввести пользователей в жизненный цикл проектирования. Модель построения бизнес-процессов позволяет представить бизнес-архитектуру путем описания ее организационной структуры, документооборота, выделения основных бизнес-объектов и моделирования бизнес-процессов.Концептуальная модель данных основана на нотации 1E/IDEF1x/Merise. Представляет собой бизнес-представление данных и их основных взаимосвязей, независящее от описания БД и технических особенностей. Логическая модель данных позволяет создать независящие от описания БД реляционные структуры, которые могут быть использованы для оптимизации и понимания метаданных. Физическая модель данныхпозволяет создавать и выполнять обратное проектирование структур более чем для

6. СУБД. Поддержка включает все артефакты БД, включая физические параметры, а также Java, XMLи WebServicesв БД, моделирование защиты данных, расширенные технологии для представления и пр. Может создаваться также и для хранилищ данных. Модель движения данных моделирует все аспекты движения информации. Источники данных, приемники данных, множественные преобразования, задачи трансформации, публикации и подписки используются для документирования любых ETLили процессов репликации. Объектно — ориентированная модель полностью поддерживает нотацию UML 2.0. Позволяет выполнять задачи генерирования кода для языков Java, PowerBuilder, C#. VB. NETи др. Модель представления архитектуры предприятия дает представление общей картины организации, служит для определения структуры предприятия и содержит диаграммы организационной структуры, бизнес-коммуникаций, карты процессов, планирования рабочего места, прикладной архитектуры, сервис-ориентированной архитектуры, технической инфраструктуры. Свободная модель содержит абстрактные объекты для моделирования. XML модель предназначена для проектирования XML схем.

Модели XML могут быть соотнесены с моделями данных посредством наложения. Взаимосвязи и синхронизация между моделями определяются наборами правил, зависящих от типов связываемых моделей. PowerDesigner способен синхронизировать модели с файлами внешних форматов, которые могут быть результатом разработки кода в среде программирования, скриптом для создания или изменения БД. Объектно-ориентированная модель может синхронизироваться с кодом на C#, VB.NET и Java, J2EE, PowerBuilderи др. Среда моделирования позволяет создавать и использовать сложные комплексные взаимосвязи между моделями, а также отслеживать и анализировать взаимосвязи между ними. PowerDesignerпозволяет моделировать хранилища данных: многомерные диаграммы, реализуют OLAP — подход, представляя кубы, факты, измерения, пространственные иерархии и запросы, независимо от структур физических таблиц, используемых в хранилищах данных.

Вся BI-архитектура может быть задокументирована при помощи графических редакторов и более глубокого моделирования движения данных. PowerDesignerпозволяет моделировать движение данных. Модель движения данных документирует все аспекты движения информации. Локальные средства проектирования ИСК данным средствам можно отнести ERWinи CASE.Аналитик. ERWin- средство концептуального моделирования, которое реализует проектирование схемы БД, генерацию ее описания на языке целевой СУБД и реинжиниринг существующей БД. Выпускается в нескольких различных конфигурациях, ориентированных на наиболее распространенные средства разработки приложений 4GL. Версия ERwin/OPEN полностью совместима со средствами разработки приложений PowerBuilder и SQLWindowsЮ, а также позволяет экспортировать описание спроектированной БД непосредственно в репозиторий данных средств.

CASE.Аналитик обеспечивает:"принудительный" хороший стиль;предоставление разработчику машинно-реализованных средств формального описания системы в графической нотации, понятной заказчику создаваемой системы;предоставление доступа к любой части проекта;контроль полноты и непротиворечивости каждой части системных требований, при помощи встроенных средств контроля. Результат работы в среде проекта — информационно-логическая модель анализируемой системы. Модель представляется в виде иерархии диаграмм потоков данных и структурограмм данных. Средства конфигурационного управленияВ качестве средства конфигурационного управления и проектирования можно использовать программную системуJIRA, предназначенную для организации процесса контроля запросов и задач. Ключевыми понятиями в JIRA являются проекты и задачи.

Задачи создаются в проектах, им назначаются исполнители. Задачи могут иметь подзадачии иметь связи с другими задачами. Статус задач меняется в процессе их выполнения. Имеется возможность организовать контроль разработки проектов, раздав задачи исполнителям, определив собственный метод движения заданий — от создания к исполнению и контролю результатов, сконфигурировать правила уведомления о событиях всех участников процесса, управлять правами доступа пользователей. JIRA полезна там, где деятельность можно интерпретировать как выполнение каких-либо проектов и задач, имеющих тематические и временные рамки. В JIRA многие понятия связаны с определенными проектами. Проект имеет связанного с ним лидера проекта, URL сайта проекта, схему рассылки нотификаций, схему контроля доступа. Каждому проекту можно сопоставить свою схему движения задачи (документооборот), свой вид экрана — «собрать» требуемый экран из возможных компонентов.

JIRA предоставляет возможность формирования отчетов по каждому проектуДля организации работы с пользователями JIRA имеет группы пользователей и роли, систему контроля доступа пользователей к проектам, задачам и функциям, основанную на членстве пользователей в группах и ролях. Для каждого проекта, есть возможность управления доступом каждой группы пользователей к любому действию. Средства тестированияПод тестированием понимается процесс исполнения программы с целью обнаружения ошибок. Регрессионное тестирование — это тестирование, проводимое после усовершенствования функций программы или внесения в нее изменений. Одно из наиболее развитых средств тестирования -QualityWorks, которое представляет собой интегрированную, многоплатформенную среду разработки автоматизированных тестов любого уровня, включая тесты регрессии для приложений с графическим интерфейсом пользователя.

QualityWorks позволяет начинать тестирование на любой фазе ЖЦ, планировать и управлять процессом тестирования, отображать изменения в приложении и повторно использовать тесты для 25 различных платформ. Основными компонентами являются: QA Partner — среда для разработки, компиляции и выполнения тестов; QA Planner — модуль разработки планов тестирования и обработки результатов; Agent — модуль, поддерживающий работу в сети. Создание тестового плана включает в себя составление схемы тестовых требований и выделение уровней детализации, оценка объема тестирования, определение количества тестов для каждой функции. Данная информация используется для создания схемы тестовых требований. Для связывания плана с тестами необходимо создать управляющие предложенияна специальном языке 4Test и тесты, выполняющие требования плана, и, после этого, связать компоненты любым способом.

ЗАКЛЮЧЕНИЕВ данной контрольной работе рассмотрены основные понятия, свойства, приведена классификация информационных систем. Показано, что инструментальные средства проектирования должны соответствовать этапам жизненного цикла разрабатываемого программного обеспечения. Приведено описание инструментальных средствпроектирования и создания информационных систем, дано описание достоинств и недостатков, правила применения в зависимости от характеристик выбранного проекта. Использование того или иного средства проектирования зависит от характера проектируемой информационной системы, целей и задач, поставленных перед разработчиками информационной системы. Показано, что инструментальные средства проектирования помогают оптимизировать процессы разработки и внедрения программных средств, ускорить сроки разработки, уменьшить вероятность невыполнения проекта в срок. Современные инструментальные средства проектирования информационных систем поддерживают всевозможные методики и методологии проектирования. Применение современных инструментальных средств улучшает качество разработки, позволяет выделять и применять повторно создаваемые компоненты, поддерживать адаптивность процесса сопровождения, на ранних стадия проекта выявлять ошибки и исправлять их. Инструментальные средства проектирования ИС освобождают разработчиков от рутинной работы по документированию проекта.

Список использованной литературыISO/IEC 2382−1:1993. Information technology — Vocabulary — Part 1: Fundamental terms. [Электронный ресурс].

Режим доступа: standards.iso.org/ittf/licence.html (дата обращения

1. декабря 2014 г.)Грекул В. Проектирование информационных систем. [Электронный ресурс].

Режим доступа: www.intuit.ru/studies/courses/2195/55/lecture/1618 (дата обращения

0. декабря 2014 г.)Описание стандарта ISO/IEC 12 207. НартоваА. PowerDesigner 15. — М.: издательство ЛОРИ, 2012, — 469 с. Мацяшек Л. Анализ требований и проектирование систем. М.: издательский дом Вильямс, 2002, — 428 с. Вендров А.М. Проектирование программного обеспечения экономических информационных систем: учебник. — М.: Финансы и статистика, 2006. — 544 с. Буч Гр. и др. Объектно — ориентированный анализ и проектирование с примерами приложений. — М.: ООО «И.Д. Вильямс», 2008. — 720 с. Методы и модели информационногоменджмента: учебное пособие. / Александров Д. В и др. -М.: Финансы и статистика, 2007. — 336 с. Криспин Л., Грегори Дж. Гибкое тестирование: практическое руководство для тестировщиковПО и гибких команд. — М.: ООО «И.Д.Вильямс», 2010.-464 с.ЛарманКрэг. Применение UML 2.0 и шаблонов проектирования. Практическое руководство. М.: ООО «И.Д.Вильямс», 2013. — 736 с. Проектирование информационных систем. [Электронный ресурс].

Режим доступа: www.info-system.ru/is/theory/theory_design_is.html (дата обращения

0. декабря 2014) CASE: все только начинается. [Электронный ресурс].

Режим доступа: www.osp.ru/cio/2001/03/171 683/(дата обращения

0. декабря 2014) Рябышева И.В. Сравнительный анализ подходов к проектированию ИС. [Электронный ресурс].

Режим доступа: www.ict.nsc.ru/ws/YM2004/8666/index.htm (дата обращения

0. декабря 2014) Szyperski C. Component Soft ware: Beyond object-oriented programming, Addison-Wesley, 1988W. W. Royce. Managing the Development of Large Software Systems. Proceedingsof IEEE WESCON, pp. 1- 9, August 1970.

Список использованной литературы

1. ISO/IEC 2382−1:1993. Information technology — Vocabulary — Part 1: Fundamental terms. [Электронный ресурс].

Режим доступа: standards.iso.org/ittf/licence.html (дата обращения

1. декабря 2014 г.)

2. Грекул В. Проектирование информационных систем. [Электронный ресурс].

Режим доступа: www.intuit.ru/studies/courses/2195/55/lecture/1618 (дата обращения

0. декабря 2014 г.)

3. Описание стандарта ISO/IEC 12 207.

4. Нартова А. PowerDesigner 15. — М.: издательство ЛОРИ, 2012, — 469 с.

5. Мацяшек Л. Анализ требований и проектирование систем. М.: издательский дом Вильямс, 2002, — 428 с.

6. Вендров А.М. Проектирование программного обеспечения экономических информационных систем: учебник. — М.: Финансы и статистика, 2006. — 544 с.

7. Буч Гр. и др. Объектно — ориентированный анализ и проектирование с примерами приложений. — М.: ООО «И.Д. Вильямс», 2008. — 720 с.

8. Методы и модели информационного менджмента: учебное пособие. / Александров Д. В и др. -М.: Финансы и статистика, 2007. — 336 с.

9. Криспин Л., Грегори Дж. Гибкое тестирование: практическое руководство для тестировщиков ПО и гибких команд. — М.: ООО «И.Д.Вильямс», 2010.- 464 с.

10. Ларман Крэг. Применение UML 2.0 и шаблонов проектирования. Практическое руководство. М.: ООО «И.Д.Вильямс», 2013. — 736 с.

11. Проектирование информационных систем. [Электронный ресурс].

Режим доступа: www.info-system.ru/is/theory/theory_design_is.html (дата обращения

0. декабря 2014)

12. CASE: все только начинается. [Электронный ресурс].

Режим доступа: www.osp.ru/cio/2001/03/171 683/ (дата обращения

0. декабря 2014)

13. Рябышева И.В. Сравнительный анализ подходов к проектированию ИС. [Электронный ресурс].

Режим доступа: www.ict.nsc.ru/ws/YM2004/8666/index.htm (дата обращения

0. декабря 2014)

14. Szyperski C. Component Soft ware: Beyond object-oriented programming, Addison-Wesley, 1988

15. W. W. Royce. Managing the Development of Large Software Systems. Proceedings of IEEE WESCON, pp. 1- 9, August 1970.

список литературы

referatbooks.ru

Реферат - Инструментальные средства разработки программных продуктов. Классификация языков программирования.

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

В группу языков низкого уровня входят машинные языки и языки символического кодирования. Все языки низкого уровня ориентированы на определенный тип компьютера, т. е. являются машинно-зависимыми. Машинно-ориентированные языки – это языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей ЭВМ.

Следующую, существенно более многочисленную группу составляют языки программирования высокого уровня. Это Фортран, Алгол, Кобол, Паскаль, Бейсик, Си, Пролог и т.д. Эти языки машинно-независимы, т.к. они ориентированы не на систему команд той или иной ЭВМ, а на систему операндов, характерных для записи определенного класса алгоритмов. Однако программы, написанные на языках высокого уровня, занимают больше памяти и медленнее выполняются, чем программы на машинных языках.

К языкам сверхвысокого уровня можно отнести лишь Алгол-68 и APL. Повышение уровня этих языков произошло за счет введения сверхмощных операций и операторов.

Другая классификация делит языки на вычислительные и языки символьной обработки. К первому типу относят Фортран, Паскаль, Алгол, Бейсик, Си, ко второму типу — Лисп, Пролог, Снобол и др.

В современной информатике можно выделить два основных направления развития языков программирования: процедурное и непроцедурное.

Процедурное программирование возникло на заре вычислительной техники и получило широкое распространение. В процедурных языках программа явно описывает действия, которые необходимо выполнить, а результат задается только способом получения его при помощи некоторой процедуры, которая представляет собой определенную последовательность действий.

Среди процедурных языков выделяют в свою очередь структурные и операционные языки. В структурных языках одним оператором записываются целые алгоритмические структуры: ветвления, циклы и т.д. В операционных языках для этого используются несколько операций. Широко распространены следующие структурные языки: Паскаль, Си, Ада, ПЛ/1. Среди операционных известны Фортран, Бейсик, Фокал.

Непроцедрное программирование появилось в начале 70-х годов 20 века, но стремительное его развитие началось в 80-е годы, когда был разработан японский проект создания ЭВМ пятого поколения, целью которого явилась подготовка почвы для создания интеллектуальных машин. К непроцедурному программированию относятся функциональные и логические языки.

В функциональных языках программа описывает вычисление некоторой функции. Обычно эта функция задается как композиция других, более простых, те в свою очередь разлагаются на еще более простые и т.д. Один из основных элементов в функциональных языках — рекурсия, то есть вычисление значения функции через значение этой же функции от других элементов. Присваивания и циклов в классических функциональных языках нет.

В логических языках программа вообще не описывает действий. Она задает данные и соотношения между ними. После этого системе можно задавать вопросы. Машина перебирает известные и заданные в программе данные и находит ответ на вопрос. Порядок перебора не описывается в программе, а неявно задается самим языком. Классическим языком логического программирования считается Пролог. Построение логической программы вообще не требует алгоритмического мышления, программа описывает статические отношения объектов, а динамика находится в механизме перебора и скрыта от программиста.

Можно выделить еще один класс языков программирования — объектно-ориентированные языкивысокого уровня. На таких языках не описывают подробной последовательности действий для решения задачи, хотя они содержат элементы процедурного программирования. Объектно-ориентированные языки, благодаря богатому пользовательскому интерфейсу, предлагают человеку решить задачу в удобной для него форме. Примером такого языка может служить язык программирования визуального общения Object Pascal.

Языки описания сценариев, такие как Perl, Python, Rexx, Tcl и языки оболочек UNIX, предполагают стиль программирования, весьма отличный от характерного для языков системного уровня. Они предназначаются не для написания приложения с нуля, а для комбинирования компонентов, набор которых создается заранее при помощи других языков. Развитие и рост популярности Internet также способствовали распространению языков описания сценариев. Так, для написания сценариев широко употребляется язык Perl, а среди разработчиков Web-страниц популярен JavaScript.

 

www.ronl.ru

Лекция "Общая характеристика инструментальных средств разработки программных продуктов" - ТРПП - Лекции - Каталог статей

 КОМПЬЮТЕРНАЯ ПОДДЕРЖКА РАЗРАБОТКИ И СОПРОВОЖДЕНИЯ ПРОГРАММНЫХ СРЕДСТВ

1.Инструменты разработки программных средств.

В процессе разработки программных средств в той или иной мере используется компьютерная поддержка процессов разработки ПС.

 Это достигается путем представления хотя бы некоторых программных документов ПС (прежде всего, программ) на компьютерных носителях данных (например, дисках) и предоставлению в распоряжение разработчика ПС специальных ПС или включенных в состав компьютера специальных устройств, созданных для какой-либо обработки таких документов.

 В качестве такого специального ПС можно указать компилятор с какого-либо языка программирования. 

Компилятор избавляет разработчика ПС от необходимости писать программы на языке компьютера, который для разработчика ПС был бы крайне неудобен, - вместо этого он составляет программы на удобном ему языке программирования, которые соответствующий компилятор автоматически переводит на язык компьютера. 

В качестве специального устройства, поддерживающего процесс разработки ПС, может служит эмулятор какого-либо языка. 

Эмулятор позволяет выполнять (интерпретировать) программы на языке, отличном от языка компьютера, поддерживающего разработку ПС, например на языке компьютера, для которого эта программа предназначена.

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

Инструменты разработки ПС могут использоваться в течении всего жизненного цикла ПС для работы с разными программными документами. Так текстовый редактор может использоваться для разработки практически любого программного документа. 

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

редакторы,·

анализаторы,·

преобразователи,·

инструменты, поддерживающие процесс выполнения программ.

Редакторы поддерживают конструирование (формирование) тех или иных программных документов на различных этапах жизненного цикла. 

Как уже упоминалось, для этого можно использовать один какой-нибудь универсальный текстовый редактор. 

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

На этапе программирования (кодирования) вместо текстового редактора может оказаться более удобным синтаксически управляемый редактор, ориентированный на используемый язык программирования.

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

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

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

 Примером такого инструмента является эмулятор кода другого компьютера. К этой группе инструментов следует отнести и различные отладчики.

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

 2. Инструментальные среды разработки и сопровождения программных средств.

В настоящее время с каждой системой программирования связываются не отдельные инструменты (например, компилятор), а некоторая логически связанная совокупность программных и аппаратных инструментов поддерживающих разработку и сопровождение ПС на данном языке программирования или ориентированных на какую-либо конкретную предметную область. Такую совокупность будем называть инструментальной средой разработки и сопровождения ПС.

 Для таких инструментальных сред характерно,

 во-первых, использование как программных, так и аппаратных инструментов, и,

 во-вторых, определенная ориентация либо на конкретный язык программирования, либо на конкретную предметную область.

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

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

 Сущность его заключается в том, что ПС разрабатывается на одном компьютере, называемым инструментальным, а применяться будет на другом компьютере, называемым целевым (или объектным).

Различают три основных класса инструментальных сред разработки и сопровождения ПС 

(рис. 16.1): ·

среды программирования, ·

рабочие места компьютерной технологии,·

инструментальные системы технологии программирования.

Среда программирования предназначена 

в основном для поддержки процессов программирования (кодирования), тестирования и отладки ПС. 

Рабочее место компьютерной технологии ориентировано на поддержку ранних этапов разработки ПС (спецификаций) и автоматической генерации программ по спецификациям. 

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

Для таких систем стоимость сопровождения обычно превышает стоимость разработки.

Рис. 16.1. Основные классы инструментальных сред разработки и сопровождения ПС.

3. Инструментальные среды программирования.

Инструментальные среды программирования содержат прежде всего 

текстовый редактор, позволяющий конструировать программы на заданном языке программирования, инструменты, позволяющие компилировать или интерпретировать программы на этом языке, а также тестировать и отлаживать полученные программы. 

Кроме того, могут быть и другие инструменты, например, для статического или динамического анализа программ. 

Взаимодействуют эти инструменты между собой через обычные файлы с помощью стандартных возможностей файловой системы.

Различают следующие классы инструментальных сред программирования (см. рис. 14.2): ·

среды общего назначения,·

языково-ориентированные среды.

Инструментальные среды программирования общего назначения содержат набор программных инструментов, поддерживающих разработку программ на разных языках программирования (например, текстовый редактор, редактор связей или интерпретатор языка целевого компьютера) и обычно представляют собой некоторое расширение возможностей используемой операционной системы. Для программирования в такой среде на каком-либо языке программирования потребуются дополнительные инструменты, ориентированные на этот язык (например, компилятор).

Рис.16.2. Классификация инструментальных сред программирования.

Языково-ориентированная инструментальная среда программирования предназначена для поддержки разработки ПС на каком-либо одном языке программирования и знания об этом языке существенно использовались при построении такой среды. Вследствие этого в такой среде могут быть доступны достаточно мощные возможности, учитывающие специфику данного языка. 

Такие среды разделяются на два подкласса: ·

интерпретирующие среды, ·

синтаксически-управляемые среды.

Интерпретирующая инструментальная среда программирования обеспечивает интерпретацию программ на данном языке программирования, т.е. содержит прежде всего интерпретатор языка программирования, на который эта среда ориентирована. Такая среда необходима для языков программирования интерпретирующего типа (таких, как Лисп), но может использоваться и для других языков (например, на инструментальном компьютере). 

Синтаксически-управляемая инструментальная среда программирования базируется на знании синтаксиса языка программирования, на который она ориентирована. В такой среде вместо текстового используется синтаксически-управляемый редактор, позволяющий пользователю использовать различные шаблоны синтаксических конструкций (в результате этого разрабатываемая программа всегда будет синтаксически правильной). Одновременно с программой такой редактор формирует (в памяти компьютера) ее синтаксическое дерево, которое может использоваться другими инструментами.

 4. Понятие компьютерной технологии разработки программных средств и ее рабочие места.

Имеются некоторые трудности в выработке строгого определения CASE-технологии (компьютерной технологии разработки ПС).

 CASE - это абревиатура от английского Computer-Aided Software Engineering (Компьютерно-Помогаемая Инженерия Программирования). Но без помощи (поддержки) компьютера ПС уже давно не разрабатываются (используется хотя бы компилятор).

 В действительности, в это понятие вкладывается более узкий (специальный) смысл, который постепенно размывается (как это всегда бывает, когда какое-либо понятие не имеет строгого определения). 

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

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

В настоящее время компьютерную технологию разработки ПС можно характеризовать 

- использованием·программной поддержки для разработки графических требований и графических спецификаций ПС, 

- автоматической генерации программ на каком-либо языке программирования или в машинном коде (частично или полностью), 

- программной поддержки прототипирования.

Говорят также, что компьютерная технология разработки ПС является "безбумажной", т.е. рассчитанной на компьютерное представление программных документов. 

Однако, уверенно отличить ручную технологию разработки ПС от компьютерной по этим признакам довольно трудно. Значит, самое существенное в компьютерной технологии не выделено.

На наш взляд, главное отличие ручной технологии разработки ПС от компьютерной заключается в следующем. 

Ручная технология ориентирована на разработку документов, одинаково понимаемых разными разработчиками ПС, тогда как компьютерная технология ориентирована на обеспечение семантического понимания (интерпретации) документов программной поддержкой компьютерной технологии.

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

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

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

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

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

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

С учетом сказанного жизненный цикл ПС с использованием компьютерной технологии можно представить следующей схемой (рис. 16.3).

Рис. 16.3. Жизненный цикл программного средства при использовании компьютерной технологии.

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

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

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

Разработка спецификаций распадается на несколько разных процессов. 

Если исключить начальный этап разработки спецификаций (определение требований), то в этих процессах используются методы, приводящие к созданию формализованных документов, т. е. используются формализованные языки спецификаций. При этом широко используются графические методы спецификаций, приводящие к созданию различных схем и диаграмм, которые достаточно формализованно определяют структуру информационной среды и структуру управления ПС. К таким структурам привязываются фрагменты описания данных и программ, представленные на алгебраических языках спецификаций (например, использующие операционную или аксиоматическую семантику), или логических языках спецификаций (базирующихся на логическом подходе к спецификации программ). Такие спецификации позволяют в значительной степени или полностью автоматически генерировать программы.

Автоматизированный контроль спецификаций

. . .

 Инструментальные системы технологии программирования.

Для компьютерной поддержки разработки и сопровождения больших ПС с продолжительным жизненным циклом используются инструментальные системы технологии программирования. 

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

Из этого определения вытекают следующие основные черты этого класса компьютерной поддержки: · 

комплексность, ·

ориентированность на коллективную разработку, ·

технологическая определенность, ·

интегрированность.

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

Ориентированность на коллективную разработку означает, что система должна поддерживать управление (management) работой коллектива и для разных членов этого коллектива обеспечивать разные права доступа к различным фрагментам продукции технологических процессов.

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

Интегрированность компьютерной поддержки означает:

- интегрированность по данным, 

- интегрированность по пользовательскому интерфейсу, 

- интегрированность по действиям (функциям),

Интегрированность по данным означает, что инструменты действуют в соответствии с фиксированной информационной схемой (моделью) системы, определяющей зависимость различных используемых в системе фрагментов данных (информационных объектов) друг от друга. 

Интегрированность по пользовательскому интерфейсу означает, что все инструменты объединены единым пользовательским интерфейсом. 

Интегрированность по действиям означает, что, во-первых, в системе имеются общие части всех инструментов и, во-вторых, одни инструменты при выполнении своих функций могут обращаться к другим инструментам.

С учетом обсужденных свойств инструментальных систем технологии программирования можно выделить три их основные компоненты:·

база данных разработки (репозиторий),·

инструментарий, ·

интерфейсы.

Репозиторий - центральное компьютерное хранилище информации, связанной с проектом (разработкой) ПС в течении всего его жизненного цикла.

 Инструментарий - набор инструментов, определяющий возможности, предоставляемые системой коллективу разработчиков. Обычно этот набор является открытым: помимо минимального набора (встроенные инструменты), он содержит средства своего расширения (импортированными инструментами), - и структурированным, состоящим из некоторой общей части всех инструментов (ядра) и структурных (иногда иерархически связанных) классов инструментов. 

Интерфейсы разделяются на 

1)пользовательский 

2) системные. 

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

Системные интерфейсы обеспечивают взаимодействие между инструментами и их общими частями. Системные интерфейсы выделяются как архитектурные компоненты в связи с открытостью системы - их обязаны использовать новые (импортируемые) инструменты, включаемые в систему.

Самая общая архитектура инструментальных систем технологии программирования представлена на рис. 16.4.

Различают два класса инструментальных систем технологии программирования:

 1)инструментальные системы поддержки проекта и

2) языково-зависимые инструментальные системы. 

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

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

Примером такой системы является среда поддержки программирования на Аде (APSE [16.3]).

Рис. 16.4. Общая архитектура инструментальных систем технологии программирования.

 

prepod-shmu.ucoz.ru

Инструментальные средства разработки систем искуственного интеллекта

Министерство образования республики Башкортостан

Уфимский государственный авиационный технический университет

Кафедра информатики

филиал г. Туймазы

 

 

 

 

 

 

 

 

 

РЕФЕРАТ

на тему:

Инструментальные средства разработки систем ИИ

 

 

 

Выполнил: студент группы

ВТТ-203д Латыган А. В.

Проверил: к.т.н., старший преподаватель кафедры информатики Низамова Г. Ф.

 

 

 

2007 г.Оглавление

Введение3

Инструментальные средства разработки экспертных систем5

MatLab10

PROLOG13

Заключение16

Список использованных источников17

 

Введение

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

Искусственный интеллект занимает исключительное положение. Это связано со следующим:

  1. часть функций программирования в настоящее время оказалось возможным передать машине. При этом общение с машиной происходит на языке, близком к разговорному. Для этого в ЭВМ закладывают огромную базу знаний, способы решения, процедуры синтеза, программы, а также средства общения, позволяющие пользователю легко общаться с ЭВМ.
  2. В связи с внедрением ЭВМ во все сферы человеческой жизни становится возможным переход к безбумажной технологии обработки информации.
  3. Если раньше производство ориентировалось на обязательное участие человека, то в настоящее время находят применение безлюдные технологии, основанные на роботизации и автоматизации системы управления.
  4. Интеллектуальные системы в настоящее время начинают занимать ведущее положение в проектировании образцов изделий. Часть изделий невозможно спроектировать без их участия.

Системы, относящиеся к системам ИИ в настоящее время:

  1. Экспертные системы. Первые системы, которые нашли широкое применение. Их элементы используются в системах проектирования, диагностики, управления и играх. Основаны на вводе знаний высококвалифицированных специалистов (экспертов) в ЭВМ и разработке специальной системы по их использованию.
  2. Системы естественно - языкового общения (подразумевается письменная речь). Данные системы позволяют производить обработку связанных текстов по какой либо тематике на естественном языке.
  3. Системы речевого общения. Состоят из двух частей:
  4. системы восприятия речи
  5. системы воспроизведения речи.
  6. Системы обработки визуальной информации. Находят применение в обработке аэрокосмических снимков, данных, поступающих с датчиков, роботов и автоматизированных систем.
  7. Системы машинного перевода. Подразумеваются естественные языки человеческого общения.
  8. Системы автоматического проектирования. Без этих систем не может обойтись ни одно крупное машиностроительное предприятие.

Инструментальные средства разработки экспертных систем

Экспертные системы (ЭС) - это системы искусственного интеллекта (интеллектуальные системы), предназначенные для решения плохоформализованных и слабоструктурированных задач в определенных проблемных областях, на основе заложенных в них знаний специалистов-экспертов. В настоящее время ЭС внедряются в различные виды человеческой деятельности, где использование точных математических методов и моделей затруднительно или вообще невозможно. К ним относятся: медицина, обучение, поддержка принятия решений и управление в сложных ситуациях, деловые различные приложения и т. д.

Основными компонентами ЭС являются базы данных (БД) и знаний (БД), блоки поиска решения, объяснения, извлечения и накопления знаний, обучения и организации взаимодействия с пользователем. БД, БЗ и блок поиска решений образуют ядро ЭС.

Для конструирования ЭС используются различные инструментальные средства: универсальные языки программирования, языки искусственного интеллекта, инструментальные системы и среды и системы-оболочки. Системы-оболочки являются наиболее простым средством формализации (автоформализации) экспертных знаний, практически не требующие участия посредников в лице инженера по знаниям или программиста при их использовании. Инженер по знаниям только помогает эксперту выбрать наиболее подходящую для его проблемной области оболочку.

Известны три основные разновидности исполнения экспертных систем:

- Экспертные системы, выполненные в виде отдельных программ, на некотором алгоритмическом языке, база знаний которых является непосредственно частью этой программы. Как правило, такие системы предназначены для решения задач в одной фиксированной предметной области. При построении таких систем применяются как традиционные процедурные языки PASCAL, C и др., так и специализированные языки искусственного интеллекта LISP, PROLOG.

- Оболочки экспертных систем - программный продукт, обладающий средствами представления знаний для определенных предметных областей. Задача пользователя заключается не в непосредственном программировании, а в формализации и вводе знаний с использованием предоставленных оболочкой возможностей. Недостатком этих систем можно считать невозможность охвата одной системой всех существующих предметных областей. Примером могут служить ИНТЕРЭКСПЕРТ, РС+, VP-Expert.

- Генераторы экспертных систем - мощные программные продукты, предназначенные для получения оболочек, ориентированных на то или иное представление

www.studsell.com


Смотрите также