Реферат по предмету "Разное"


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-совместимых сред открытых систем: мобильность приложений (переносимость или возможность работать на/в большом количестве компьютерных платформ и различных операционных сред), ввиду чего прикладная программа определяется как объект, состоящий из исходного текста, необходимых программе данных, программной и эксплуатационной документации; интероперабельность приложений или взаимодействие, заключающееся в совместном функционировании программ, запу­щенных на различных компьютерных платформах; мобильность данных, понимаемая как использование данных одного и того же формата на разных компьютерных платформах и в различных операционных средах; пользовательская мобильность. Стандартный пользовательский интерфейс позволяет переходить от одной опера­ци­онной среды к другой и от одной прикладной программы к другой в пределах одного прило­жения так, чтобы необ­ходимое для этого дополнительное обучение было минимальным. Согласно 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 групп принуждения с параметрами, описывающими необходимые средства коммуникации агентов.Аналогичные работы ведутся рабочими группами по онтологии и форматам обмена зна­ниями. Ожидается, что вскоре будет завершена синтаксическая сис­тема универсаль­ного языка, который будут понимать все рациональные агенты. Это имеет существенное значение в контексте взаимодействия человека с компьютером (Human-Computer Interaction), поскольку в архитектуре кооперирующихся агентов пользователь выступает не как внешняя к системе величина, а как равноправная составляющая – рацио­нальный агент со своей БЗ. Эта новая роль пользователя в системе требует радикального пересмотра понятий и функций ПИ.Таблица ISO/IEC-cтандартов и их проектов по языкам программирования, их средам и систем­ному интерфейсу Скорочена назва документа Вид документа Стан розробки Мова програмування КОБОЛ. IS 1989:2002 Результат перегляду ISO 1989:1985. Гармонізований з ГОСТ 22558-89 Мова програмування Фортран-95. Частина 1: Базова мова IS 1539-1:1997 Результат перегляду IS 1539:1991. Почато перегляд Фортрану-2000 Фортран-95. Частина 2: Символьні рядки змінної довжини IS 1539-2:2000 Результат перегляду IS 1539-2:1994 Фортран-95. Частина 3: Компіляція умовних операторів IS 1539-3:1999 Фортран-95. Обробка помилок рухомої крапки TR 15580:2001 Фортран-95. Можливості обмінного типу даних TR 15581:2001 Фортран-95. Частина 2: Модуль символьних рядків змінної довжини IS 1539-2:2000 Результат перегляду IS 1539-2:1994 Фортран-95. Частина 3: Компіляція умов IS 1539-3:1999 Взаємодія Фортрану і Сі TR 15815 Індустріальний Фортран реального часу ISО 7846:1985 Відмінений у 1999 р. Мова програмування ПЛ/I ISO 6160:1987 Основна підмножина ПЛ/1 ISO 6522:1992 Мова програмування Паскаль IS 7185:1990 Мова програмування APL Репертуар символів APL IS 8485:1989 AM 8485:1989 Розпочато перегляд Розширений APL IS 13751:2000 Мова програмування Ада IS 8652:1995 Результат перегляду ISO 8652: 1987, з яким гармонізований ГОСТ 27831-88 Ада. Числові пакети IS 11430:1994 Включений у список перегляду Ада. Основні функції IS 11729:1994 Включений у список перегляду Ада. Комплексні функції IS 13813:1998 Ада. Параметризовані пакети для дійсних і комплексних типів і базові операції (векторні і матричні типи) IS 13814:1998 Ада. Специфікації семантичного інтерфейсу IS 15291:1999 Ада. Керівництво користувача по системах підвищеної цілісності TR 15942:2000 Інтерфейс Ада/SQL (SAMeDL) IS 12227:1995 Ада. Розширення реального часу TR 11735:1996 Ада. Узгоджена оцінка мовних процесорів IS 18009:1999 Мова програмування Повний Бейсік Модулі повного Бейсіка і ввід одиночного символу IS 10279:1991 AM1/10279:1991 Настанова з підготовки стандартів на мови програмування TR 10176:2002 Результат перегляду TR 10176:1991 і 10176:1998 Техніка прив'язки для мов програмування TR 10182:1993 Настанова з підготовки статей для відповідності стандартам мов програмування TR 10034:1990 Методи тестування процесорів мов програмування TR 9547:1988 Незалежні від мов типи даних (LIDT) IS 11404:1996 ДСТУ 3901-99; ДСТ 30664-99 Незалежний від мов виклик процедур (LIРС) IS 13886:1996 ДСТУ 4072-2001 Незалежна від мов арифметика. Частина 1: Цілочислова і дійсна арифметика IS 10967-1:1995 Включений у список перегляду Незалежна від мов арифметика. Частина 2: Елементарні числові функції IS 10967-2:2001 Незалежна від мов арифметика. Частина 3: Арифметика комплексних із рухомою крапкою і комплексні елементарні числові функції СD 10967-3 DIS – 09/00 Настанова з підготовки специфікацій незалежного від мов сервісу (LISS) TR 14369:1999 Проект ДСТУ Moдула-2. Частина1: Базова мова IS 10514-1:1997 Moдула-2. Частина 2: Основи IS 10514-2:1998 Moдула-2. Частина 3: Об’єктно-орієнтовані розширення IS 10514-3:1998 Узгодження Moдули-2 і Cі WD 15436 Розширений Паскаль IS 10206:1991 Мова програмування Сі IS 9899:1999 Результат перегляду 9899:1990 POSIX. Частина 1: Основний опис IS 9945-1:2002 Результат перегляду IS 9945-1:1990 і 9945-1:1996 POSIX. Частина 2: Системні інтерфейси IS 9945-2:2002 POSIX. Частина 3: Оболонка й утиліти IS 9945-3:2002 Результат перегляду 9945-2:1993 POSIX. Частина 4: Раціональний IS 9945-4:2002 POSIX-Ада інтерфейс. Прив'язка до системного API. IS 14519:1999 Результат перегляду 14519:1994 Пролог. Частина1: Основне ядро IS 13211-1:1995 Пролог. Частина 2: Модулі IS 13211-2:2000 Мова програмування Лісп (ISLisp) IS 13816:1997 Система керування інтерфейсом відеоформ (FIMS) IS 11730:1994 Включений у список перегляду Віденський метод розробки. Мова специфікацій. Частина 1: Базова мова IS 13817-1:1996 Віденський метод розробки. Мова специфікацій. Частина 2: Модулі Робота над WD Z Notation IS 13568:2002 Синтаксична метамова. Розширені БНФ IS 14977:1996 DXL - мова деревоподібних діаграм IS 14568:1997 Функціональне наповнення для інтернаціоналізації. API для інтернаціоналізації WD 15435 Робота над WD Мова програмування C++ IS 14882:1998 Виконання С++ TR 18015 Робота над DIS Розширення С++-бібліотеки TR 19768 Робота над DIS Мова специфікацій С# IS 23270:2003 CLI. Загальна мовна інфраструктура IS 23271:2003 CLI. Профілі і бібліотеки TR 23272:2003 С Рисунок 7 – Еталонна модель мовної підтримки POSIX OSE Еталонна модель мовної підтримки Далі розглянуті об'єкти й інтерфейс, що забезпечують мовну підтримку. Еталон­на модель для мовної підтримки, наведена на рисунку 2, заснована на Еталонній моделі POSIX-OSE (рисунок 1). Мовна під­тримка потрібна для забезпечення прив'язки застосувань у API. Зовнішнє середовище показане на рисунку 2 для завершеності, оскільки мовна підтримка не видима на рівні EEI.У спрощеному варіанті програміст, що розробляє застосування, яке вимагає доступу до служб тільки базової операційної системи, використовує транслятор, що задовольняє обом фундаментальним стандартам мов (наприклад, ISO 1989:1985 для Коболу, ISO/IEC 1539-3:1999 для Фортрану), і будь-які прив'язки, встановлені для відповідного API згідно ISO/IEC 9945.Прикладна програма може вимагати такі служби інших ІТ, як підтримка баз даних і графіки, мережні служби. У таких випадках постачальники служб повинні пропонувати API, що задовольняють вимоги популярних мов програмування.POSIX-OSE включає підтримку однієї чи більше мов, зазначених далі. Мовна підтримка забезпечує базовий синтаксис і визначення семантики для використання розробником програмного забезпечення у описі бажаної функції застосування. Велика кількість мовних послуг – унікальна функція мовної специфікації. Детальний опис мов міститься у відповідних настановах та стандартах, що забезпечують ці настанови.API-служби. Від програміста вимагається уміння писати і виконувати програму на конкретній мові програмування. Вибір конкретної мови програмування для розробки застосування залежить від здатності мови забезпечувати окремі чи всі перераховані далі функції однаково добре, як і деякі унікальні для мови спеціальні можливості:арифметичні операції;структуризація коду;керування паралелізмом;визначення і подання даних;оброблення помилок;операції вводу-виводу;низькорівневі засоби програмування;математичні функції;керування логікою програми. Ряд таких служб, як керування паралелізмом чи керування логікою програми й оголошення даних, – важливі елементи OSE. Вони специфікують нотації написання прикладної програми і використовуються в API для активізації керування виконанням застосування, плануванням і розподілом пам'яті.Мови програмування, розглянуті в цьому підрозділі: Ада, APL, Full Basic, Cі, C++, Кобол, Лісп (IsLisp), Фортран, Модула-2, Паскаль, ПЛ/1, Пролог.Ада – процедурна мова, призначена для оброблення числових і текстових даних. Ключові аспекти мови:потужна типізація даних;абстракції даних;структуровані конструкції;багатозадачний режим;паралельне оброблення;підтримка об’єктно-орієнтованого програмування.Хоча мова Ада спочатку розроблялося для військових цілей, вона підходить ряду індустріальних і бізнес-застосувань, особливо для супервеликих застосувань. APL – мова й інтерактивне середовище програмування, орієнтована на оброблення багатомірних масивів символів і чисел. Використовує надзвичайно компактний запис, заснований на потужних примітивних функціях і функціонально об'єднаних операторах. Готуються зміни мови з метою дозволу одиночним елементам масиву містити масиви. В основному APL використовується для фінансового аналізу.^ Full Basic – процедурна мова, часто реалізується в інтера


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Формування і розподіл прибутку на підприємстві ЗАТ "ЦУМ"
Реферат WasteECo-2012 Предварительная заявка на участие в 9-й Международной конференции
Реферат Постановка лабораторной работы на ПЭВМ по исследованию утечки газа в аварийных режимах
Реферат Emily Dickinsons Life Experiences And Their Impact
Реферат Аннотирование и реферирование как основные аспекты формирования письменной компетенции у магистров киреева Л. В. Сибирский государственный аэрокосмический университет
Реферат Сущность и разновидности привязанности
Реферат X-man среди лягушек
Реферат Адаптация на основе оверлейной модели умений
Реферат Сущность терроризма в народническом движении 60-х 70-х годов XIX века
Реферат Образ эмигранта в прозе Г. Газданова
Реферат Взаимосвязь и взаимозависимость плановой экономики и тоталитарного общества
Реферат Dream Interpatation Essay Research Paper DREAM INTERPRETATIONThere
Реферат Econpric Essay Research Paper Economics Essay
Реферат Техника безопасности во время школьного похода
Реферат Эволюция философских взглядов Л. Н. Толстого