Формализованная модель обработки информации

Обработка информации

Лекция 2: Обработка и хранение информации

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

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

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

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

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

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


Рис. 2.1. Технологический процесс переработки информации в виде иерархической структуры по уровням

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

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

2-й уровень - операции, в результате выполнения которых будет создан конкретный объект в выбранной на 1-м уровне программной среде.

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

4-й уровень - элементарные операции по управлению элементарными действиями объектов.

ИТ, как и другие технологии, должны отвечать следующим требованиям:

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

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

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

Предположим, вам надо сложить 1000 последовательных данных измерений. Заводим специальный счетчик-сумматор и присваиваем ему значение 0. Для каждого из данных надо получить результат измерений и добавить его к счетчику, то есть вам надо сделать 2001 операцию при "ручном" счете. Другой вариант - написать шесть инструкций для машины:

  1. завести счетчик-сумматор и присвоить ему значение 0;
  2. завести индекс (номер) текущей операции и присвоить ему значение 0;
  3. получить новый результат измерений;
  4. добавить его к счетчику-сумматору;
  5. увеличить на 1 индекс текущей операции;
  6. если он меньше 1000, то перейти к шагу 3.

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

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

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

Составителями программ являются программисты. Большая часть работы программиста связана с написанием и отладкой исходного кода на одном из языков программирования.

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

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

В некоторых языках вместо машинного кода генерируется интерпретируемый двоичный код "виртуальной машины", также называемый байт-кодом (byte-code). Такой подход применяется в языке Forth, некоторых реализациях языков Lisp, Java, Perl, Python, а также в языках платформы Microsoft .NET.

Типичный процесс разработки программ состоит, в общем, из семи этапов:

  • постановка задачи;
  • формализация и специфицирование;
  • выбор или составление алгоритма;
  • программирование;
  • компиляция (трансляция);
  • отладка и тестирование;
  • запуск в эксплуатацию.

Эксплуатируемая программа имеет дело с данными различных типов, предназначенных для решения конкретных задач.