Поиск

Полнотекстовый поиск:
Где искать:
везде
только в названии
только в тексте
Выводить:
описание
слова в тексте
только заголовок

Рекомендуем ознакомиться

'Документ'
Для России ответы на вопросы – на каком уровне активности находится инновационная деятельность и достаточен ли этот уровень для модернизации страны –...полностью>>
'Документ'
1. Знаменательные даты. 2005: универс. ил. календарь для работников б-к, любителей книги, науки и словесности / [отв. ред. О. Бородин]. - М. : Либере...полностью>>
'Лекция'
Социальная сфера – целостная система, основными элементами которой являются люди, их связи, взаимодействия и отношения, передаваемые из поколения в п...полностью>>
'Документ'
I. Краткие сведения о лицах, входящих в состав органов управления эмитента, сведения о банковских счетах, об аудиторе, оценщике и о финансовом консуль...полностью>>

1. Мови програмування (процедурні, візуальні, специфікацій). Концепція інструмен­тального середовища розробки програм. Синтаксис І семантика, набори мовних конструктивів: описи, оператори, лексеми, поняття, атрибути, ділянки дії, блоки. Принцип модульності Алгоритмічна мова

Главная > Документ
Сохрани ссылку в одной из сетей:

Тема 1. Мови програмування (процедурні, візуальні, специфікацій). Концепція інструмен­тального середовища розробки програм. Синтаксис і семантика, набори мовних конструктивів: описи, оператори, лексеми, поняття, атрибути, ділянки дії, блоки. Принцип модульності

Алгоритмічна мова (АМ) – формальна мова, призначена для записування алгоритмів шляхом формального задавання правил конструювання. Хоч для кожної АМ такі правила досить різноманітні і якісно відмінні, будь-який алгоритм можна скласти з невеликого числа елементарних приписів, що задають послідов­ність кроків алгоритму. АМ зветься універсальною, якщо в ній для довільного алгоритму можна описати алгоритмічно повний набір приписів. За узагальненістю способу записування алгоритмів універсальна АМ рівносильна алгоритмічній системі, наприклад, класичним алгоритмічним системам: нормальним алгоритмам Маркова, рекурсивним функціям, машинам Т’юрінга чи Поста.

АМ визначається алфавітом вхідних символів, точним описом синтаксису (граматики) і семантики. Оператори АМ переробляють інфор­мацію і можуть складатися з послідовності елементарних операцій, а опера­тори управління (переходу) визначають порядок виконання операторів у алгоритмі. Незважаючи на універсальність АМ, вони виявилися непридатними щодо розв’язання практичних задач на комп’ютерах, оскільки не враховували умов операційних середовищ, а орієнтувалися на дослідження фундамен­таль­них питань теорії алгоритмів. Наприклад, у мові АЛГОЛ-60 (1960 р.) для записування алгоритмів були відсутні навіть оператори вводу-виводу. Тому на основі АМ виникли мови програму­вання (МП) як формальні мови спілкування людини з комп’ютером, призначені для опису сукупності інструкцій, виконання яких забезпечує правильне розв’язання потрібної задачі; інструкції описують обробку даних (інформації) і алгоритмів (програм) комп’ютерної обробки даних.

Першими МП були мови машинні, що адекватні системам команд комп’ютера, безпосередньо ним реалізуються (наприклад, як асемблер), однак вимагають суттєвої деталізації розв’язування задачі. Тому з’явилися МП з вищим рівнем абстракції, орієнтовані на певні предметні області і здатні лаконічно виразити алгоритм розв’язання задачі: у 1958 р. Фортран для вирішення інженер­них і наукових задач; у 1959 р. Кобол для задач оброблення економічної інформації. Зазначимо багатоцільову Адресну мову, яку розробили у 1956 р. київські математики В.С. Королюк і К.Л. Ющенко і яка, завдяки апарату непрямої адресації, випередила появу не тільки МП вищого рівня, але й асембле­рів. Цей апарат закріпився у МП для системного програмування тільки починаючи з МП ПЛ/1 (1966 р.). Підручник з Адресної мови перевиданий у п’яти країнах світу, а Адресна мова реалізована на усіх вітчизняних комп’ютерах першого покоління.

