Logo    
Деловая газета CitCity.ru CITKIT.ru - все об Open Source Форумы Все публикации Учебный центр Курилка
CitForum    CITForum на CD    Подписка на новости портала Море(!) аналитической информации! :: CITFORUM.RU
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

17.01.2017

Google
WWW CITForum.ru
С Новым годом!

Скрытые контракты .NET

Сергей Кузнецов
Открытые системы, #12/2003

Обзор ноябрьского 2003 года номера журнала Computer (IEEE Computer Society, Vol. 36, No. 11, November 2003)

Обозначенной темой ноябрьского номера являются "системы, для которых надежность является критичной" (Safety-Critical Systems). Но, по сути дела, тематическая подборка статей отсутствует: в нее собраны всего две статьи, и только первая непосредственно относится к теме.

Эта статья так и называется: "Проектирование компьютерных систем, для которых надежность критична" (Designing Safety-Critical Computer Systems). Автор статьи - Уильям Дан (William Dunn). Компьютеры все чаще применяются в приложениях данной категории, используемых в повседневной жизни людей. Однако как показывают исследования, предлагаемые разработчиками концепции и архитектуры подобных систем, часто оказываются неудовлетворительными на практике. По мнению автора, это связано с тремя причинами: (1) недостаточным пониманием того, что делает систему "надежной"; (2) отсутствием анализа последствий встраивания "надежного" компонента в более крупную систему; (3) игнорированием точек сбоя, которые могут превратить систему в ненадежную при практическом использовании. В действительности, не бывает абсолютно надежных систем, и на практике всегда приходится иметь дело с риском аварии (mishap risk). При разработке необходимо учитывать допустимый уровень риска аварии, обращая внимание на каждый из пяти основных компонентов компьютерной системы: приложение (физическая сущность, для которой осуществляется мониторинг и управление); сенсор; эффектор (исполнительный элемент); оператор и собственно компьютер, включая аппаратуру и программное обеспечение. Демонстрируется, каким образом можно добиться приемлемого уровня риска аварии системы с включением в нее дополнительных элементов. Обсуждаются также существующие подходы к оценке надежности систем.

Вторая статья, включенная в подборку, написана Карин Арну (Karine Arnout) и Бертраном Мейером (Bertrand Meyer). Название статьи: "Раскрытие скрытых контрактов: пример .NET" (Uncovering Hidden Contracts: The .NET Example). Насколько я понимаю, никто не пытался ввести короткий русский эквивалент для термина design by contract, поэтому будем использовать "почти" транслитерацию с пояснением смысла. Контракты программного обеспечения состоят из предусловий и постусловий подпрограмм и инвариантов классов, включаемых в текст программы. Наличие контрактов способствует корректности программ, документированию, отладке и тестированию, управлению наследованием и т.д. Авторы статьи тесно связаны с компанией Eiffel Software (Мейер - ее основатель). Проектирование на основе контрактов является ключевым подходом в среде разработки на языке Eiffel (в частности, этот подход активно используется при разработке библиотек классов). Авторы были удивлены тем, что контракты не присутствуют явно в библиотеках сред Java и .NET. Они решили разобраться в том, действительно ли не требовались спецификации при разработке этих библиотек, или же эти спецификации на самом деле присутствуют, но явно не выделены. Была проделана большая ручная работа по анализу исходного текста библиотеки Collections .NET; оказалось, что большую часть спецификаций, требуемых для контракта, в этой библиотеке найти можно. Написан прототип мастера Eiffel Contract, помогающего составлять контракты для .NET. Планируется оформить эту программу как Web-сервис, чтобы любой программист мог содействовать облагораживанию контрактами программного обеспечения .NET.

Перейдем к "нетематическим" статьям ноябрьского номера. Статью "Добыча данных для очень занятых людей" (Data Mining for Very Busy People) написали Тим Мензис (Tim Menzies) и Йинг Ху (Ying Hu). Термин data mining используется в русской компьютерной литературе уже достаточно долго, однако согласия относительно его русскоязычного эквивалента так и нет. Думаю, основная причина состоит в "сленговом" происхождении термина. Во многих предложениях русских вариантов термина видно желание улучшить оригинал, что приводит к его подмене. Поэтому, поясняя, что речь идет о добывании из имеющихся данных некоторых закономерностей (если угодно, знаний), я и здесь продолжу использовать "кальку". Авторы статьи разработали систему добычи данных TAR2, которая отличается от других подобных систем склонностью к минимализму. Как уверяют авторы, "большинство добытчиков данных являются неутомимыми охотниками за детализированными сводками, производя обширные описания". Очень занятым людям некогда анализировать такие описания при потребности срочного принятия решения. TAR2 обеспечивает минимальный набор ключевых различий между обрабатываемыми фактами, который облегчает понимание существующей ситуации. В статье приводится много примеров использования TAR2.

