Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

CNews.ru : Неделя HI-TECH | итоги IT-рынка |


Информационный Канал Subscribe.Ru

Неделя HI-TECH CNews.ru
:: CNews.ru :: Главные новости дня : Интернет-бизнес : Компьютеры и ПО : Телекоммуникации :: РБК ::
 №27   Сентябрь 23, 2002                 :: Подписка ::
  :: Архив ::  
 Сегодня в номере: 

  • «Смайлику» исполняется 20 лет
  • Запущен в опытную эксплуатацию удостоверяющий центр ЭЦП
  • Билл Гейтс по-прежнему богаче всех
  • Исходный код Windows мало кому интересен
  • Озоновая дыра может исчезнуть через 50 лет

     Новые технологии и стандарты 

  • Высокие технологии против преступников
  • Устройство для экстренной эвакуации из высотных зданий
  • Чипсет возвратит зрение слепым
  • Высокие технологии в медицине
  • Правительство США выделяет миллиард долларов на развитие нанотехнологий

     Новинки аппаратного обеспечения 

  • Беспроводные дисплеи Casio работают под проливным дождем
  • Двухоконный ЖК монитор по рецепту EIZO Nanao
  • В России появились новые модели компьютеров PowerMac G4
  • Intel: 11 новых процессоров для мобильных ПК
  • Графические платы семейства nVidia Quadro признаны лидерами

     Новинки программного обеспечения: 

  • Windows XP Service Pack 1 можно взломать
  • Первые программы для Tablet PC
  • В браузере Mozilla обнаружена уязвимость
  • BEA: виртуальная Java-машина для Windows и Linux
  • Новое ПО IBM обезопасит веб-сервисы

     Исследования 

  • Рынок высоких технологий начнет исправляться в 2003 году
  • В2С-торговля в Европе остается на низком уровне
  • Минсвязи: К 2010 г. GSM-связью будет пользоваться 23 млн. россиян
  • Софтверный рынок наводнят программы борьбы со спамом
  • Современные интерактивные технологии экономят время и деньги

     Вопрос недели 


     Популярные темы Обсуждений 

    Выяснена дата рождения «смайлика»
    Ford займется продажей подержанных машин
    К 2006 году японские автомобили оснастят «электронными паспортами»
    Дела Lucent все хуже и хуже
    В каталоге INFON появились логотипы и мелодии для телефонов Siemens и Samsung

     Публикация глав из книг 

    Языки программирования: разработка и реализация.
    4-е издание
    Т. Пратт, М. Зелковиц

     Аналитика и комментарии 

    Безопасность: В киберпространстве все спокойно. Пока…
    Рынок ПО: Обзор функциональных возможностей современных систем управления знаниями, документами и автоматизации бизнес-процессов
    В2В: Ошибки и решения
    Рынок телекоммуникаций: Хороший абонент — многоговорящий абонент?
    События: Трагедия 11-го сентября глазами рядового интернетчика
    Наука: Сеть европейских бизнес-инновационных центров
    IT-менеджмент: Инженеры в системных интеграторах: спрос, требования, зарплаты
    go
    go

     CNews.ru на Вашем сайте! 

    Предлагаем Вам разместить на Вашем личном или корпоративном сайте новостные текстовые информеры от CNews.ru.
    Варианты информеров — на Informer.ru


     База данных пресс-релизов 

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



    Внимание


     

    Всероссийский выставочный центр приглашает Вас принять участие в III Специализированной выставке и конференции «Информационные технологии в медицине — 2002»
    20 — 23 ноября 2002 года. Москва, ВВЦ, павильон № 5


    Организаторы:
    ЗАО ОП ВВЦ «Наука и образование»
    ЗАО ОП ВВЦ «Здоровье»
    Ассоциация Развития Медицинских Информационных Технологий (АРМИТ)

    Генеральный информационный спонсор — РосБизнесКонсалтинг

    Традиционно в организации и проведении выставки принимают участие Министерство здравоохранения РФ, Министерство образования РФ, Министерство промышленности, науки и технологии РФ, РАМН, Федеральный фонд обязательного медицинского страхования и другие заинтересованные организации.

    Выставочный комплекс ВВЦ «Наука и образование» с 2000 года проводит специализированную выставку «Медицина. Здоровье. Компьютер». По пожеланиям участников, в 2002 году выставка проходит под названием «Информационные технологии в медицине — 2002».

    В предыдущей выставке приняло участие более 60 фирм и организаций из различных регионов России: Москва, Московская область, Санкт-Петербург, Новосибирск, Казань, Орел, Краснодар, Челябинск, Курск. Кроме того, на конференции представили свои работы специалисты из Швейцарии, Германии, Самары, Томска, Тулы и Екатеринбурга.

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

    Тематические направления выставки — 2002:

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

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

    Заявки на участие в выставке и конференции подаются в Оргкомитет до 25 октября 2002 года.

    Оргкомитет:
    Выставочный комплекс «Наука и образование»
    Тел./факс (095) 974-63-00
    e-mail: edu@fairs.ru, http://www.fairs.ru

  •  Календарь событий 


    24 — 26 октября | Краснодар
    7-я Межрегиональная специализированная выставка информационных технологий и компьютерной техники. Выставка-конференция «Управление предприятием. Новые технологии».

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


    [Добавить событие]



      Сентябрь 23, 2002
    | ПОДПИСКА на новости |
     Архив: 

    Публикация глав из книги

    Языки программирования: разработка и реализация. 4-е изд.

    Т. Пратт, М. Зелковиц

    Глава 4

    Моделирование свойств языка

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

    НФБ-грамматика является прекрасным инструментом для ответа на вопрос: как должна выглядеть программа на конкретном языке? В этой главе1 мы рассмотрим несколько формальных теорий, которые расширяют НФБ-грамматику и позволяют ответить на вопрос: что делает данная программа? Для этого мы введем следующие формальные модели:

    1. Формальные грамматики. НФБ-грамматика и регулярная грамматика — всего лишь два примера более сложной структуры, разработанной в 50-е гг. прошлого столетия профессором Массачусетсского технологического института (MIT) Ноамом Хомским. Мы познакомим с иерархией грамматик Хомского и дадим краткое описание их свойств. Мы покажем, что, к сожалению, к интересующим нас проблемам языков программирования имеют отношение только уже исследованные нами НФБ-грамматика и регулярная грамматика. Тем не менее другие классы грамматик обладают важными свойствами, отражающими природу вычислений, и в этой главе мы познакомим читателя с концепциями неразрешимости и алгоритмической сложности.

    2. Семантика языка. Для разработки моделей языков программирования помимо формальной грамматики используются и другие подходы. Одним из первых среди них стала атрибутивная грамматика, предложенная профессором Стенфордского университета (Standford University) Дональдом Кнутом (Donald Knuth). В этой модели к обычной НФБ-грамматике, описывающей язык, добавлена некоторая семантическая информация. Более формальной моделью является денотационная семантика, которая записывает программу в виде математической функции.

    3. Верификация программы. Третий подход заключается в верификации программы. Целью здесь является скорее не формальное описание программы, а демонстрация эквивалентности программы и некоторого другого способа записи — например, логики предикатов. Например, если требуется написать программу, вычисляющую куб заданного числа, то в данном способе предлагается доказать, что программа и уравнение x = y3, где x — это выходное значение, а y — введенное число, ведут себя одинаково. В данном случае нас интересует не столько то, что представляет собой программа, сколько правильность ее поведения. Исходно эта технология была разработана в 1960 г. Робертом Флойдом (Robert Floyd) и Т. Хоором (Tony Hoare). Хотя ее трудно реализовать, она имеет достаточно большое значение в определенных приложениях, для которых важнейшим требованием является правильность программы (например, в приложениях, контролирующих работу ядерных реакторов).

    4.1. Формальные свойства языков

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

    Мы проводим исследования и получаем некоторое знание (например, мы узнаем, что в программах неизбежны ошибки и, вообще, программирование — сложное занятие), развиваем теории разработки языков программирования (например, структурное программирование, НФБ-грамматики, абстракции данных), а затем оцениваем действенность этих теорий (например, используем их для создания языков). Это приводит к дальнейшему развитию теории (например, развитие концепции объектно-ориентированных классов в результате усовершенствования понятия абстракций данных или методов разбора на основе SLR[1]- и LALR[1]-грамматик в результате развития метода разбора на основе LR[1]-грамматики) и оказывает благотворное влияние на весь процесс в целом. В предыдущих главах мы уже обсудили некоторые из общепринятых методов разработки языков программирования. В данном разделе мы продолжим этот разговор и коротко расскажем о некоторых других теоретических моделях, которые влияют на разработку языков программирования.

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

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

    4.1.1. Иерархия грамматик Хомского

    Как было сказано в разделе 3.3.1, НФБ-грамматики оказались очень полезными при описании синтаксиса языков программирования. Однако эти НФБ-грамматики (или контекстно-свободные грамматики) — всего лишь один из элементов класса грамматик, описанных Ноамом Хомским в 1959 г. [27]. Мы приводим здесь краткое описание первоначально предложенной им модели грамматик.

    Типы грамматик
    В разделе 3.3.1 мы представили базовый синтаксис правил, или продукций, НФБ-грамматики. Грамматика определяется как совокупность множества нетерминальных символов, множества терминальных символов, начального символа (один из нетерминальных) и множества правил. Классы грамматик различаются между собой в зависимости от имеющегося набора допустимых правил.

    В случае НФБ-грамматики язык определяется просто как набор конечных последовательностей (цепочек) символов некоторого произвольного алфавита, выведенных из одного начального символа. Алфавит — это набор символов, которые используются при написании программ, и каждая законченная программа представляет собой их последовательность. Мы можем говорить о множестве цепочек, генерируемых грамматикой (то есть цепочек терминальных символов, выведенных из начального символа), или, наоборот, мы можем сказать, что грамматика распознает цепочки (то есть по некоторой цепочке всегда можно построить дерево синтаксического разбора и вернуться к исходному начальному символу).

    Будем называть языком типа n язык, который генерируется грамматикой типа n, если нет грамматики типа n + 1, которая также генерирует этот язык. Из этого определения следует, что любая грамматика типа n является также и грамматикой типа n – 1.

    Грамматики типа 3 — это просто регулярные грамматики, определяющие автоматные языки, моделирующие лексические единицы языка. Грамматики типа 2 — это знакомые нам НФБ-грамматики. Грамматики типа 1 и 0 не имеют большого практического значения для моделирования языков программирования, но в области теоретических исследований они играют существенную роль. Обзору каждого из упомянутых типов посвящены следующие несколько разделов.

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

  • Большинство свойств такой грамматики разрешимы. (Это означает, что можно получить ответы, например, на такие вопросы: генерирует ли данная грамматика любые цепочки? Сгенерирована ли этой грамматикой заданная цепочка символов языка? Ограничено ли количество цепочек в языке?)
  • Для любой конечной последовательности a и целого n регулярная грамматика может генерировать строки вида an. Это означает, что регулярная грамматика может распознавать любое количество образцов конечной длины.
  • С помощью регулярной грамматики можно реализовать счет до любого конечного целого числа. Например, вы можете распознать цепочку {an | n = 147}, если построите КА, в котором будет как минимум 148 состояний (рис. 4.1). Ввод первых 146 символов не приведет КА в конечное состояние, тогда как очередной ввод символа под номером 147 будет принят. Ни один КА с числом состояний ровно 148 не сможет надежно принять цепочку символов длиной больше 147.

    Рис. 4.1. Использование регулярной грамматики в счетчике

  • Грамматики такого типа часто используются в сканерах (лексических анализаторах) компиляторов для распознавания отдельных лексем (идентификаторов, литералов и строк) или ключевых слов данного языка (например, if, begin, while).

    В качестве примера можно рассмотреть регулярную грамматику, генерирующую идентификаторы Pascal (которые, как вы помните, состоят из букв и цифр, причем на первом месте стоит буква, то есть имеют вид буква{букваЪцифра}*). Она задается следующим образом:

    Идентификатор -> aX|…|zX|a|…|z
    X -> aX|…|zX|0X|…|9X|a|…|z|0|…|9

    Контекстно-свободные грамматики (тип 2)
    Правила таких грамматик являются правилами уже известных нам НФБ-грамматик. Они записываются в форме X ® a, где под a понимается любая последовательность терминальных или нетерминальных символов.

    Эти грамматики характеризуются следующими свойствами:

  • Многие свойства такой грамматики являются разрешимыми. (Это означает, что можно получить ответы, например, на такие вопросы: генерирует ли данная грамматика какие-либо цепочки? Сгенерирована ли этой грамматикой данная цепочка языка? Является ли язык, порождаемый грамматикой, пустым?)
  • Такие грамматики можно использовать для подсчета вхождения в цепочку двух символов и последующего сравнения. То есть они характеризуются цепочками вида ancbn для любого n.
  • Контекстно-свободная грамматика может быть «реализована» при помощи стеков. Для распознавания цепочки ancbn из предыдущего пункта можно занести в стек цепочку an, затем проигнорировать c и сравнить содержимое стека с цепочкой bn, чтобы удостовериться в одинаковой длине этих двух цепочек.
  • Как описано в главе 3, эти грамматики можно использовать для автоматического построения дерева грамматического разбора.
  • Грамматики типа 2 и типа 3 по большей части более не представляют интереса и не являются объектом исследований. Судя по всему, все важные свойства этих грамматик уже изучены.

    В качестве примера приведем следующую грамматику, определяющую обычное арифметическое выражение:

    E -> E + T | T
    T -> T * P | P
    P -> i | (E)

    Контекстно-зависимые грамматики (тип 1)
    Такой тип грамматики характеризуется правилами вида:

    a -> b
    где a — это любая цепочка, состоящая из нетерминальных символов, b — любая цепочка, состоящая из терминальных и нетерминальных символов, и количество символов в a меньше или равно количеству символов в b.

    Ниже перечислены некоторые свойства контекстно-зависимых грамматик:

  • Все цепочки, последовательно выводимые из начального символа, имеют длину не меньшую, чем предыдущая, поскольку каждое правило должно оставлять длину цепочки неизменной или увеличивать ее1.
  • Контекстно-зависимые грамматики генерируют цепочки, для хранения которых требуется фиксированный объем памяти. Например, такие грамматики способны распознавать цепочки вида anbncn, что не может сделать контекстно-свободная грамматика.
  • Контекстно-зависимые грамматики обычно слишком сложны, чтобы быть практически полезными для моделирования языков программирования.
  • Некоторые свойства контекстно-зависимых грамматик до сих пор не исследованы. В разделе 4.1.3 мы коснемся теоретической задачи доказательства НП-полноты, то есть проблемы эквивалентности детерминированных и недетерминированных контекстно-зависимых грамматик.

    В качестве примера рассмотрим генерацию строки xanbncn при помощи контекстно-зависимой грамматики:

    X -> ABCX|Y
    CB -> BC
    CА -> АC
    BA -> AB
    CCY -> CYc
    BCY -> BYc
    BBY -> BYb
    ABY -> AYb
    AAY -> AYa
    AY -> xa

    Грамматики с фразовой структурой (тип 0)
    Этот тип грамматик характеризуется ничем не ограниченным набором правил вида a ® b, где a — это любая строка нетерминальных символов, а b — любая строка, составленная из терминальных или нетерминальных символов1.

    Свойства этого типа грамматик следующие:

  • Они могут использоваться для распознавания любой вычислимой функции. Например, можно создать грамматику (хотя это и не очень просто) для цепочки anbf(n), представляющей функцию f(n). По заданному n — числу элементов a, эта грамматика генерирует цепочку, содержащую f(n) элементов b.
  • Большая часть свойств этих грамматик относится к неразрешимым (см. раздел 4.1.3). Это означает, что не существует процесса, с помощью которого можно было бы определить, выполняется ли данное свойство для всех грамматик данного типа (например, является ли множество цепочек данного языка пустым?). Отличие от контекстно-зависимых грамматик заключается в том, что у последних о многих свойствах просто ничего не известно — они могут быть истинными, ложными или быть неразрешимыми.

    4.1.2. Неразрешимость При обсуждении иерархии Хомского вы могли заметить, что по мере продвижения от грамматик типа 3 к грамматикам типа 0 усложнялись соответствующие языки. Мы знаем, что современные компьютеры работают очень быстро и обладают почти невероятными способностями в области решения задач. Поэтому закономерен следующий вопрос: существует ли какой-либо предел для вычислений с помощью компьютера?

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

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

    Машины Тьюринга
    Когда мы программируем на некотором языке (назовем этот язык A), обычно достаточно очевидно, что эквивалентная программа может быть написана на языке B. Например, если вы пишете программу для составления платежной ведомости на языке COBOL, то такую же программу вы могли бы написать на языках C или FORTRAN; возможно, несколько сложнее было бы написать ее на LISP или ML. Существуют ли такие программы, которые могут быть написаны только на каком-то конкретном языке, то есть для которых невозможна эквивалентная замена программой, написанной на другом языке? Например, возможны ли программы на LISP или Prolog, для которых не существует эквивалентной программы на языке FORTRAN? Для того чтобы точнее сформулировать данный вопрос, нужно ввести понятие универсального языка программирования. Универсальный язык программирования — это такой язык, на котором можно запрограммировать любое вычисление. Тогда вопрос сводится к следующему: являются ли все стандартные языки программирования универсальными? Если нет, то какие типы программ не могут быть написаны ни на каком другом языке, кроме некоторого одного? Если да, то зачем нам нужно такое количество различных языков программирования? Может быть, следует выбрать из них какой-то один, наиболее простой, который позволит обойтись без всех остальных языков?

    В первую очередь отметим, что этот вопрос можно переформулировать в терминах функций, вычисляемых программой. Эквивалентность некоторой программы P на языке A какой-либо другой программе Q, написанной на языке B, означает, что обе эти программы вычисляют одну и ту же функцию. Иначе говоря, в каждом конкретном случае обе программы получают одни и те же входные данные и на выходе выдают одни и те же результаты. Универсальным является такой язык программирования, на котором для любой вычислимой функции может быть составлена программа. Функция называется вычислимой, если для нее может быть составлена программа на каком-либо из языков программирования. Такая формулировка проблемы несколько напоминает порочный круг, так как мы сталкиваемся с фундаментальным вопросом определения того, что такое вычислимая функция. Интуитивно понятно, что функцию можно назвать вычислимой, если существует какая-либо процедура, которая шаг за шагом может вычислить значение этой функции. При этом подразумевается, что процедура должна быть конечна во времени. Тем не менее, чтобы определить класс всех вычислимых функций, нам нужно предложить некий универсальный виртуальный компьютер или универсальный язык программирования, на котором эти функции могут быть выражены. Теперь проблема заключается в том, что мы не знаем, как определить, что язык универсален.

    Оказывается, этот вопрос рассматривался еще до того, как появились первые компьютеры. В 30-е гг. математики исследовали задачу определения класса вычислимых функций. Некоторые ученые для решения этой задачи предложили использовать простые абстрактные машины, или автоматы, которые могли бы служить отправной точкой для определения класса вычислимых функций. Наиболее известной из них является машина Тьюринга, названная так в честь своего изобретателя, Алана Тьюринга (Alan Turing) [114].

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

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

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

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

    Машина Тьюринга — это чрезвычайно простая абстрактная машина. Обратите внимание на то, что она даже не способна производить арифметические действия.

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

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

    Формальное выражение этой идеи известно как тезис Черча (Church) (того же Черча, которого мы упомянем в разделе 4.2). Любая вычислимая функция может быть вычислена при помощи машины Тьюринга. Этот тезис не является теоремой, которую можно доказать. Тезис Черча — это некоторая гипотеза, которую, в принципе, можно опровергнуть. Но для этого потребуется предъявить какую-нибудь функцию, которая может быть вычислена посредством другого языка программирования и не может быть вычислена на машине Тьюринга. Тем не менее исследованием тезиса Черча в течение многих лет занимались многие математики; были предложены многочисленные абстрактные и реальные вычислительные машины и языки программирования. Но каждый раз удавалось доказать, что очередной метод, предложенный для создания универсального языка или универсальной вычислительной машины, на самом деле является не более мощным, чем машина Тьюринга. То есть любая функция, которую можно было вычислить при помощи нового языка или новой машины, могла быть вычислена и с помощью машины Тьюринга.

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

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

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

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

    main()
    {int i;
    i=0;
    }

    безусловно будет завершена. Фактически завершается выполнение любой программы на C, которая состоит только из объявлений и операторов присваивания. Для того чтобы тестирующая программа могла определить такой тип программ, необходимо сделать следующее:

    1) взять какой-либо компилятор C;

    2) исключить из НФБ-грамматики, определяющей язык C, все правила, которые включают какое-либо ветвление, вызов процедур или операторы цикла;

    3) запустить компилятор, используя только получившийся урезанный набор правил грамматики языка C.

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

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

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

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

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

    Исследование этих простых универсальных языков и машин приводит нас к выводу, что любой язык программирования, который можно было бы использовать на практике, является универсальным, если проигнорировать ограничения, связанные со временем выполнения и объемом требуемой памяти. Например, если какой-нибудь программист непоколебим в своем решении использовать только один язык программирования, например LISP, и утверждает, что «все можно сделать на LISP», то он, строго говоря, прав. Можно сделать все, хотя какие-то вещи, возможно, будет сделать нелегко. Различия между языками программирования не являются качественными — то есть они заключаются не в том, что решение каких-то задач возможно только при использовании определенных языков; эти различия носят количественный характер и сводятся к тому, насколько легко, красиво и эффективно могут быть решены задачи на различных языках.

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

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

    Например, имеет большое практическое значение вопрос: является ли данная НФБ-грамматика языка программирования неоднозначной (то есть допускает ли эта грамматика возможность нескольких вариантов синтаксического разбора программ или существует только один такой вариант для каждой программы)? Обычно каждый вариант синтаксического разбора соответствует определенному семантическому варианту прочтения программы, поэтому различные варианты синтаксического разбора приводят к различным значениям одной и той же программы. Возникает вопрос: можно ли найти какую-нибудь общую для всех грамматик процедуру, определяющую, является ли данная грамматика неоднозначной? Теоретические исследования привели к неожиданному результату: искать такую процедуру бессмысленно, ее просто нет. Формальное утверждение звучит следующим образом: вопрос об однозначности или неоднозначности НФБ-грамматики неразрешим; не существует никакой общей процедуры, позволяющей ответить на этот вопрос для любой НФБ-грамматики. Этот результат не может не разочаровывать, так как в случае сложной НФБ-грамматики, в которой имеются сотни различных правил, было бы очень удобно иметь такую программу, способную проверить эту грамматику на однозначность. В большинстве случаев мы можем написать программу, которая определяет, однозначна ли данная грамматика; неразрешимость означает, что невозможно написать одну тестирующую программу, которая давала бы ответ для всех программ. Для некоторых грамматик такой ответ не будет получен, как бы долго ни работала тестирующая программа.

    4.1.3. Сложность алгоритма

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

    Таблица 4.1. Классы грамматик и абстрактных машин

    Уровень в иерархии Хомского Класс грамматики Класс машин
    0 Неограниченные Машина Тьюринга
    1 Контекстно-зависимые Линейно-ограниченный автомат
    2 Контекстно-свободные Автомат с магазинной памятью
    3 Регулярные Конечный автомат

    Грамматика и машины. Мы говорили, что существует определенное соответствие между классом грамматик и классом абстрактных машин. В табл. 4.1 вы найдете краткую сводку по этой теме, а на рис. 4.2 соответствие классов машин и грамматик представлено схематически.

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

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

    3. Линейно-ограниченный автомат (рис. 4.2, в) похож на конечный автомат, но он может также записывать символы в ячейки рабочей ленты и перемещаться по ней в обоих направлениях.

    4. Машина Тьюринга (рис. 4.2, г) похожа на линейно-ограниченный автомат, но только в данном случае лента является неограниченной в обоих направлениях.

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

    Рис. 4.2. Модели абстрактных машин: а — конечный автомат; б — автомат
    с магазинной памятью; в — линейно-ограниченный автомат;
    г — машина Тьюринга

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

    Тип машины Сравнение версий
    Конечный автомат Одинаковые
    Автомат с магазинной памятью Неодинаковые
    Линейно-ограниченный автомат ?
    Машина Тьюринга Одинаковые

    Как видно из этой таблицы, для языков типа 3 и 0 отсутствие детерминизма ничего не добавляет к вычислительным возможностям соответствующей абстрактной машины. Функциональные возможности недетерминированного автомата совпадают с возможностями эквивалентного детерминированного автомата. Однако мы знаем, что для языков типа 2 недетерминированная версия абстрактной машины обладает большими возможностями. Мы можем распознавать строки-палиндромы при помощи недетерминированного автомата с магазинной памятью (см. раздел 3.3.5), так как этот автомат способен определять середину строки. Но при помощи недетерминированного автомата с магазинной памятью эта задача не решается. Детерминированный автомат с магазинной памятью распознает детерминированные контекстно-свободные языки, которые являются не чем иным, как языками LR(k), образующими основу для теории синтаксического разбора, используемой при построении компиляторов.

    К сожалению, для линейно-ограниченного автомата неизвестно, как соотносятся в смысле своих функциональных возможностей детерминированная и недетерминированная версии ЛО-автомата. Этой задачей ученые занимаются вот уже более тридцати лет.

    Полиномиальное время вычислений. Сложность решения проблемы детерминизма для ЛО-автоматов привела к возникновению специального раздела теоретической информатики, посвященного исследованию сложности алгоритмов. Детерминизм языка программирования можно соотнести с полиномиальным временем вычисления. Этот термин означает следующее: если длина введенной строки равна n, то абстрактная машина выполнит обработку этой строки за время, которое можно оценить сверху как p(n), где p — это некоторый полином (то есть p(x) = a1xn + a2xn – 1 + + … + an – 1x + an). В противоположность этому можно показать, что в недетерминированном случае вычисление невозможно осуществить за полиномиальное время. Тогда задача об эквивалентности детерминированной и недетерминированной версий ЛО-автомата сводится к следующей задаче: если некоторое вычисление было выполнено за неполиномиальное время (НП), существует ли такая машина, на которой это же вычисление может быть выполнено за полиномиальное время (П)? Иначе говоря, верно ли, что НП = П? Эта задача для ЛО-автомата называется задачей НП-полноты, а любая другая задача, эквивалентная этой, называется НП-полной. Следовательно, задача об эквивалентности детерминированной и недетерминированной версий ЛО-автоматов является НП-полной.

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

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

    4.2. Семантика языка

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

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

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

    Грамматические модели. Некоторые ранние попытки добавить корректное определение семантики к языку программирования делались путем добавления расширений к НФБ-грамматике, определяющей этот язык. Дополнительную информацию о семантике можно было извлечь из дерева синтаксического разбора. Мы коротко обсудим атрибутивные грамматики как способ получения этой дополнительной информации.

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

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

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

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

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

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

    Алгебраический тип данных является одним из видов формальной спецификации. Например, если вы пишете программу, реализующую стеки, то действия push (записать в стек) и pop (прочитать из стека) имеют противоположное действие в том смысле, что если для некоторого заданного стека S выполнить действие push, а затем немедленно — действие pop, то в итоге получится исходный стек. Это можно сформулировать в виде аксиомы:

    pop(push(S,x)) = S

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

    Формальное определение семантики становится общепринятой частью определения нового языка. Стандартное описание языка PL/I включает в себя VDL-подобную нотацию, описывающую семантику операторов PL/I, а для языка Ada было разработано определение на основе денотационной семантики. Тем не менее изучение формальных определений семантики не оказало такого сильного влияния на практическое определение языков, как изучение формальных грамматик — на определение синтаксиса. Ни один из методов определения семантики не оказался полезным ни для пользователя, ни для разработчика языка. Операционные модели достаточно удобны для создания формальной модели реализации и могут быть полезны разработчику, но для пользователя эти модели не имеют большого значения, так как в них слишком много ненужных ему подробностей. Разработчик вряд ли сможет руководствоваться функциональными и денотационными моделями, а для пользователя они, как правило, оказываются слишком сложными, чтобы их можно было использовать непосредственно. Пользователю легче понять аксиоматические модели, но при попытке составить полное определение языка обычно они становятся чрезвычайно сложными, а для разработчика эти модели и вовсе непригодны.

    В следующем разделе вы найдете краткое описание атрибутивной грамматики как одной из форм семантической модели языка программирования. В разделе 4.2 мы описываем другие семантические модели.

    4.2.1. Атрибутивные грамматики

    Одной из первых попыток разработки семантической модели языка программирования была концепция атрибутивной грамматики, предложенная Дональдом Кнутом [64]. Идея заключалась в том, чтобы сопоставить каждому узлу дерева синтаксического разбора данной программы некоторую функцию, задающую семантическое содержание данного узла. Атрибутивные грамматики создавались путем добавления функций (атрибутов) к каждому правилу грамматики.

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

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

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

    E -> T | E + T
    T -> P | T ґ P
    P -> I | (E)

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

    Правило Атрибут
    E -> E + T значение (E1) = значение (E2) + значение (T)
    E -> T значение (E) = значение (T)
    T -> T ґ P значение (T1) = значение (T2) ґ значение (P)
    T -> P значение (T) = значение (P)
    P -> I значение (P) = значение числа I
    P -> (E) значение (P) = значение (E)

    Здесь нижние индексы 1 и 2 обозначают соответственно ссылку на первый и второй одинаковые нетерминальные символы в данном правиле. На рис. 4.3 представлен пример дерева с атрибутами, которое дает значение выражения 2 + 4 ґ (1 + 2).

    Рис. 4.3. Пример дерева со значениями атрибутов

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

    Например, для создания множества имен, объявленных в программе, можно добавить следующие атрибуты к нетерминальным символам <decl> и <declaration>.

    Правило Атрибут
    <declaration> ::= <decl><declaration> decl_set(declaration1) = decl_name(decl)Иdecl_set(declaration2)
    <declaration> ::= <decl> decl_set(declaration) = decl_name(decl)
    <decl> ::= declare x decl_name(decl) = x
    <decl> ::= declare y decl_name(decl) = y
    <decl> ::= declare z decl_name(decl) = z

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

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

    4.2.2. Денотационная семантика

    Денотационная семантика — это формальная аппликативная модель для описания семантики языков программирования. Прежде чем обсуждать денотационную семантику, введем понятие l-исчисления, которое представляет собой более простую функциональную модель, разработанную еще в 30-е гг. как способ объяснения математических вычислений. На основе l-исчисления могут быть построены более сложные структуры, включая концепцию типов данных и семантику языков программирования. Далее в этой главе (в разделе 4.2.3) мы опишем язык ML как пример функционального языка, основанного на некоторой функциональной разновидности денотационной семантики.

    l-исчисление
    Возможно, самой первой моделью семантики языка программирования было l-исчисление, предложенное в 30-х гг. А. Черчем в качестве теоретической модели вычислений, сопоставимой с машиной Тьюринга (см. раздел 4.1.3). Оказалось, что l-исчисление хорошо моделирует вызов функций в языках программирования, хотя его появление опередило самые первые компьютеры на несколько лет, а языки программирования — на пятнадцать. Фактически семантика обращения к функциям в языках ALGOL и LISP унаследована от l-исчисления; механизм подстановки в l-исчислении является прямым отображением определенного в языке ALGOL механизма передачи параметра по имени (см. раздел 9.3). Скотт [98] расширил эту модель, превратив ее в общую теорию типов данных, которая сегодня известна под названием денотационной семантики. Система обозначений, принятая в денотационной семантике, оказала влияние на разработку теории типов данных в языке ML. Полное описание l-исчисления и денотационной семантики не входит в задачу авторов этой книги; тем не менее мы хотели бы представить краткий обзор этих концепций и показать их связь с разработкой языков программирования.

    l-выражения определяются рекурсивно при помощи следующих правил:

    1. Если x является именем переменной, то x является l-выражением.

    2. Если M является l-выражением, то lx.M является l-выражением.

    3. Если F и A являются l-выражениями, то (FA) — также l-выражение. Здесь F — это оператор, а A — операнд.

    l-выражения можно определить и при помощи контекстно-свободной грамматики:

    l_выражение -> идентификатор | lидентификатор.l_выражение | (l_выражение l_выражение)

    Далее приведены примеры l-выражений, сгенерированных этой грамматикой:

    x lx.x lx.y
    lx.(xy) (lx.(xx)lx.(xx)) lx.ly.x

    Переменные могут быть связанными или свободными. Интуитивно понятно, что связанная переменная — это локально объявленная переменная, а свободная переменная не имеет никакого объявления. Переменная x в l-выражении x является свободной переменной. Если x в M является свободной, то в lx.M она связана. Переменная x является свободной в (F A), если она свободна в F или в A.

    Имя любой связанной переменной можно поменять так же, как имена параметров функций. Так, l-выражение lx.x эквивалентно ly.y, l-выражение lx.lx.x эквивалентно lx.ly.y, поскольку переменная x связана с самым правым lx. Неформально можно сказать, что связанные переменные являются параметрами функции, описываемой l-выражением; свободные же переменные являются глобальными. Эта аналогия показывает, что l-выражение просто аппроксимирует концепцию процедур и подпрограмм для большинства алгоритмических языков типа Pascal, C, FORTRAN или Ada.

    Операции над l-выражениями
    Для l-выражений определена только одна операция — операция редукции. Если (F A) — l-выражение и F = lx.M, то во всех случаях, где в M встречается свободная переменная x, вместо нее можно подставить A. Записывается это следующим образом: (lx.M A) Ю M’. Эта операция аналогична подстановке фактического параметра вместо формального параметра в вызове функции.

    Ниже приведены некоторые примеры редукции в l-выражениях:

    (lx.x y) -> y
    (lx.(xy) y) -> (yy)
    (lx.(xy) lx.x) -> (lx.x y) -> y
    (lx.(xx) lx.(xx)) -> (lx.(xx) lx.(xx)) -> ...

    Заметим, что операция редукции не обязательно приводит к упрощению l-выражения; четвертый пример иллюстрирует ситуацию, в которой редукция не завершается — иными словами, выражение не редуцируется. Исследование этих примеров приводит нас к формулировке свойства Черча–Россера (Rosser): если две различные редукции l-выражения завершаются, то они являются членами одного класса значений. Иначе говоря, если для l-выражения M имеются две редукции M Ю P и M Ю Q, то существует единственное l-выражение R, такое что P Ю R и Q Ю R. Выражение R называется нормальной формой для класса значений, представителем которого является M.

    Передача параметров в l-выражениях. Существует два стандартных подхода к редукции любого l-выражения:

    1) сначала редуцировать самый внутренний левый член;

    2) сначала редуцировать самый внешний левый член.

    Например, в l-выражении (ly.(yy) (lx.(xx) a)) самый внешний член — это все выражение, а самый внутренний — (lx.(xx) a). Здесь возможны две последовательности редукций:

  • Сначала редуцируется самый внешний член:

    (ly.(yy)(lx.(xx)a)) -> ((lx.(xx) a)(lx.(xx) a)) -> ((aa)(aa))

  • Сначала редуцируется самый внутренний член:

    (ly.(yy)(lx.(xx)a)) -> ((ly.(yy)(aa)) -> ((aa)(aa))

    Хотя ответы совпадают, редукция происходит по-разному: в первом случае функция (lx.(xx) a) подставляется вместо параметра y и для каждого экземпляра y вычисляется значение этой функции. Такая редукция аналогична механизму вызова параметра по имени, описанному в разделе 9.3. Во втором случае сначала вычисляется значение константы (aa), которое затем подставляется вместо переменной y. Такая редукция представляет механизм вызова параметра по значению.

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

    Приведенные выше редукции можно использовать для создания простых примеров выражений, которые редуцируются при использовании первого способа (вызов по имени) и не редуцируются при использовании второго способа (вызов по значению). Единственное, что для этого нужно, — сконструировать нередуцируемое l-выражение как аргумент, ссылки на который отсутствуют. Мы уже знаем, что выражение (lx.(xx) lx.(xx)) не редуцируется, а на параметр y в выражении ly.z, очевидно, отсутствуют ссылки. Следовательно, для выражения

    (ly.z (lx.(xx)lx.(xx)))
    при использовании редукции первого типа (вызов по имени) легко получить нормальную форму, которой является z; но если вы примените вызов по значению, то это выражение окажется нередуцируемым.

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

    Булевы значения. Булевы значения моделируются как l-выражения следующим образом.

    Истина (true, T) определяется как: lx.ly.x. (Понять это выражение станет легче, если мы установим, что означает Истина: из пары значений следует выбрать первое. Это показано на примере, который мы рассмотрим позже.)

    Ложь (false, F) определяется как: lx.ly.y. (Из пары значений следует выбрать второе.)

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

    ((T P)Q)Ю P, то есть ((T P)Q) -> ((lx.ly.x P)Q) -> (ly.P Q) -> P;
    ((F P)Q)Ю Q, то есть ((F P)Q) -> ((lx.ly.y P)Q) -> (ly.y Q) -> Q.

    Имея определения для констант T и F, можно определить следующие логические функции:

    not (логическое отрицание) = lx.((xF)T);
    and (конъюнкция) = lx.ly.((xy)F);
    or (дизъюнкция) = lx.ly.((xT)y).

    Теперь нам предстоит показать, что наша интерпретация булевых значений согласуется с правилами логики предикатов. Например, применение функции not к T (Истина) должно дать F (Ложь), и наоборот. Действительно,

    (not T) = (lx.((x F)T)T) -> ((T F)T) -> F;
    (not F) = (lx.((x F)T)F) -> ((F F)T) -> T.

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

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

    0 = lf.lc.c
    1 = lf.lc.(fc)
    2 = lf.lc.(f(fc))
    3 = lf.lc.(f(f(fc)))
    … …

    Здесь c соответствует нулевому элементу, а f — это функция, последовательно добавляющая к c единицу. С помощью этих определений можно определить обычные арифметические операции: целое число N записывается посредством l-выражения как (N a), то есть lc.(a…(a c)…). Применяя редукцию к ((N a)b), мы получаем (a…(a b)…).

    Рассмотрим l-выражение ((M a)((N a)b)), применив константу ((N a)b) к l-выражению (M a). Подстановка ((N a)b) вместо c в (M a) дает (a…(a b)…), причем теперь уже в этом списке присутствует (M+N) символов a. Таким образом, мы только что показали, что l-выражения можно складывать:

    [M+N] = la.lb((M a)((N a)b))

    Иначе говоря, мы определили операцию + как

    + = lM.lN.la.lb.((M a)((N a)b))

    Аналогичным образом можно показать, что

    Умножение [M ґ N] = la.(M(N a))
    Возведение в степень [MN] = (N M)

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

  • Главные события недели
    «Смайлику» исполняется 20 лет

     
    19 сентября — день рождения «смайлика», самого популярного в интернете набора символов для передачи человеческих эмоций. В этом году значку :-) исполняется 20 лет.[Вернуться в оглавление]

    К такому выводу пришел Майк Джонс (Mike Jones), сотрудник Systems and Networking Research Group, принадлежащей компании Microsoft. В результате проведенного исследования г-н Джонс выяснил, что впервые значок :-) появился в дискуссии на доске объявлений Университета Карнеги Меллон (CMU) в 1982 году. Его изобретателем считается Скотт Фалман (Scott E. Fahlman), использовавший данный набор символов, чтобы обозначить шутку. C тех пор использование схематического изображения человеческого лица для передачи эмоций в электронных текстах стало невероятно популярным. На базе этого значка появились другие, означающие не только улыбку, но и грусть, удивление, недовольство, злость и т.д. Иконки стали неотъемлемой частью онлайновой культуры, частенько с их помощью удается быстро передать собеседнику чувства, которые трудно выразить словами.

    Выяснение точной даты рождения «смайлика» заняло несколько месяцев — поиски начались в феврале этого года. Майк Джонс просмотрел лог-файлы нескольких старых досок дискуссий и вспомнил, что впервые увидел «смайлик» на доске дискуссий CMU в начале восьмидесятых годов. Он обратился к руководству Школы вычислительной техники при CMU и с помощью нескольких помощников просмотрел постинги за период с 1981 по 1983 годы. Оказалось, что значок :-) был впервые использован 19 сентября 1982 года, так что именно этот день было решено считать днем его рождения.

    Этот день можно смело внести в список памятных дать информационной революции, наряду с рождением интернета (1969 г.), ПК (август 1981 г.) и электронной почты (1971 г.). Правда, похоже, «смайлику» повезло немного больше — ни интернет, ни e-mail не имеют точной общепризнанной даты рождения.

    Американский инженер Рэй Томлинсон (Ray Tomlinson), считающийся изобретателем электронной почты, не помнит, когда и кому именно он отправил свое первое сообщение.

    При подготовке материала использовано сообщение Silicon.com.

    обсудить ::

    подробнее ::

    оглавление ::


    Запущен в опытную эксплуатацию удостоверяющий центр ЭЦП

    Удостоверяющий Центр Электронной Цифровой Подписи будет предоставлять цифровые ГОСТ-сертификаты для организации систем защищенного документооборота РосНИИРОС.[Вернуться в оглавление]

    Согласно закону «Об электронной цифровой подписи», все экземпляры электронного сообщения, подписанного ЭЦП, имеют силу оригинала, если ЭЦП прошла проверку на подлинность при помощи открытого ключа ЭЦП, имеющего сертификат ключа подписи удостоверяющего центра. Закон наделяет удостоверяющий центр правом подтверждать принадлежность открытого ключа ЭЦП конкретному лицу посредством выдачи сертификата ключа подписи.

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

    В результате была выбрана автоматизированная система «Вепрь» от компании ООО «Новый Адам», выполняющая функции удостоверяющего центра. Работы по встраиванию сертифицированных ФАПСИ средств электронной цифровой подписи и работы по защите информации проводились ООО «Р-Альфа» — лицензиатом ФАПСИ и Государственной Технической Комиссии при Президенте РФ.

    В перспективе РосНИИРОС, развивая удостоверяющий центр, планирует предоставлять услуги ЭЦП на уровне информационной системы общего пользования; правовой основой для такого шага послужат разрабатываемые в настоящее время ФАПСИ требования к удостоверяющим центрам для таких систем.

    Источник: по материалам РосНИИРОС и e-commerce.ru.


    Билл Гейтс по-прежнему богаче всех

     
    В юбилейном 20-м списке 400 богатейших американцев года Билл Гейтс снова занял первое место — уже девятый раз подряд. Последние 9 лет основатель Microsoft возглавляет и рейтинг богатейших людей планеты, доказывая в очередной раз, что «слепивший» сам себя студент-недоучка Гарвардского университета не прогадал, сделав однажды ставку на высокие технологии.[Вернуться в оглавление]

    46-летний Уильям Генри III Гейтс впервые появился в списке Forbes в 1986 году, с каждым годом поднимаясь по нему все выше и выше. На сегодняшний день его состояние оценивают в $43 млрд. За год капитал Билла Гейтса сократился почти на одну пятую — с $54 млрд.

    Microsoft больше не растет устрашающими темпами, как в прежние времена, однако спад технологического сектора корпорация переносит гораздо лучше многих «соседей» по рынку: в прошлом году продажи компании возросли на 12%. Самый богатый человек планеты, выбравший себе почетную должность главного разработчика программной архитектуры софтверного гиганта, работает сейчас над продвижением платформы от Microsoft для таких устройств, как блокнотные компьютеры, мобильные телефоны, телевизоры и т.д. Операционная система Windows по-прежнему доминирует на мировом рынке ОС для настольных компьютеров, занимая на нем 93-процентную нишу. Однако конкуренты по-прежнему всеми силами пытаются подорвать могущество софтверного гиганта: более 20 стран взяли курс на использование программ с открытым исходным кодом.

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

    Самому богатому человеку мира не чужда благотворительность: совместный $24-миллиардный фонд Билла и Мелинды Гейтс проводит по всему миру оздоровительные и образовательные программы, направленные, в частности, на профилактику СПИДа, полиомиелита, разработку вакцин.

    Другой соучредитель Microsoft, Пол Аллен (Paul Allen), находится на третьем месте списка журнала Forbes с $21 млрд., отделенный от Гейтса инвестором Уорреном Баффетом (Warren Buffet), главой фонда Berkshire Hathaway Investments. СЕО Microsoft Стив Баллмер (Steve Ballmer) завершил первую десятку с $11,9 млрд.

    Еще одним — и последним — руководителем IT-компаний из первой десятки списка Форбс стал Ларри Эллисон (Larry Ellison) с состоянием в $15,2 млрд. (9 место), CEO крупнейшего конкурента Microsoft — компании Oracle. Остальные позиции в списке поделили между собой родственники покойного Сэма Уолтона (Sam Walton), основателя торговой сети Wal-Mart.

    Источник: по материалам журнала Forbes.

    обсудить ::

    подробнее ::

    оглавление ::


    Исходный код Windows мало кому интересен

     
    Лишь 150 из 2.300 организаций во всем мире снизошли до ознакомления с предложенными Microsoft «исходниками» операционной системы Windows, опровергая, тем самым, величайший миф об открытом коде — что исходные тексты мечтают увидеть все.[Вернуться в оглавление]

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

    В рамках объявленной 18 месяцев назад инициативы под названием Shared Source Initiative («Инициатива совместно используемого исходного кода») крупные корпорации, образовательные и научные учреждения и другие клиенты и партнеры Microsoft получили с помощью смарт-карт доступ к защищенному веб-сайту, на котором размещены миллионы строчек исходного кода Windows 2000, XP и серверной архитектуры .Net.

    Пользователям представлены 90% кода операционной системы, в то время как оставшиеся 10% являются интеллектуальной собственностью третьих лиц, криптографической информацией и ПО, которое Microsoft считает своей конкурентной разработкой.

    За последние полтора года Microsoft открыла доступ к исходному коду 2.300 организациям, однако пока менее 7% из них высказали интерес к предложенной инициативе.

    Джейсон Матусов (Jason Matusow), менеджер Microsoft по совместно используемому исходному коду, отметил: «Мы обращались в сотни раз большее количество организаций, однако большая часть из них нам отказала. Большинство говорит «мы производители, нам не нужен исходный код — это ваша работа», а другие отвечают, что их системные интеграторы должны иметь дело со всеми вопросами по исходному коду. Один из величайших мифов об открытом коде — это то, что исходный код хотят увидеть все «.

    Вторая инициатива — открыть 45% исходного кода Windows CE — оказалась более успешной. На сегодняшний день к нему обратились 120 тыс. разработчиков.

    Несмотря на то, что Microsoft с середины 80-х гг. предоставляла третьим сторонам API (интерфейсы прикладного программирования) и другие механизмы своих операционных систем, продвинуться далее в этом направлении корпорация не решалась. Рост сообщества открытых систем и успех операционной системы Linux заставил софтверного гиганта пересмотреть свой подход к этой проблеме, но до сих пор «гуру» из Редмондской штаб-квартиры компании остаются верными хранителями секретов Windows.

    Источник: по материалам Silicon.com.

    обсудить ::

    подробнее ::

    оглавление ::


    Озоновая дыра может исчезнуть через 50 лет

     
    Дыра в озоновом слое над Антарктидой вот-вот начнет уменьшаться и может окончательно исчезнуть к 2050 году. Австралийские ученые утверждают, ссылаясь на данные последних наблюдений, что содержание хлора в атмосфере (а это основная причина разрушения озонового слоя) снижается. Это, возможно, одно из первых глобальных достижений в борьбе за улучшение экологии на Земле стало возможным, благодаря тому что в 1987 году был наложен запрет на использование хлорфторуглеродов в холодильных установках и кондиционерах, откуда они в основном и поступали в атмосферу.[Вернуться в оглавление]

    Пол Фрейзер, главный специалист в области исследования атмосферы в исследовательской организации Commonwealth Scientific and Industrial Research Organisation, подчеркивает: «Это хорошая новость. Мы ее давно ждали. Мы считаем, что сейчас эта тенденция приняла необратимый характер. Это очень важно». По словам Фрейзера, после введения запрета уровень хлора в атмосфере продолжал расти, достигнув своего пика в 2000 году. «Это было вызвано исключительно использованием хлоридов в старых холодильных установках и старых автомобильных кондиционерах», — отметил он. Фрейзер считает, что начиная с 2005 года ученые смогут наблюдать, как озоновая дыра будет постепенно закрываться, а к середине века окончательно исчезнет, хотя озоновый слой еще будет оставаться уязвимым в течение 10 лет.

    Дыра в озоновом слое, защищающем Землю от ультрафиолетовых солнечных лучей, впервые была обнаружена почти 30 лет назад. В то время она по своим размерам была равна Австралии.

    В соответствии с Монреальским протоколом 1987 года развивающиеся страны обязались наполовину уменьшить потребление и производство хлорфторуглеродов к 2005 году и на 85% — к 2007 году.

    Источник: по материалам сайта NTVRU.com.

    Новые технологии и стандарты
    Высокие технологии против преступников

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

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

    Британская национальная база данных ДНК, основанная в 1995 году, стала первым шагом на пути к созданию огромного банка данных о населении. Она была создана для того, чтобы сопоставлять образцы ДНК с мест преступлений с накопленными в базе. В настоящее время в базе содержатся почти 2 миллиона образцов. На ее развитие выделено 180 миллионов фунтов стерлингов и похоже, что база в будущем станет одним из основных инструментов любого серьезного расследования.

    Как и в «Особом мнении», наука биометрия играет все большую роль в идентификации личности. Для этого используются отпечатки пальцев, рисунок сетчатки и очертания ладони.

    Крупные авиалинии намерены разместить в аэропортах пункты саморегистрации, где пассажиры смогут без задержек зарегистрироваться на рейс, идентифицируясь при помощи процедуры сканирования лица. Virgin Atlantic и British Airways в этом году испытывали подобную систему в лондонском аэропорту Хитроу.

    Биометрия уже используется полицией на постоянной основе. Житель Лондона в среднем 200 раз в день попадает в кадр телекамер наблюдения. Новое поколение камер позволит получать более отчетливые изображения и сканировать их, сравнивая с накопленными в базе данных. Такая система уже проходит испытания на востоке Лондона и в графстве Эссекс. Изображения автоматически сравниваются со 160 тысячами хранящихся в компьютере снимков.

    Кроме того, полиция использует электронные метки для слежения за условно осужденными правонарушителями. Датчик крепится на руку и передает полиции данные о точном местонахождении носителя через спутниковую систему глобального позиционирования. Эта технология широко применяется в Соединенных Штатах в течение последних 10 лет. Лишь 2% отмеченных датчиками правонарушителей преступили закон повторно.

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

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

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

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

    Источник: по материалам сайта BBC.


    Устройство для экстренной эвакуации из высотных зданий

     
    Руководитель научно-технического центра «Бетта» Омского аэрокосмического объединения «Полет» Вячеслав Котельников изобрел самоспасатель для экстренной эвакуации из высотных зданий.[Вернуться в оглавление]

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

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

    В настоящее время «Шанс» испытывается на высоту зданий до 20-этажей, но при необходимости длина сверхпрочного троса может быть увеличена до 500 метров.

    Сам Котельников сообщил, что начал работать над «Шансом» еще пять лет назад, задолго до трагедии 11 сентября в Нью-Йорке. Он также сообщил, что изобретением заинтересовались в США, где ему предложили сотрудничество.

    Источник: по материалам сайта Аккумулятор Новостей.


    Чипсет возвратит зрение слепым

     
    Инженеры из Sandia Labs разработали многоэлементный чипсет искусственной сетчатки, который вживляется в глаз и позволяет слепым обрести зрение.[Вернуться в оглавление]

    Давняя мечта фантастов вот-вот станет реальностью: американские ученые близки к созданию имплантата, восстанавливающего зрение у слепых. Государственные лаборатории США и университеты работают над проектом, объем финансирования которого составляет 9 млн $. Он поможет тем, кто лишился зрения из-за дистрофии желтого пятна и заболевания retinitis pigmentosa, когда перестают работать элементы сетчатки, но зрительные нервы продолжают действовать.

    «Наша цель — предоставить слепым возможность читать, перемещаться по дому, огибая препятствия, и выполнять простую домашнюю работу, — говорится в заявлении руководителя проекта Курта Вессендорфа (Kurt Wessendorf). — Они не смогут водить машину, по крайней мере в ближайшее время, так как вместо миллионов пикселов увидят примерно тысячу. Изображение будет проявляться немного замедленно и покажется желтоватым. И все же слепые прозреют».

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

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

    Устройство стало результатом исследований, проводимых Университетом Джона Хопкинса и Университетом штата Северная Каролина, а также Южно-Калифорнийским университетом и национальной лабораторией в Окридже. Другие лаборатории, такие как Sandia, Los Alamos и Laurence Livermore, занимаются моделированием нейронных путей и тестированием новых материалов.

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

    Один из инициаторов проекта, Марк Хьюмаюн (Mark Humayun) из Южно-Калифорнийского университета, сказал: «Существует масса передовых технологий, готовых к применению или уже применяемых в оборонных целях. Мы можем использовать их для борьбы со слепотой, значительно продвинув вперед всю эту область медицины».

    Источник: по материалам сайта ZDNet.ru.


    Высокие технологии в медицине

     
    Недавно в Эссене прошёл 10-й международный конгресс по проблемам бор-нейтронно-захватной терапии, главная особенность которой — в воздействии на отдельные (раковые) клетки ткани без повреждения соседних, здоровых.[Вернуться в оглавление]

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

    Сама по себе та идея, на которой базируется методика бор-нейтронно-захватной терапии, отнюдь не нова и восходит к первой половине 20-го века. Вольфганг Зауэрвайн (Wolfgang Sauerwein), профессор университетской радиологической клиники в Эссене, поясняет: «В основе такой нейтронно-захватной терапии лежит свойство нерадиоактивного изотопа элемента бора — бор-10 — удерживать медленные, то есть низкоэнергетические нейтроны. При этом происходит ядерная реакция. Она представляет собой как бы микровзрыв, при котором мгновенно выделяется некоторое количество энергии и, как следствие, разрушаются окружающие структуры. В условиях нейтронно-захватной терапии рака такое разрушение ограничено объёмом одной клетки».

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

    «В настоящий момент существует три направления в клиническом применении этой методики, причём два из них ограничиваются опухолями головного мозга», — говорит профессор Зауэрвайн и поясняет: «Один представитель из Японии оперирует своих пациентов так: удалив новообразование, он сразу же облучает ложе опухоли, то есть ткани вокруг того места, где эта опухоль находилась. Такая методика, естественно, предполагает проведение операции в непосредственной близости от реактора — источника нейтронов».

    «Европейский путь и путь, которым идут в Америке, — и это, я бы сказал, в техническом отношении более современный путь, — позволяет осуществлять нейтронное облучение — прежде всего, опухолей мозга, — не производя одновременно при этом саму операцию. Это связано с качественными характеристиками используемого пучка нейтронов».

    «Третий метод впервые применили наши итальянские коллеги совсем недавно, в начале года. Они изъяли у пациента весь орган целиком, подвергли его нейтронному облучению в реакторе и снова имплантировали на прежнее место. Речь идёт о печени, поражённой метастазами рака кишечника, причём поражённой так густо, что прооперировать все эти метастазы по отдельности врачи уже не могли. А поскольку остальные органы пациента не были затронуты болезнью, итальянские онкологи избрали этот путь. И им действительно удалось добиться полного исчезновения метастаз в печени».

    Что же касается радиоактивного облучения пациента в ходе компьютерной томографии, то сегодня усилия разработчиков и конструкторов медицинской техники всё больше концентрируются на совершенствовании томографов на основе ядерного магнитного резонанса, принципиально свободных от этого недостатка. Такие приборы не только снабжают врачей точной и надёжной диагностической информацией, но и делают это исключительно быстро. Крупнейший в мире исследовательский центр в области ядерной магнитно-резонансной томографии находится в Швейцарии и является подразделением Высшей технической школы Цюриха. Недавно здесь прошли испытания двух новых томографов. Их магнитно-резонансные проекционные данные позволяют получать достаточно чёткие изображения отдельных органов.

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

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

    Источник: по материалам сайта Немецкая волна.


    Правительство США выделяет миллиард долларов на развитие нанотехнологий

     
    Подкомитет по науке, технологиям и космическим исследованиям (Science, Technology and Space Subcommittee) при Сенате США готовится обсудить законопроект о выделении на исследования в области нанотехнологий около 1 млрд. долларов.[Вернуться в оглавление]

    Документ предполагает финансирование государственных работ в этой области в размере 446 млн. долларов в 2003 финансовом году и 547 млн. — в 2004 г. В эту сумму не входят деньги, выделяемые на разработки по линии министерства обороны США.

    Среди тех, кто выступит на слушании перед сенаторами, есть представители компании Hewlett-Packard, которой недавно удалось создать молекулярную память, и члены исследовательской группы NanoBusiness Alliance.

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

    Источник: по материалам сайта Компьюлента.

    Новинки аппаратного обеспечения
    Беспроводные дисплеи Casio работают под проливным дождем

     
    Японская корпорация Casio сообщила о своих планах по выпуску беспроводных и влагостойких жидкокристаллических дисплеев — модель Casio XF-800 c диагональю 8 дюймов появится в продаже уже 21 сентября, Casio XF-600 с диагональю 6 дюймов — во второй половине октября.[Вернуться в оглавление]

    Дисплеи принимают сигнал со специального передатчика, который может быть присоединен к телевизионной антенне, а также видеомагнитофону или DVD-плееру. Максимальная дальность действия приемников составляет 30 м. Кроме этого, новые дисплеи имеют 6 класс водонепроницаемости по шкале JIS, что позволяет им находиться без последствий под проливным дождем. Вес дисплеев XF-600 и XF-600 составляет 1,45 и 1,75 кг. Разработчики предполагают, что устройства годятся для установки в ванной или на балконе — там, куда сложно осуществить прокладку кабеля. Время непрерывной работы дисплея от батареи составляет 2,5 часа. Цена устройств составляет $102 и $131 соответственно.

    Источник: по материалам сайта DigiTimes.

    обсудить ::

    подробнее ::

    оглавление ::


    Двухоконный ЖК монитор по рецепту EIZO Nanao

     
    Идея производства «двухоконного дисплея», разумеется, не нова, и время от времени в новостях всплывают фотографии таких концептов. Компания EIZO Nanao решила поставить выпуск таких моделей, анонсировав хитрую подставку LS-HM0-D под два 15- — 18,1-дюймовых ЖК монитора своего производства. Новинка начнет поступать в розницу в конце сентября.[Вернуться в оглавление]

    Модель LS-HM0-D можно использовать с двумя мониторами EIZO Nanao ряда L685EX / L685 / L675 / L676 / L375 / L665 / L565-A / L565 / L465 / L365-A / L365. Помимо подставки LS-HM0-D светлого оттенка, будет также выпускаться модель LS-HM0-D-BK черного цвета.

    Подставка позволяет крепить мониторы в вертикальной (портретной) ориентации, угол наклона дисплеев в горизонтальной плоскости имеет шесть фиксированных установок в диапазоне — 0 — 13 градусов от вертикали. Стоимость подставки LS-HM0-D — около $250.

    Источник: по материалам сайта iXBT.com.


    В России появились новые модели компьютеров PowerMac G4

     
    Компания NBZ Computers сообщила о том, что на ее склад поступила первая в России партия компьютеров из новой линейки двухпроцессорных компьютеров PowerMac G4 производства Apple.[Вернуться в оглавление]

    Правда, российским пользователям предлагаются только младшая и средняя модели этой линейки.

    Младшая модель имеет следующую конфигурацию: два процессора PowerPC G4/867 МГц, 256-Мбайт ОЗУ типа PC2100 DDR, 60-Гбайт жесткий диск ATA 7200 rpm, ComboDrive (DVD/CD-RW), видеоадаптер NVIDIA GeForce4 MX Dual 64 Мб DDR, сетевая карта 10/100/1000BASE-T, модем 56K, клавиатура, мышь. Цена — 2149 долл.

    Конфигурация средней модели: два процессора PowerPC G4/1 ГГц, 256-Мбайт ОЗУ типа PC2700 DDR, 80-Гбайт жесткий диск ATA 7200 rpm, SuperDrive (DVD-R/CD-RW), видеоадаптер ATI Radeon 9000 Pro 64 MB DDR, сетевая карта 10/100/1000BASE-T, модель 56K, клавиатура, мышь. Цена — 3159 долл.

    Источник: по материалам сайта РОЛ.


    Intel: 11 новых процессоров для мобильных ПК

     
    В начале прошлой неделе корпорация Intel объявила о выпуске 11 новых процессоров для мобильных ПК, включая процессор Intel Pentium 4-М с тактовой частотой 2,2 ГГц для высокопроизводительных ноутбуков.[Вернуться в оглавление]

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

    Процессор Pentium III-M для мобильных ПК позволяет производителям персональных компьютеров создавать сверхкомпактные форм-факторы, обеспечивая хорошую производительность и длительность автономной работы. Intel также предлагает процессор Pentium III-M с низким и сверхнизким энергопотреблением, оптимизированный для мининоутбуков, субноутбуков и ПК-планшетов — самых малых систем. Ожидается, что выпуск ПК-планшетов на базе процессоров Intel для мобильных ПК начнется осенью 2002 г.

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

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

    Источник: по материалам Intel.

    обсудить ::

    подробнее ::

    оглавление ::


    Графические платы семейства nVidia Quadro признаны лидерами в своем классе

    nVidia Corporation, лидирующая компания в области решений для обработки графики, объявила, что ее семейство графических решений nVidia Quadro 4 было награждено двумя ведущими изданиями отрасли PC Magazine и Maximum PC за производительность в трехмерной графике и функциональность в классе рабочих станций.[Вернуться в оглавление]

    В номере журнала Maximum PC за сентябрь этого года плата nVidia Quadro4 900 XGL завоевала приз «Выбор редакции», получив 9 из 10 возможных баллов. Также, в выпуске PC Magazine за сентябрь в обзоре рабочих станций графические платы nVidia Quadro4 900 XGL и nVidia Quadro4 700 XGL в составе рабочих станций Dell Precision позволили последним занять призовые места в номинации «Выбор редакции» в секторе высокопроизводительных станций и категории среднего класса соответственно. Все системы, представленные для обзора PC Magazine, были оснащены графическими процессорами nVidia.

    «В ходе тестирования Quadro 4 обошла все другие платы в обзоре», — сообщает обозреватель Maximum PC Джим Норрис (Jim Norris) в своем сентябрьском обзоре. «Вы получаете ускорение обработки треугольников, ускорение работы офисных приложений и доступ к оптимизированным под OpenGL драйверам Quadro, а также удивительную скорость, стабильные OpenGL-драйверы, полную поддержку ОС и потрясающие игровые возможности».

    Обзор Maximum PC также хвалит nView, технологию nVidia для работы с несколькими дисплеями, а также обеспечения возможностей типа автоматической установки размеров окна, прозрачности окна, и других, которые делают применение второго дисплея более удобным. Все изделия семейства nVidia Quadro 4 поддерживают одновременное применение аналоговых мониторов и цифровых ЖК-мониторов для увеличения размеров рабочего стола. Гибкий интерфейс nView имеет встроенные функции автоматизации, сводящие к минимуму процесс установки и максимально увеличивающие производительность, включая назначение горячих клавиш, расширенные функции управления Windows, и возможность создать и сохранить до 32 различных конфигураций рабочего стола.

    Источник: по материалам сайта nVidia.

    обсудить ::

    подробнее ::

    оглавление ::

    Новинки программного обеспечения
    Windows XP Service Pack 1 можно взломать

     
    Усилия Microsoft, затраченные на то, чтобы усложнить жизнь компьютерных пиратов и защитить свой флагманский продукт Windows XP, похоже, вновь оказались тщетны. Лишь несколько дней назад компания выпустила ХР Service Pack 1, предупредив о том, что пользователи, работающие на пиратских копиях ОС, не смогут установить это обновление на своих компьютерах.[Вернуться в оглавление]

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

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

    Узнав о сложившейся ситуации, представители Microsoft заявили, что защита сервисного пакета ХР «не была рассчитана на серьезных хакеров — в ее намерения входило лишь пресечение беспорядочного копирования». По мнению компании, такая защита отпугнет большинство незаконных пользователей ХР, однако известно, что всегда найдется несколько серьезных хакеров, которые смогут переступить через эту преграду.

    Источник: по материалам vnunet.com.

    обсудить ::

    подробнее ::

    оглавление ::


    Первые программы для Tablet PC

     
    Канадская компания Corel и американская Pen&Internet представили программное обеспечение, специально разработанное для устройств на активно продвигаемой Microsoft платформе планшетных компьютеров Tablet PC.[Вернуться в оглавление]

    Corel Grafigo ориентирована на корпоративный сектор и представляет собой среду для совместной работы, полностью ориентированную на рукописный ввод данных через чувствительный экран. Данное программое средство позволяет нескольким пользователям, объединенным, например, беспроводной сетью, одновременно работать над одним документом, а также предоставляет дополнительные возможности распознавания текста, простых геометрических фигур и т.д. Программа полностью написана на разработанном в Microsoft языке C# с использованием инструментария Visual Studio .NET.

    Grafigo 1.0, совместимая только с Windows XP Professional Tablet PC Edition, будет доступна для бесплатного скачивания с сайта Corel. Ее релиз приурочат к выпуску на рынок первых устройств Tablet PC, запланированному на ноябрь.

    Разработка Pen&Internet — Ritemail, почтовый сервис для написанных (или нарисованных) с помощью пера и чувствительного экрана сообщений. Он полностью построен на Java и поэтому совместим со всеми операционными системами, поддерживающими этот язык — Windows, Mac, Pocket PC и Palm OS и др. Ritemail поддерживает протоколы POP3, IMAP и SMTP и совместим с почтовыми программами Outlook, Outlook Express, Netscape Mail и Eudora. Имеется набор графических примитивов, элементов схем, графиков и т.д. Цена годовой подписки на Ritemail — от 30$ до 50$. Подробнее о нем можно прочитать на ritemail.net. На этом же сайте можно с помощью мышки нарисовать пробное письмо.

    Cама Microsoft для Tablet PC разработала Journal — записную книжку, которая позволяет как сохранять рукописные заметки, так и переводить их в текст.

    Источник: по материалам сайта Компьюлента.


    В браузере Mozilla обнаружена уязвимость

     
    В браузере Mozilla, над которым работает open-source-проект Mozilla.org, обнаружена уязвимость, которая позволяет вебмастеру отследить, куда уходит пользователь с его сайта. Ведущий исследователь фирмы Neopoly Свен Нойхаус (Sven Neuhaus) заявил, что «дыра», открытая еще в мае, всё еще представляет собой серьезную угрозу для конфиденциальности пользователя.[Вернуться в оглавление]

    Уязвимость касается браузеров Mozilla 0.9x, 1.0, 1.0.1, 1.1, 1.2 alpha, Netscape 6.x и 7, Galeon 1.2.x и Chimera 0.5. В качестве решения проблемы разработчики проекта предлагают отключить функции JavaScript.

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

    Для продвинутых пользователей предлагается исправить ошибку самостоятельно, поправив конфигурационный файл «user.js» в директории с профилем — вставить код отключения функции «onunload»:

    user_pref(«capability.policy.default.Window.onunload», «noAccess»);

    Источник: InternetNews.com.

    обсудить ::

    подробнее ::

    оглавление ::


    BEA: виртуальная Java-машина для Windows и Linux

     
    Представители BEA Systems объявили о начале поставок своей собственной виртуальной Java-машины, оптимизированной под платформу Intel, что позволит компании поставлять свои приложения для таких операционных систем, как Windows и Linux, работающих на этой платформе.[Вернуться в оглавление]

    Представители BEA считают, что рынок давно готов к новой, «независимой» виртуальной машине, произведенной компанией, не имеющей интересов, связанных с упомянутыми ОС. Эрик Стэл (Eric Stahl), директор BEA по маркетингу, утверждает, что не существует удовлетворительных Java- решений для платформы Intel. Этот сегмент слишком зависит от таких производителей, как Microsoft, Sun и IBM, приоритеты которых не предполагают оптимизации Java под Intel. Microsoft продвигает свой продукт .NET, Sun сосредоточился на Solaris, а IBM поддерживает слишком много платформ, хотя и немало делает для продвижения Java на Linux и Windows.

    В сложившихся условиях BEA предлагает свое решение для этих платформ — виртуальную машину JRockit, которая обеспечит компании преимущество на указанных ОС, так же как и в других областях. Например, расширится рынок для WebLogic — одного из самых распространенных серверов приложений. Сейчас BEA WebLogic JRockit 7.0 работает на таких платформах, как Hewlett-Packard, Dell, Fujitsu и пр., но плохо интегрируется с Red Hat Linux и Microsoft Windows.

    McKesson, компания, работающая в области здравоохранения, уже использует JRockit в паре с WebLogic. По словам ее технического директора Чака Нетлиса (Chuck Nettles), применение решений на базе платформы Intel является для McKesson относительно низкобюджетным. Дело в том, что раньше клиентам BEA приходилось покупать более дорогое аппаратное обеспечение, теперь же JRockit работает на платформе Intel и при этом позволяет разрабатывать, поддерживать и запускать большие приложения.

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

    BEA WebLogic JRockit 7.0, как и другие JVM, поставляется бесплатно.

    Источник: по материалам Internet Week.

    обсудить ::

    подробнее ::

    оглавление ::


    Новое ПО IBM обезопасит веб-сервисы

    Корпорация IBM планирует представить новый инструментарий для создания веб-сервисов.[Вернуться в оглавление]

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

    С помощью нового инструментария можно будет разрабатывать веб-сервисы, работающие на платформах IBM WebSphere Application Server 5 и IBM Tivoli Access Manager. Для обеспечения безопасности будут использоваться открытые стандарты. Окончательная версия инструментария появится в четвертом квартале этого года.

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

    Источник: по материалам сайта Компьюлента.

    Исследования
    Рынок высоких технологий начнет исправляться в 2003 году

     
    В следующем году расходы потребителей информационных технологий будут медленно, но уверенно расти, заявил директор по исследованиям IDC Джон Ганц (John Gantz) на европейском IT-форуме в Монако. Несмотря на все еще плохое состояние рынка, худшие времена прошли. Следующий год покажет возврат к нормальным, но неагрессивным показателям роста.[Вернуться в оглавление]

    В самом худшем случае ожидается 4-процентный годовой рост расходов на IT в Европе. По словам Ганца, ослабление рынка было частью обычного бизнес-цикла, в котором был раздут спрос на высокие технологии с последующим лопанием этого «мыльного пузыря». Вместе с тем, долгосрочное использование новых технологий начнется с множества технологических и деловых изобретений и передела долей рынка.

    «Новый растущий рынок покажет архитектурные изменения во всем — от серверов и хранилищ данных до инфраструктур связи, IT-услуг, ПО и электронной коммерции», — сказал Ганц. Он предупредил, что производители должны быть как можно ближе к своим клиентам, и это один из основных факторов для будущего роста. Другими факторами роста станут интернет, интеграция бизнеса, мобильная связь, вопросы безопасности и глобализация экономики. «Мобильный и беспроводной сектора должны стать ведущей силой на ближайшее десятилетие», — считает Ганц. Рынок оборудования для беспроводных локальных сетей будет расти на 22% ежегодно до 2006 года. К концу 2003 года в Европе будет 20 миллионов домов, выходящих в Сеть по скоростным линиям, за 4 года количество веб-сайтов электронной торговли вырастет в пять раз до 10 млн. Инвестиции в безопасность станут более масштабными, соответственно росту объема транзакций.

    Безопасность больше не минимальная тактическая функция, но основное направление стратегических инвестиций. Несмотря на 1000 % рост расходов на технологии с 1999 года, расходы на безопасность только удвоились, что недостаточно для нормального обеспечения надежности.

    Источник: по материалам сайта Vnunet.com.

    обсудить ::

    подробнее ::

    оглавление ::


    В2С-торговля в Европе остается на низком уровне

     
    Согласно исследованию, проведенному EOS Gallup Europe по поручению Европейской Комиссии, развитие розничной интернет-торговли в Европе остается на достаточно низком уровне.[Вернуться в оглавление]

    Выяснилось, что только 35% пользователей Сети совершали покупки в онлайне, что ненамного больше аналогичного показателя прошлого года. Всего лишь 4% опрошенных назвали себя постоянными клиентами интернет-магазинов, а 16% заявили, что они покупают в онлайне лишь «изредка».

    Самая высокая доля тех, кто хоть раз пробовал совершить покупку в Сети, зафиксирована в Великобритании — 55%. При этом во всех остальных европейских странах этот показатель не дотянул и до 50%. Великобритания также лидирует по числу тех, кто покупает в интернете «часто или время от времени» — 37%. В среднем же по Европе лишь 20% пользователей «часто или время от времени» пользуются услугами интернет-магазинов.

    Источник: eMarketer

    обсудить ::

    подробнее ::

    оглавление ::


    Минсвязи: К 2010 г. GSM-связью будет пользоваться 23 млн. россиян

     
    Новая редакция «Генеральной схемы создания и развития федеральной сети подвижной радиотелефонной связи общего пользования стандарта GSM в России» в целом одобрена коллегией Министерства связи и информатизации РФ. Коллегия также вынесла решение о представлении «Генеральной схемы» на рассмотрение Государственной комиссии электросвязи в IV квартале нынешнего года.[Вернуться в оглавление]

    Как сообщила пресс-служба министерства, решение было принято 17 сентября. На коллегии отмечалось, что общее количество абонентов сети GSM достигнет к 2010 году 23 млн. человек, что потребует как минимум пяти кодов негеографических зон нумерации.

    По прогнозам Минсвязи, дальнейшее развитие подвижной связи в России на базе технологии GSM будет проходить путем преимущественного создания двухдиапазонных сетей GSM, укрупнения существующих и создания новых сетей, эволюции существующих цифровых сетей к предоставлению высокоскоростных услуг и в перспективе — развертывания сетей третьего поколения на основе европейской версии UMTS международного стандарта IMT-2000. Развитие сети GSM в стратегическом плане основано на соблюдении принципов непрерывного поэтапного развития и преемственности основных системно-технических решений на всех этапах.

    Как отмечалось на коллегии, следующим этапом эволюционного развития сетей сотовой подвижной связи стандарта GSM является переход к технологиям фазы 2,5. В связи с этим ряд операторов уже проводит мероприятия по внедрению услуг на основе пакетной передачи данных (GPRS). В свою очередь, это требует разработки сетевых аспектов создания инфраструктуры для пакетной передачи данных, а также порядка взаимодействия сетей отдельных операторов между собой и с другими сетями общего пользования Взаимоувязанной сети связи РФ.

    В настоящее время в России действует более 70 операторов сетей стандарта GSM, предоставляющих услуги примерно 11 млн пользователей.

    Источник: РБК.

    обсудить ::

    подробнее ::

    оглавление ::


    Софтверный рынок наводнят программы борьбы со спамом

     
    Новое программное обеспечение по борьбе со спамом в большом количестве появится на рынке в ближайшие полтора года, утверждает исследовательская группа GIG (Giga Information Group) в своем отчете.[Вернуться в оглавление]

    «Объем спама в течение прошлого года увеличился в четыре раза. Содержание стало более некорректным: сообщения больше не предлагают безвредных советов, а рекламируют порнографические материалы и услуги. Рынок антиспаммерских программ будет быстро развиваться в течение ближайших 18 месяцев по мере того, как антивирусные компании и фирмы сетевой безопасности ощутят значимость проблемы, — утверждает директор исследований группы Giga Джонатан Пенн (Jonathan Penn).

    «Чем больше программ для борьбы со спамом, тем лучше, — говорит Рэй Эверетт-Чарч (Ray Everett-Church), директор службы безопасности ePrivacy Group и член совета организации Coalition Against Unsolicited Email («Коалиции против нежданных электронных писем»). По его словам, за последние шесть-восемь месяцев потоки спама возросли во много раз и изрядно надоели пользователям. Антиспаммерская фирма Brightmail из Сан-Франциско приводит свою статистику — пятикратное увеличение потоков спама за год, если взять за начало отсчета сентябрь. Статистика компании MAPS LLC (Mail-Abuse Prevention Systems) гласит, что с апреля по сентябрь этого года спама было на 600-700% больше, чем за тот же период прошлого года. Среди нежданных писем стало попадаться больше рекламы порнографии и даже соответствующие картинки.

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

    Источник: InternetNews.com.

    обсудить ::

    подробнее ::

    оглавление ::


    Современные интерактивные технологии экономят время и деньги

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

    Участники собрания подсчитали, что каждый заказчик, использующий хотя бы одну интерактивную транзакцию, теоретически может сэкономить около 20 долларов, а муниципалитет — 13. В данном случае исключаются прямые затраты на содержание персонала, бумажные расходы, снижаются административные издержки. 22 % всех транзакций, проведенных через веб-сайт муниципалитета, созданный в октябре прошлого года, было получено во внеурочное время, то есть уже после окончания основных часов работы.

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

    Напомним, что по данным Организации Объединенных Наций, Эмираты возглавляют список стран, успешно использующих современные интерактивные технологии. По этому показателю они находятся впереди Японии, Ирландии, Австрии и России.

    Источник: по материалам сайта UAEtrip.com.

    ВАШИ КОММЕНТАРИИ И ПРЕДЛОЖЕНИЯ




      Сентябрь 23, 2002
    | ПОДПИСКА на новости CNews.ru |
     Архив: 


    :: CNews.ru ::
    Главные новости дня | Новости: e-Business | Hi-Tech | Telecom | Аналитика и комментарии | Неделя HI-TECH | Пресс-релизы компаний | Календарь событий | Анонсы СМИ | Работа в IT-секторе | Форум | Чат

    Тел. (095) 363-1157, факс 363-1153, e-mail marketing@cnews.ru

    :: РБК ::


    http://subscribe.ru/
    E-mail: ask@subscribe.ru
    Отписаться

    В избранное