Залежно від підходу до описування задачі МП поділяють на процедурні, за допомогою яких детально визначається, як повинен діяти комп’ютер, та проблемно-орієнтовані або функціо­наль­ні, які визначають у термінах функцій, що необхідно зробити. Процедурні мови містять засоби вираження таких характерних дій, як обчислення виразів, перевірка умов, оброблення текстових рядків, організація циклів обчислень, виклик процедур тощо. Проблемно-орієнтовані мови надають засоби визначення наборів функцій, що повинні виконуватися.

За сорокаріччя розвитку відомо понад 1000 МП, серед яких поширилися і продов­жу­ють розвиватися всього півтора десятки, зафіксовані у міжнародних і національних стандартах. Необхідність стандартизації МП з’ясувалася ще наприкінці першого десяти­річ­чя їхньої появи. З процедурних сьогодні стандарти­зовані і мають по декілька поко­лінь МП для інженерних застосувань Фортран, Бейсік і ФОРТ; для оброблення даних Кобол; для структурованих запитів до реля­ційних баз даних SQL; для розмітки документів SGML; для управління реальними об’єктами Ада і Модула-2; для оброблення матриць APL; для оброблення медичних даних M[UMPS], для оброблення списків КоммонЛисп; Пролог з вбудованим механізмом логічного виведення за методом резолюцій; для розробки застосувань ПЛ/1, Паскаль, Сі та С++.

Вражає шлях розвитку МП Фортран, життєвий цикл якої нараховує вже шість поколінь, починаючи з Фортран-II у 1958 р. і першого стандарту на Фортран-IV у 1966 р.. Потім діяли стандарти на Фортран-77 та Фортран-90, поки стандарт на Фортран-95 не розділився на три частини через складність і громіздкість мовних конструктів для розпарале­лю­вання процесів, спадкування, плаваючої арифме­тики, оброблення рядків змін­ної довжини і розширення вводу-виводу та загалом експорту/ імпорту даних. В результаті розпочатого перегляду чинного стандарту, шосте покоління Фортран-2000 не буде поступатися за потужністю МП Сі та збага­титься засобами об’єктно-орієнтованого програму­ва­ння, інтерна­ціоналіза­ції, полі­мор­­фізму, задавання посилань, асинхронного вводу-виво­ду, інтер­валь­ної арифметики, зв’язку з мовами програмування тощо.

Зазначимо, що розвиток МП в Україні супроводжувався розробкою декількох оригінальних мов, серед яких доцільно назвати МП НЕДИС для описування задач моделювання подій, АНАЛІТИК для чисельно-аналітичних викладок на першому в світі персональному комп’ютері серії МИР, що розроблений в Києві.

Перспективи організації розподіленого оброблення на основі обчислюваль­них мереж, що відкрилися у 90-і роки, призвели до нового витка у розвитку сучасних МП, які прийнято відносити до четвертого покоління (4GL). Причому зазначена родина стандар­ти­зо­ваних МП розвивається переважно усередині себе, не розширюючи меж та об’єктивно відбиваючи наслідки принципу спадковості поколінь МП Приклади – створення на основі SGML мови HTML для описування web-сторінок і на основі С++ мови Java для розроблення програм-аплетів у складі Web-сторінок.

Опис задачі або програма на МП перетворюється у машинну мову спеціальним процесором (транслятором чи інтерпретатором). Довільна МП машинно-незалежна, тому колись написану програму можна використовувати на різних комп’ютер­них платформах і у різних операційних середовищах. Сьогодні мовний процесор – це інтегроване середови­ще розробки прикладних програм і великих застосувань, в якому уніфіковано підтриму­ється зв’язок з іншими МП та базами даних, надаються графічні засоби і забезпечується поліекранна схема діалогу з користувачем.