Авторами статьи "Носимые сети следующего поколения" (Next-Generation Wearable Networks) являются Рой Эшок (Roy Ashok) и Дхарма Агравал (Dharma Agrawal). Носимая сеть (wearable network), т.е. компьютерная сеть, пригодная для встраивания в обычную одежду, поддерживает совместное функционирование различных компьютерных устройств, монтируемых на одежде. Такого рода сети применяются в медицине, в управлении сложными техническими устройствами, и область применения носимых сетей постоянно расширяется. Носимая сеть должна включать два компонента: один связывает "одежную" компьютерную систему с внешним миром (off-body network), а другой - объединяет устройства, располагаемые непосредственно на одежде (on-body network). Внешняя сеть может базироваться на различных имеющихся беспроводных технологиях, а для выбора оптимальной технологии внутренней сети требуются дополнительные исследования. В статье приводится краткий обзор исследовательских проектов в области носимых компьютерных систем, а также обсуждаются сетевые стандарты, потенциально пригодные для использования в данной области, и некоторые реализации этих стандартов.

У статьи "SCTP: стандарт устойчивого транспорта данных в Internet" (SCTP: A Proposed Standard for Robust Internet Data Transport) шесть авторов; первый в их списке - Армандо Каро (Armando Caro). Транспортный протокол общего назначения SCTP (Stream Control Transmission Protocol) расширяет возможности протоколов TCP и UDP, являясь производным протоколом от протокола передачи телефонных сигналов в IP-сетях. На сегодняшний день SCTP имеет статус стандарта IETF (RFC 2960, www.ietf.org/rfc/rfc2960.txt). Подобно TCP он обеспечивает надежное, полнодуплексное соединение и механизмы контроля перегрузки сети. В отличие от TCP и UDP, в SCTP имеются новые варианты доставки, которые особенно желательны в телефонных и мультимедийных приложениях. Статья содержит краткое описание стандарта.

Название еще одной большой статьи ноябрьского номера - "Масштабирование Web-сервисов с использованием емкостных сетей" (Scaling Web Services with Capacity Provision Networks). Ее авторы: Ксианджун Генг (Xianjun Geng), Рэм Гопал (Ram D. Gopal), Р. Рамеш (R. Ramesh), Эндрю Винстнон (Andrew Whinston). Емкостная сеть (capacity provision network, CPN) - это сеть кэширующих серверов, принадлежащих разным Internet-провайдерам, которые оперируют этими серверами и координируют их работу на основе торговли емкостями кэшей. Авторы приводят многоуровневое представление компонентов Web-сервисов, где вертикальные уровни соответствуют механизмам, поддерживающим конкретную отрасль, а горизонтальные - конкретным компонентам, применимым в разных прикладных областях. Отмечается важность инфраструктурного уровня Web-сервисов, на котором должно обеспечиваться совместное использование инфрастуктуры Web-сервисами более высоких уровней. CPN обеспечивает построение части такой инфрастуктуры, в которой основной совместно используемый ресурс - это кэш прокси-серверов.

Подписка на новости IT-портала CITForum.ru
(библиотека, CITKIT.ru, CitCity)

Новые публикации:

24 декабря

