Читать статья по информатике, вычислительной технике, телекоммуникациям: "Программные стандарты и их спецификации" Страница 1

назад (Назад)скачать (Cкачать работу)

Функция "чтения" служит для ознакомления с работой. Разметка, таблицы и картинки документа могут отображаться неверно или не в полном объёме!

Программные стандарты и их спецификации

Сергей Кузнецов

Программные стандарты являются основой подхода Открытых Систем. По прошествию многих лет я не могу не согласиться с Юрием Николаевичем Знаменским (Привет, Юра!) в том, что для создания распределенных систем необходимо использовать стандартные транспортные протоколы. В той или иной степени, в зависимости от прикладной области, но по крайней мере, учитывать наличие стандартов нужно обязательно. Если... Если вы хотите сохранить возможность расширения своей системы путем вовлечения в нее компонентов, разработанных независимо, но с учетом стандартов. Если... Если вы хотите обеспечить интероперабельность (новорусское словечко, означающее возможность совместного функционирования независимо разработанных программных или аппаратных элементов) компонентов своей системы с компонентами других систем, разработанных независимо, но с учетом стандартов. Если... Если вы хотите сохранить возможность переноса приложений на платформы других производителей, разработанные независимо, но с учетом стандартов.

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

Начнем с положительных (и не очень) примеров. Для меня самым любимым стандартом является международный стандарт ANSI/ISO языка Си. Вот почему я его люблю. Этот стандарт опубликован в виде двух книг. Первая книга представляет собой формальное описание языка, включая Бекусовские определения синтаксиса и естественно-язычные (на английском языке) описания семантики соответствующих языковых конструкций. Вторая книга (Rational) включает подробные неформальные разъяснения смысла языковых конструкций, введенных в первой книге. Идея стандарта состоит в том, что параллельно читаются обе книги. Основная информация содержится в первом томе, но как только изложение на (полу)формальном уровне становится непонятным, можно обратиться к соответствующему месту второго тома и получить неформальные человеческие пояснения. Кроме определения языковых конструкций Стандарт Си содержит спецификации основных библиотек, которые должны поддерживаться в любой стандартной реализации языка Си. Наличие этих спецификаций исключительно важно само по себе, поскольку, как известно, язык Си не содержит конструкций, обеспечивающих связь с внешним миром (в частности, операторов ввода/вывода). Для этой заметки особенно важно то, что спецификации библиотечных функций в Стандарте Си вводятся с использованием ранее


Интересная статья: Быстрое написание курсовой работы