У МП реалізовано принцип приховування інформації, коли абстракції даних (блоки і шаблони зовнішніх даних) чи дій (процедури та їхні параметри) можна викорис­то­вувати як чорний ящик, не знаючи подробиць їхнього облаштування та створення, і накопичувати продукти своєї та чужої праці. У сучасних МП вищий прояв цього принципу становлять абстракції типів даних, що визначають категорії даних з інкап­суляцією операцій над ними, та абстракції об’єктів, які домінують в об’єктно-орієнтова­ному програмуванні. За цим принципом визначаються інтер­фейси – правила взаємодії програм. Щоб продукт праці програмістів міг викорис­то­вуватися іншими, його функції і правила настроювання необхідно ясно визна­чати, тоді можливі колективна розробка програм і компонування їх з готових моду­лів, а також забезпечення розподіленого оброблення у середовищі відкритих систем.

Проблемно-орієнтовані мови стали підґрунтям для розвитку мов специфікацій як засобів задавання специфікацій задачі, яку повинна розв’язувати програма. Зазвичай такий опис складається за певною моделлю розв’язання задачі; специфікуються характеристики і параметри моделі, тому у м.с.п. цінується насамперед висока виразність. Наведемо два приклади м.с.п., відомих кожному програмісту, – IDL (Interface Definition Language) для описування інтерфейсів програм розподіленого застосування і синтаксична метамова розширених БНФ (бекусо-наурівських форм). Другий приклад м.с.п – мови подання знань, які почали поповнюватися специфікаціями компонентів багаторазового використання, насамперед алгорит­мів добування знань з дослідних даних. Алгоритми навчання стали настільки узагальненими, що вони включені до складу стандартних бібліотек і, як наслідок, почалася стандартизація цих алгоритмів, яка має на меті їхню фіксацію як мовних конструктів.

Здолавши сорокарічний шлях розвитку, МП збагатилися власним фор­мально-алгоритмічним апаратом, що складає інтелект інструментів розробки програм, і трансформувалися у алгорит­мічні системи із збалансованими наборами конструктів, які спрацьовують у операційному середовищі з достатньо формалізо­ваною та уніфікованою поведінкою, правила якої разом з МП інтенсивно стандартизуються. Таким чином, сьогодні МП повернули собі назву алгоритмічних мов.

Стандартизация языков программирования и операционных сред. Согласно ISO/IEC TR 14252:1996 "Руководство по POSIX-средам открытых систем (Open Systems Envirоnment)" в системе, составленной из около 50 действующих и еще большего числа разрабатываемых ISO/IEC-стандартов, стандарты POSIX-OSE разбиты на две группы. Одна из них касается API-интерфейса прикладных программ (Application Program Interface), определяет, как прикладное программное обеспечение взаимо­действует с операционной средой, и влияет на мобильность программ. Стандарты другой группы относятся к EEI-интерфейсу внешней среды (Exter­nal Environment Interface), устанавливают нормы взаимодействия приложения с внешней средой и влияют на взаимодействие приложений одного с другим, удобство пользовательского интерфейса (ПИ) и мобильность данных. Этой системой стандартов преследуются такие цели поддержки POSIX-совместимых сред открытых систем:

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

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

  3. мобильность данных, понимаемая как использование данных одного и того же формата на разных компьютерных платформах и в различных операционных средах;

  4. пользовательская мобильность. Стандартный пользовательский интерфейс позволяет переходить от одной опера­ци­онной среды к другой и от одной прикладной программы к другой в пределах одного прило­жения так, чтобы необ­ходимое для этого дополнительное обучение было минимальным. Согласно ISO/IEC TR 14252:1996 ПИ поддерживается четырьмя категориями унифицированных служб: командного интерфейса; символьно-ориентированного ПИ, графичес­кого ПИ и оконной системы управ­ления полиэкранным отображением.