CITKIT.ru:

  • Новогодние поздравления
  • Сергей Кузнецов. Цикл Операционные системы: Ностальгия по будущему:

  • Алексей Федорчук. OpenSolaris 2008.11 Release

  • Сергей Голубев:

  • Евгений Чайкин aka StraNNik (Блогометки):

    17 декабря

  • С.Д.Кузнецов. Базы данных. Вводный курс

    10 декабря

    CITKIT.ru:

  • OpenSolaris 2008.11 Release

  • Альтернативные ОС: две грустные истории (С.Кузнецов)
  • Nokia N810 — доведение до ума
  • CitCity:

  • Платформа 2009: заоблачные перспективы Microsoft

    4 декабря

  • Лекция С.Д.Кузнецова Понятие модели данных. Обзор разновидностей моделей данных

    CITKIT.ru:

  • OpenSolaris 2008.11 Release. Первые впечатления

  • Linux vs FreeBSD: продолжим "Священные войны"?

  • Nokia N810 as is

  • Индульгенция для FOSS

  • Друзья СПО'2008

    26 ноября

  • Нечеткое сравнение коллекций: семантический и алгоритмический аспекты

    CitCity:

    CITKIT.ru:

  • Глава из книги А.Федорчука
    Сага о FreeBSD:
  • 19 ноября

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

  • Язык модификации данных формата XML функциональными методами

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

    Заметки к книге:

  • FreeBSD: монтирование сменных устройств и механизм HAL
  • Текстовый редактор ee

    12 ноября

  • Правило пяти минут двадцать лет спустя, и как флэш-память изменяет правила (Гоц Грейф, перевод: Сергей Кузнецов)

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:
  • OSS в России: взгляд правоведа (В.Житомирский)

  • Новая статья из цикла С.Голубева "Железный марш":

    29 октября

  • О некоторых задачах обратной инженерии

  • Веб-сервисы и Ruby

  • Тестирование web-приложений с помощью Ruby

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

  • PuppyRus Linux - беседа с разработчиком (С.Голубев)

  • Сергей Кузнецов. Заметка не про Linux

    22 октября

  • Обзор методов описания встраиваемой аппаратуры и построения инструментария кросс-разработки

    CITKIT.ru:

  • Сергей Кузнецов. Почему я равнодушен к Linux

  • Глава из книги А.Федорчука
    Сага о FreeBSD:
  • Что надо иметь
    3. Базовые познания

    CitCity:

  • Управление IT-инфраструктурой на основе продуктов Microsoft

    15 октября

  • Методы бикластеризации для анализа интернет-данных

    CitCity:

  • Разъемы на ноутбуках: что они дают и зачем их так много?
  • AMD Puma и Intel Centrino 2: кто лучше?

    CITKIT.ru:

  • Новый цикл статей С.Голубева
    Железный марш:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

    8 октября

  • Автоматизация тестирования web-приложений, основанных на скриптовых языках
  • Опыт применения технологии Azov для тестирования библиотеки Qt3

    Обзоры журнала Computer:

  • SOA с гарантией качества
  • Пикоджоуль ватт бережет
  • ICT и всемирное развитие

    CitCity:

  • Пиррова победа корпорации Microsoft

    CITKIT.ru:

  • Главы из книги А.Федорчука
    Сага о FreeBSD:

    Статья из архива:

  • Я живу в FreeBSD (Вадим Колонцов)

    Новые Блогометки:

  • Перекройка шаблона Blogger или N шагов к настоящему
  • Blogger. Comment style
  • Screenie или глянцевый снимок экрана

    2 октября

    CITKIT.ru:

  • Сага о FreeBSD (А. Федорчук)

    Zenwalk: пакет недели

  • Банинг — интеллектуальное развлечение (С.Голубев)

    CitCity:

    25 сентября

  • Клермонтский отчет об исследованиях в области баз данных

    CITKIT.ru:

  • Пользователям просьба не беспокоиться... (В.Попов)

  • Снова про ZFS: диск хорошо, а два лучше
  • Командная оболочка tcsh (А.Федорчук)

    Zenwalk: пакет недели

    17 сентября

  • T2C: технология автоматизированной разработки тестов базовой функциональности программных интерфейсов
  • Технология Azov автоматизации массового создания тестов работоспособности

    CITKIT.ru:

  • FreeBSD: ZFS vs UFS, и обе-две — против всех (А.Федорчук)

    Zenwalk: пакет недели

  • Дачнет — практика без теории (С.Голубев)

    10 сентября

  • За чем следить и чем управлять при работе приложений с Oracle
  • Планировщик заданий в Oracle
    (В.Пржиялковский)

    CITKIT.ru:

  • Microsoft: ответный "боян" (С.Голубев)

  • Причуды симбиоза, или снова "сделай сам" (В.Попов)

  • Файловые системы современного Linux'а: последнее тестирование
  • Zsh. Введение и обзор возможностей
    (А.Федорчук)

    Описания пакетов Zenwalk: Zsh, Thunar, Thunar-bulk-rename, Xfce4-places-plugin, Xfce4-fsguard-plugin

    Блогометки:

  • Google Chrome
  • Лончер для ASUS Eee PC 701

    3 сентября

    CITKIT.ru:

  • Заметки о ядре (А.Федорчук):

    Добавлены описания пакетов Zenwalk: Galculator, Screenshot, Gnumeric, Pidgin

    В дискуссинном клубе:

  • И еще о Википедии и Google Knol

  • Лекция для начинающего линуксоида (С.Голубев)

    26 августа

  • Транзакционная память (Пересказ: С. Кузнецов)

    CITKIT.ru:

  • Открыт новый проект Zenwalk: пакет недели

  • Статья Текстовые процессоры и их быстродействие: конец еще одной легенды?

    21 августа

    CITKIT.ru:

  • Почему школам следует использовать только свободные программы (Ричард Столлман)
  • Беседа Сергея Голубева с учителем В.В.Михайловым

  • Википедия или Гуглезнание? Приглашение к обсуждению (Алексей Федорчук)
  • Народная энциклопедия от Google (StraNNik)

  • Обзор Mandriva 2009.0 Beta 1 Thornicrofti
  • Новичок в Линукс: Оптимизируем Mandriva 2008.1

  • Книга Zenwalk. Приобщение к Linux:

    13 августа

    CitCity:

  • Мирный Atom на службе человеку. Обзор платы Intel D945GCLF с интегрированным процессором
  • Обзор процессоров Intel Atom 230 на ядре Diamondville

  • iPhone - год спустя. Скоро и в России?

    CITKIT.ru:

  • Интермедия 3.4. GRUB: установка и настройка (из книги Zenwalk. Приобщение к Linux)

    6 августа

  • СУБД с хранением данных по столбцами и по строкам: насколько они отличаются в действительности? (Пересказ: С. Кузнецов)

    CITKIT.ru:

  • Интермедия 2.2. Что неплохо знать для начала (из книги Zenwalk. Приобщение к Linux)

  • И снова про шрифты в Иксах (А.Федорчук)

  • 20 самых быстрых и простых оконных менеджеров для Linux

  • Дело о трех миллиардах (С.Голубев)

    30 июля

  • OLTP в Зазеркалье (Пересказ: С. Кузнецов)

    CitCity:

  • Будущее BI в облаках?
  • Тиражные приложения и заказная разработка. Преимущества для заказчика
  • Дискуссия со сторонниками заказной разработки

    CITKIT.ru:

  • Новые главы книги Zenwalk. Приобщение к Linux:
  • Глава 8. Пакеты: средства установки, системы управления, системы построения
  • Глава 9. Zenwalk: репозитории, пакеты, методы установки

    23 июля

    CITKIT.ru:

  • Все против всех. 64 vs 32, Intel vs AMD, tmpfs vs ext3
  • Две головы от Intel

  • Zenwalk: обзор штатных приложений (глава из книги "Zenwalk. Приобщение к Linux")

  • Нормально, Григорий...

    16 июля

    Обзоры журнала Computer:

  • Перспективы и проблемы программной инженерии в XXI веке
  • Большие хлопоты с большими объемами данных
  • Перспективы наноэлектроники

    CITKIT.ru:

  • Интермедия о лицензиях (А.Федорчук. "Zenwalk. Приобщение к Linux")

  • Есть ли будущее у KDE?

  • Linux в школе: альтернативный вариант в задачах

  • Шифр (приключения агента Никодима)

    10 июля

    CITKIT.ru:

  • Новые разделы книги А. Федорчука Zenwalk. Приобщение к Linux:
  • Интермедия вступительная. Linux или GNU/Linux? Как вас теперь называть?
  • Глава 5. Среда Xfce
  • Глава 6. Xfce: приложения и плагины

  • ZUR (Zenwalk User Repository) FAQ

    2 июля

  • Персистентность данных в объектно-ориентированных приложениях (С. Кузнецов)

    CITKIT.ru:

  • Новые разделы книги А. Федорчука Zenwalk. Приобщение к Linux:
  • Интермедия 1.2. Дорога к Zenwalk'у. Период бури и натиска
  • Интермедия 3.3. Немного о Linux'е и "железе"
  • Глава 4. Настройка: инструментами и руками
  • Интермедия 4.1. Zenpanel и конфиги: поиски корреляции

  • Интервью с Жан-Филиппом Гийоменом, создателем дистрибутива Zenwalk

  • Linux в школе: первые итоги (С. Голубев)

    25 июня

    CITKIT.ru:

  • Zenwalk. Приобщение к Linux (А. Федорчук)

  • Логика и риторика (С.Голубев)

  • Технология Tru64 AdvFS

  • Ханс Райзер предлагает отвести полицейских к телу Нины

    18 июня

  • Проекты по управлению данными в Google (Пересказ: С. Кузнецов)

    CITKIT.ru:

  • ОС и поддержка "железа": мифы и реальность (А. Федорчук)

  • Linux в школе: другие дистрибутивы

  • Пинок (С. Голубев)

    4 июня

  • Ландшафт области управления данными: аналитический обзор (С. Кузнецов)

    CITKIT.ru:

  • Linux в школе: слово заинтересованным лицам

  • SlackBuild: пакеты своими руками

  • Linux от компании Novell. Установка и обзор openSUSE Linux

    Все публикации >>>




  • IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

    Информация для рекламодателей Пресс-релизы — pr@citcity.ru
    Послать комментарий
    Информация для авторов
    Rambler's Top100 This Web server launched on February 24, 1997
    Copyright © 1997-2017 CIT, © 2001-2017 CIT Forum
    Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...