BIGLIB
  большущая библиотека (9812 книг), можно не только прочитать но и скачать бесплатно
 
АСТРОЛОГИЯ
  книги по астрологии
 
КРИМИНАЛ
  книги про криминал
 
ДЕТЕКТИВЫ
  детективы известных
   писателей
 
ФАНТАСТИКА
  фентези, фантастика,   фантастические повести
 
ПРИКЛЮЧЕНИЯ
  книги про приключения,   путешествия
 
ПОЛИТИКА
  книги про политиков,   репрессии
 
ПСИХОЛОГИЯ
  разнообразная литература   по психологии
 
КЛАССИКА
  классическая литература
 
КОМПЬЮТЕРНАЯ
  ЛИТЕРАТУРА
  про компютерное железо,   документация, языки   программирования
 
РЕЛИГИЯ, АТЕИЗМ
  книги про религию
 
ФИЛОСОФИЯ
  книги, которые заставляют   задуматься над   окружающим тебя миром.
 
ЭНЦИКЛОПЕДИИ
  самые интересные   энциклопедии на
   разные темы
 
МЕДИЦИНА
  медицинские книги,   методички,
   народные лечебники
 
КУЛИНАРИЯ
  рецепты тортов,   консервирование,
  все о спиртных
  напитках.
 
СТИХИ
  стихи популярных и не   очень авторов
 
ТВОРЧЕСТВО
  народное творчество,   стихи, песни и т.д.
 
ЮМОР
  анекдоты, приколы,   смешные истории
 
ЛЮБОВНЫЙ РОМАН
  мир высоких чувств и   любовных грез
 
ЭРОТИКА
  эротические рассказы,   книги о технике секса,   кама-сутра и др.




adfun.ru
Rambler's Top100 Rambler's Top100
    НА ГЛАВНУЮ
    РЕФЕРАТЫ
    ТОСТЫ
    ТЕСТЫ
    АВТО
    ДЛЯ СТУДЕНТА
    КНИГИ
    КОНТАКТ
 
Объектно-ориентированное расширение пролога
Автор ""
Размер 12936 Байт
Страница 1 из 2
СКАЧАТЬ КНИГУ ЦЕЛИКОМ

         
                   ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ РАСШИРЕНИЕ ПРОЛОГА
                           
                                          
            Из  множества  промышленных  объектно-ориентированных расширений
       языков (object oriented extensions to languages), которых сейчас соз-
       дается все больше  и  больше,  одним  из  самых  интересных  является
       Prolog++,   объектно-ориентированная  версия Пролога, созданная Logic
       Programming Associates (LPA). LPA давно находится  в  числе  основных
       поставщиков  Пролога  и  имеет  версии  языка  как  для PC, так и для
       Macintosh.
            В данной статье рассматривается MacObject,  версия Prolog ++ для
       Macintosh.  MacObject используется вместе с MacProlog 3.1.  Итак, что
       же предлагает Prolog ++ такого, чего не могут предложить другие  объ-
       ектно-ориентированные среды, и как  объектно-ориентированное расшире-
       ние вписывается в язык, основанный на правилах?


                                Prolog и Prolog ++

            Пролог - это язык,  предназначенный для поиска решений. Это дек-
       ларативный язык, то есть формальное определение  (постановка)  задачи
       может  быть использовано для ее решения. Пролог определяет логические
       отношения в задаче, как отличные от пошагового решения этой задачи.
            Центральной частью Пролога являются средства логического вывода,
       которые решают запросы, используя заданное множество фактов и правил,
       к которым обращаются как к утверждениям. Пролог также не имеет  деле-
       ния  переменных на типы и может динамически добавлять правила и факты
       к средствам вывода. Таким образом, это гибкий язык, и он более приго-
       ден для  объектно-ориентированного расширения, чем язык со строго за-
       данными типами, например, Паскаль.
            Пролог ++ представляет собой дополнение к  стандартному Прологу.
       Все свойства языка по-прежнему доступны программистам. Следовательно,
       Пролог ++ можно отнести к группе  гибридных  языков,  представителями
       которой считаются Object Pascal и C++.
            Расширение Пролог ++ поддерживает все свойства,  присущие обычно
       объектно-ориентированным языкам:  концепции объектов и классов, еди-
       ничное и многократное наследование, разбиение на подклассы и передачу
       сообщений.  Поддерживаются также некоторые усовершенствованные свойс-
       тва,  существующие в таких языках, как C++ и Smalltalk, включая общие
       и частные методы.
            Интересным свойством является поддержка в языке программирования
       с  управлением данными.  Эта техника,  которая может быть еще названа
       программированием,  "управляемым событиями", используется в большинс-
       тве  языков   объектно-ориентированного программирования,  особенно в
       тех,  которые  разработаны  для  машин  с  интерфейсом,   управляемым
       "мышью".
            Объектно-ориентированная программа реагирует на события, которые
       определяют поток управления. В Прологе ++ программирование с управле-
       нием  данными  достигается при помощи концепции демонов. Демон предс-
       тавляет собой объект, методы которого вызываются в случае  определен-
       ных  событий  и  могут  быть таким образом использованы для поддержки
       программирования с управлением данными.
            Сам язык  основан на концепции передачи сообщений.  Программа на
       Прологе ++ строится вокруг множества объектов Пролога ++, которые об-
       мениваются сообщениями. В этом смысле Пролог ++ ближе к чистому  объ-
       ектно-ориентированному языку,  такому,  как Smalltalk,  чем  C++  или
       Object Pascal. Определения объектов строятся исходя из вызовов
            
            Open_Object [имя_объекта]
       и
            Close_Object [имя_объекта] ,
            
       а методы определяются практически так же, как в других  объектно-ори-
       ентированных языках.  Для  задания  наследования  можно явным образом
       указать, какой метод какого объекта должен наследоваться, что являет-
       ся необходимым для многократного наследования.
                                       
            
                              Использование MacProlog

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

                                 Иерархии объектов

            Интерфейс диаграмм иерархий объектов подобен тому,  который воз-