Далее приведена таблица действующих стандартов и разрабатываемых проектов, состав­ляю­щих часть системы стандартов POSIX-OSE и непосредственно относящихся к языкам про­грам­­ми­рования и операционным средам. Таблица составлена по июльскому 2003 года пресс-релизу 22-го подкомитета “Языки программирования, их среды и системный интерфейс” объеди­нен­ного комитета ISO/IEC. Для обозначения этапов процедуры стандартизации использованы следующие английские аббревиатуры: IS – действующий ISO/IEC-стандарт; DIS и FDIS – соответственно проект, проходящий согласование на уровне всего объединенного комитета, и финальный DIS; CD и FCD – соответственно проект, проходящий согласование на уровне членов 22-го подкомитета, и финальный CD; WD – проект соответствующей рабочей группы 22-го подкомитета.

В POSIX-OSE от языков программирования неотделимы средства обработки БД, графиче­ских объектов и распределенной сетевой обработки (см. таблицу). Таким образом, на прикладном уровне OSE язык программирования рассматривается как знаковая система общения в интел­лектуальной опера­ционной среде, основу которой составляет языковый процессор с многочис­ленным оборудованием (мониторинг вычислений и межпрограмм­ная/межобъектная связь, удален­ный доступ и обработка распределенных БД, контроль и тестирование, разнообразный сервис). Механизм спецификации средств языкового процессора унифицируется через определение мобильной общей инструмен­тальной среды (PСTE) и двухуровневую архитектуру служб, поддерживающих взаимодействие через интерфейсы API и EEI.

Еталонна модель POSIX-OSE – це набір принципів, інтерфейсу, об'єктів та діаграм, що утворюють основу для специфікації стандартів, настанова та множина вказівок для майбутньої стандартизації та робіт з інтеграції. У напрямку розвитку та готовності Еталонної моделі POSIX-OSE необхідно забезпечити розуміння тих служб і можливостей, для яких зараз стандарти не діють та не можуть сформуватися конструктивні дії зі стандартизації.

Рисунок 1 – Еталонна модель POSIX-OSE

Опис Еталонної моделі POSIX-OSE випливає з перспективи застосування; тобто Еталонна мо­дель описує сприйняття (уявна мо­дель) прикладної платформи, що зага­лом забезпечує розподілену сис­­тему, яка використовується для під­тримки ПрО корист­увача. Така позиція гарантує, що:

  • користувачі ІТ мають відповідні служби, що задовольняють їхнім вимогам;

  • реалізації ІТ, що постача­ються, не є вимушено надлишковими.

На рисунку 1 зображена Еталонна модель POSIX-OSE. Модель іден­тифікує три об'єкти-сутності (прикладне програмне забезпечення, прикладна платфор­ма і зовнішнє середовище) і два інтерфейси, ототожнені з API і EEI. Прикладна платформа надає сервіс API і EEI через пов'язані інтерфейси.

Модель узагальнена до такої міри, що відбиває широке розмаїття загальних та спеціальних системних цілей. Специфікації служб визначено досить гнучко, щоб за потреби для кожної категорії встановити підмножину чи розширення. Зрештою Еталонна модель POSIX-OSE здатна вмістити ряд архітектур та стандартних підходів, що показує відповідність кожного з релевантних стандартів Еталонної моделі.

Стандарти спрямовані тільки на інтерфейс між об'єктами, включаючи служби та запропоновані інтерфейсом опорні фор­мати. Специфікація інтерфейсу визначає угоду, що задає функції, забезпе­чувані двонаправленим інтерфейсом. Зазначимо, що жодний набір стандартів не може окремо гарантувати мобільність спеціального застосування. Мобільність повинна попередньо закладатися при проектуванні застосування.

Еталонна модель не є багаторівневою, хоча за графічним поданням може скластися таке враження1 . Визначення частин моделі і зв'язків між ними важливіше їхнього графічного подання. Кожна з частин взаємодіє з іншими тільки через інтерфейс, при цьому не призначаються і не маються на увазі жодні інші зв'язки (наприклад, залежність, важливість, перевага чи першість). Прикладна платформа надає служби користувачам за допомогою обох видів інтерфейсу. Фактично EEI складений із трьох типів інтерфейсу, кожний з який спільно використовує зовнішні (видимі) загальні характеристики. Користувач активізує служби платформ через EEI. Програміст звертається до служб прикладної платформи через API, складаючи початковий текст програми, що зв'язується зі службами на етапі компіляції та виконання.

Усі ці властивості доступні локально чи за посередництва віддаленого доступу, якщо система зв'язана з великою розподіленою системою. Інші ресурси можуть визначатися як складові частини прикладної платформи. Зазначимо, що фактична реалізація довільного елемента системи може значно відрізнятися від Еталонної моделі. Ідея полягає у визначенні концептуальної Еталонної моделі для використання колективами розробників та інтеграторів.

Проблеми стандартизації мов. В процессе разработки и развития программных средств приложений для поддержки их мобильности на уровне источника кода цель системы стандартов POSIX-OSE – формализация и унификация интерфейсов операционной среды, основанных на документации ОС Unix как наибо­лее полно реализующей механизмы многопроцессор­ной и сетевой (распределенной) обработки, в том числе в реальном времени. В фокусе этих стандартов находится обеспечение эталонного, общего для любого языка программирования сервиса, как правило, иллюстрируемого через интер­фейс языка Си, до завершения С++-стандарта считавшегося наиболее продвинутым среди языков. Причем каждый стандарт POSIX-OSE дробится на части, одни из которых, определяя суть функциональных требований эталонного сервиса, не зависят от языка, а другие – составлены из привязок языков программирования и содержат стандартизованный интерфейс для языково-специфического сервиса. Для любой реализации POSIX-OSE-основанной прикладной системы, претендующей на соответствие (согласованность) стандартам POSIX-OSE с произвольной языко­вой привязкой, обязательно подчинение всем частям стандартов.

О продуктивности такой концепции встраивания языка в прикладную платформу говорит, например, факт отсутствия многих проблем системной организации, присущих приложениям. Так, для язы­ков программирования проблемы 2000 года (Y2K) не существовало, поскольку в них еще с начала 90-х годов утвердился соответствующий временной тип данных. Скажем, в Коболе в вызове функ­ции CURRENT-DATE для указания года предусмотрены четыре цифры; в Аде дата огра­ни­чена 2099 годом; в Фортране-90 и 95 встроенная функция DATA_AND_TIME возвра­ща­ет четыре цифры года; при инсталляции процессора Модулы-2 разрешается явно задавать формат даты в вызове встроенной функции обращения к системным часам.

Для уяснения места языков в системе интерфейсов POSIX-OSE перечислим некоторые языковые конструкты, в наибольшей мере повлиявшие на становление современных языков программирования, поколение которых принято относить к четвертому (4GL). В процедурных языках в направление развития модульного принципа программирования утвердились следующие тенденции и механизмы:

  • с возникновением объекта как инкапсулированного модуля и кристаллизацией концепции независимого сосуществования объектов операционной среды выявлены иерархии классов объек­тов от “фабрики классов”, восходящей к модели интерфейсов “клиент-сервер” (примеры – Кобол-2000, SQL-3), до СОМ-объектов компонентной модели межобъектного взаимодействия (С++);

  • расчленение триады описание-объявление-означивание (specification-declara­ti­on-definition) объектов обработки привело к увеличе­нию численности этапов отложен­ных вычислений и повышению их доли в функциони­ровании языкового процессора, тем самым усложнилась вся система смешанных вычисле­ний. Если в языке первого поколе­ния Фортран-IV, когда триада еще не сформировалась, была задействована пара specifi­ca­tion-definition, а элементы макровычислений допускались только в одном языковом конструкте format, то в С++ поддерживаются четыре этапа отложенных вычислений. Впервые полное расчленение триады было зафиксировано в середине 70-х годов в Алголе-68, однако невостребованность этого языка, опередившего время, объясняется отсутствием разработанной концепции объекта;

  • с переходом от командного управления программированием к схемно-видео­формному сформировалась современная визуальная оболочка языковых процессоров;

  • увеличение номенклатуры и объемов наборов повторно используемых компонен­тов при­вело к фиксации их как языковых конструктов, поддержанных мощными стандартными биб­лиотеками классов объектов и шаблонов классов общего назначения вида FDT (Fundamental Data Types).

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