никает при использовании графов вызовов, и использует графическое ок- но MacProlog с дополнительными возможностями палитры. Эти возможности включают средства для создания новых объектов или редактирования существующих (object tool), средства установления связи между объектами (link tool), которое используется в основном в случае множественного наследования, а также средства для атрибутов (attribute tool) и информационные (information tool). Двойное нажатие в момент выбора средства для объекта выдаст вместо самого объекта ок- но метода объекта. При выборе информационного средства для объекта будет выдано ок- но информационного диалога об объекте, и вы сможете получить из него информацию об экземплярах объекта, его методах и атрибутах. Имеется также список сообщений - и тех, которые объект получает, и тех, кото- рые он посылает другим объектам. Существует также возможность передвигаться вверх и вниз по ие- рархии объектов, используя информационное окно объекта, посредством выбора подклассов или вышестоящих классов объекта. Иерархии объектов особенно полезны для макетирования - область, в которой Пролог вообще чрезвычайно силен. Помимо возможности опреде- ления иерархии можно также задать методы, определить сообщения и про- извести проверку на любые коллизии, например, проверить, не повторя- ется ли имя метода. Единственным неудобством является то, что иерархия объектов не имеет связи с текущей программой, и изменения в одной из них не пере- носятся автоматически на другую. Тем не менее, поскольку иерархии объектов используются в основ- ном при разработке и макетировании, это не играет роли. Иерархии объ- ектов полезны и в плане графического отображения идей, особенно когда речь идет о сложных концепциях, таких как многократное наследование. Пролог ++ имеет ясную систему записи, которая даже может быть использована в качестве основы для техники построения диаграмм в C++ или Object Pascal. Особенно впечатляют средства установления связи, которые демонстрируют порядок вызова методов в случае, когда объект имеет более чем один вышестоящий класс. Программам MacObject также доступны средства стандартного MacProlog, из которых наиболее полезны графы вызова и средства отлад- ки. Граф вызова показывает связь с другим объектом, методы которого он вызывает. Мощные средства отладки содержат полный набор команд трассиров- ки, включая установку точек просмотра для различных методов или от- дельных объектов, так что отладчик подключается всякий раз, когда вы- зывается данный метод или любой из методов данного объекта. MacObject может использовать и графические возможности MacProlog, в том числе графическое окно - прекрасное средство быстро- го макетирования прикладных задач графического типа. Имеется также доступ ко всем возможностям Macintosh, и внешним базовым средствам, написанным на Паскале или C. MacProlog действительно прекрасно прис- пособлен к Macintosh, так что его интерфейс обеспечивает эффективную среду разработки. Передача сообщений В MacObject способ выполнения программ совершенно отличен от стандартного Пролога. В стандартном Прологе программы выполняются посредством задания простого запроса. В MacObject механизм запросов модифицирован таким образом, чтобы объектам можно было посылать сооб- щения. Например, в качестве одного из примеров к продукту прилагается задача составления школьного расписания: имея информацию об учителях и предметах, необходимо сотавить расписание. Чтобы запустить этот пример, введите запрос: timetable <- make При этом будет передано сообщение 'make' ('создать') объекту 'расписание', и будет рассчитано новое расписание. Если бы нельзя бы- ло передать объекту сообщение, невозможно было бы запустить ни одну программу Пролога ++. Объекты могут обмениваться сообщениями между собой посредством команды 'send' ('послать') из меню объектов. Сооб- щение также может быть отправлено вверх по иерархии. Использование MacObject MacObject представляет собой солидный продукт с большим количес- твом хорошо продуманных возможностей. Объектно-ориентированные расши- рения Пролога по своей концепции сходны с идеями экспертной системы Flex, которая также может использоваться совместно с продуктом. Диаграммы иерархий объектов похожи на диаграммы иерархий объек- тов в традиционных средах объектно-ориентированного программирова- ния типа Smalltalk, и современных средствах макетирования, таких как Prograph. Графическое представление идей помогает ясно представить себе задачу и найти решение. Таким образом возможно, что MacProlog будет использоваться в качестве испытательного стенда или средства макети- рования прикладных задач, что в результате приведет к созданию друго- го языка. Однако, не следует считать MacProlog только лишь средством маке- тирования. Продукт предлагает полную среду для разработки прикладных задач. Вы можете создавать законченные прикладные разработки для Macintosh, осуществлять доступ ко всем его средствам, и даже созда- вать операционно-независимые прикладные системы (stand alone applications) при помощи генератора независимых прикладных разрабо- ток. Пролог всегда был идеальной средой для решения задач вследствие близости определения задачи и решения ее на Прологе. Объектно-ориен- тированное программирование еще усиливает это качество, поскольку мо- гут быть созданы объекты и методы, которые еще точнее моделируют за- дачу. Объектно-ориентированные расширения делают LPA MacProlog еще более мощным продуктом, а комбинация программирования с управлением данными и объектно-ориентированного программирования непременно пос- лужит тому, что продуктом заинтересуются.


Страницы : [1] 2


adfun.ru









Форум раскрутка сайта и интернет-реклама
реклама - рекламное агентство -
Интернет PR агентство чат и форум
волчат знакомства - сайт знакомств
бесплатные компьютерные игры
фото знакомства
новые стеклопакеты -
качественное остекление балконов
портал - пластиковые окна -
закажите окна пвх в Москве

частная стоматология в Москве:
надежная стоматологическая клиника
протезирование зубов и
отбеливание зубов в стоматологии
Музыка - скачать mp3 музыка
каталог партнерские программы
ручной бесплатный обмен ссылками цифровые камеры цифровые фотоаппараты -
цифровые видеокамеры

театры - заказ билетов в театр -
магазин - продажа компьютеров
в Москве форум Испания - жилье -
недвижимость в испании

турфирма - испания туры
Переводы - бюро переводов
Законы - закон о товарных знаках,
Грузовые перевозки. АсМАП. Дальнобой закон о рекламе
Интернет казино
реклама на форуме и контекстная реклама
на Яндексе Баннерная сеть и
интернет каталог сайтов Holiday.Ru
Форумы политика, лучшие анекдоты
знакомства.