Так, проведенная в 1991-98 годах стандартизация С++ – это не канонизация удачных решений разработчиков С++-процессоров, а настоящая разработка нового языка, не обремененная необходимостью параллельно реализовать транслятор, но заимствовавшая и переосмыслившая передовые идеи. Наравне с ведущими производителями C++-инструментария, оказывающими наибольшее влияние на информационную индустрию (Watcom, Unisys, Motorola, Sun Microsys­tems, Borland, Microsoft и др.), разработчики стан­дарта не только повлияли на форму С++, но и выработали эталонный его вариант, который на момент окончания работ полностью не реализован ни одним транслятором.

Обеспечивающий преемственность для Си-программ и восходящий от своего пред­шественника Си, для которого существовал стандарт ISO 9899:1990, С++ вобрал новейшие меха­низ­мы, в первую очередь основу объектно-ориентированной природы, аппарат шаблонов и абст­ракт­ных классов и реализуемую посредством синтаксиса обработку исключений и пространства имен. Нацелившись на создание стандартной библиотеки по аналогии с Си и использовав прототипы библиотек FDT и BIDS (Borland International Data Structures), разработчики стандарта сформировали библиотеку стан­дарт­ных шаблонов классов STL (Standard Template Library), которая, хотя и получилась синтак­сически некорректной относительно сущест­вующих транслято­ров, является такой же авангардной, как и весь С++-стандарт. Не менее аван­гардна, как и универ­сальна, концепция многопоточности, согласно которой объекты в C++ инкап­сулируют нити пото­ка управления. Учитывая требования PREMO-стандарта на програм­мную среду для multimedia-объектов, С++-стандарт тем не менее не регламентирует способ реали­зации многопоточности, среди которых разработчики насчитали 18 и, не остановив свой выбор на чем-либо, решили пока не закреплять в стандарте ни одного способа. Наряду со многими другими нововведениями, рабочие варианты расширения C++ для многопоточности решено поместить в специальное дополнение к проекту стандарта “Исполнение С++”. Кроме того, результатом столкновения коммерческих интересов компаний Microsoft и Sun Microsystems, разрешенных судом США, стала разработка и ударная стандартизация скриптового языка спецификаций С#.

С++-стандартизация – красноречивый пример столкновения коммерческих интересов; она задержалась на два года из-за согласования спецификаций стандартной библиотеки STL, состав­ляющей две трети объема С++-стандарта. Причем ISO/IEC столкнулся со значительны­ми организа­ци­онными трудностями, пока ему совместно с ANSI не удалось захватить инициативу в разра­ботке языка и осуществить разделение труда с производителями C++-процессоров, которые теперь специализируются на выпуске трансляторов по новейшим спецификациям и участвуют в развитии языка только в цивилизованном порядке, взаимодействуя с разработчиками стандарта через нацио­нальные органы стандартизации как официальные члены ISO/IEC.

С фиксацией объектно-ориентированной основы С++ и его стандартной библиотеки от­кры­­лись ближайшие перспективы стандартизации распространенных языков программирования. Так, с целью упорядочения средств объектно-ориентированного программирования, совершенст­во­ва­ния концепции целостности, решения задачи интернационализации и расширения состава стандартной библиотеки пересмотрен ISO/IEC 9899:1990 для языка Си. В результате пересмотра ISO 1989:1985 Кобол-2000 получил средства объектно-ориентированного программи­рования и интерна­ционализации, мощный набор встроенных функ­ций (ана­­лог стандартной библиотеки), развитый аппарат описания удаленного доступа и связи с БД в Разделе оборудования и манипулирования видеоформами документов в Разделе данных, а также новую арифметику дат, задаваемых с точностью до сотой доли секунды и уточнением дня в году через указание не только числа в месяце, но и порядкового номера в интервале от 1 до 366.

Анализируя путь развития процедурных языков программирования, приходится конс­­­та­ти­ро­вать, что уже исчерпаны возможности поддержки преемственности программного обес­пе­чения, понимаемой как поддержка внутренних слоев накопленного с сере­дины 70-х годов программного продукта, ввиду назревшего революционного перехода к ново­му поко­лению языков и операционных сред. Кроме объектно-ориентированного подхода к про­грам­ми­­рова­нию, перекроившего основу языков, одной из революционных черт их трансформации является интернационализация, способная оказать воздействие посредством стандартизации фор­мы самих языковых конструктов аналогично их надъязыковой стандартизации, регламентиро­ван­ной ДСТУ 4072-2001 (ISO/IEC 13886:1996), ДСТУ 3901-99 (ISO/IEC 11404:1996), ISO/IEC 10967-1:1995, ISO/IEC 10967-2:2001, СD 10967-3, PDTR 14369 по независимым от языков вызову процедур, типам данных, арифметике и сервису. Эффект воздействия другой черты, нацеленной на стандартизацию нынешней визуальной оболоч­ки языко­вых процессоров, угадывается по образу реализованных визуальных языков программи­рования.

Тенденции революционного развития языков программирования и совершенствования мето­дики их стандартизации прослеживаются и для других видов языкового общения. B языках специ­фикаций существенно усложнились алгоритмы интерпретации взаи­мо­связей между фрагментами алгоритмизируемых объектов, а не просто поддер­живается концепция объекта “часть-целое”, иногда задаваемого по аналогии. Пример – путь языка SGML для оформления документов к языку HTML для описания (программирования) Web-сайтов в форме гипертекстовых строк. Для справки, ISO/IEC уже провел стандартизацию HTML.

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

С появлением интеллектуальных агентов началась трансформация основы языков представ­ления знаний. В рамках DARPA Knowledge Sharing Effort подготовлен проект стандарта языка коммуникации агентов KQML (Knowledge Query and Manipu­lation Language) в среде следующей архитектуры. Каждый агент выступает владельцем собственной базы знаний, а коммуникация аген­тов сводится к обмену информацией о содержании этой БЗ, чтению, за­писи и модификации утверждений БЗ, запросов на использование знаний из БЗ для пере­дачи сообщений другим агентам. Сообщения, которыми обмениваются агенты, составляют требо­ва­ния, принуждающие агента к выполнению соответствующего действия (по крайней мере к вы­да­че ответа) и относящие­ся к предвидениям и/или целям агента. В проект стандарта вошли 11 групп принуждения с параметрами, описывающими необходимые средства коммуникации агентов.



Скачать документ

Похожие документы:

  1. Gesac / aidaa the Tacis Programme — Intellectual Property

    Книга
    А22 Авторське право і суміжні права. Європейський досвід: У 2-х книгах / За ред. А. С. Довгерта. — Книга 1: Нормативні акти і документи. Європейська інтеграція України / Уклад.
  2. В. Н. Денисов доктор юридичних наук, член-кореспондент Академії правових наук України, професор

    Документ
    Європейський Союз: політика, економіка, право. Навчальний посібник / За ред. д-ра іст. наук Н.В.Антонюк, канд. юрид. наук М.М.Микієвича. - Львів, 2005 - 532с.
  3. Пантелєєв Володимир Павлович конспект

    Конспект
    Виникнення, становлення і подальший розвиток аудиторської діяльності в Україні обумовлені суттєвими змінами в економіці держави, її ринковим спрямуванням і необхідністю незалежного об’єктивного контролю господарської діяльності підприємств

Другие похожие документы..