Главная » Блоги Экспертов И ИТ-Компаний » Знания о программируемых задачах: подход к систематизации

Знания о программируемых задачах: подход к систематизации

Современная s-среда [1], ядром которой является Интернет, представляет собой сложный объект с динамично изменяющимися характеристиками, в построении которого участвуют тысячи людей, а в пользовании — миллионы. 

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

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

Среди массы попыток создать машину, помогающую решать задачи, одна оказалась существенно успешнее других. В основе успеха – идея построения решателя-автомата со сменяемыми программами, хранимыми в его памяти (в s-моделировании такие автоматы названы s-машинами [1]).

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

Представление связей между понятиями в составе разрешимых задач — необходимое условие построения количественных моделей систем понятий [1]. По мере роста числа запрограммированных задач росло стремление к повторному применению апробированных программ. Естественно, что первыми в деле сохранения, накопления и применения знаний с помощью s-машин стали разработчики программных средств. Уже на начальных этапах развития программирования вместе с языками и трансляторами они стали создавать различные библиотеки программ. За вопросами «Как объединить подобные библиотеки?» и «Как добавлять в них апробированные программы?» последовал вопрос «Какой должна стать система знаний о программируемых задачах, чтобы служить основанием автоматизации программирования?».

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

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

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

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

Литература

1. ИЛЬИН А. В., ИЛЬИН В. Д. S-моделирование объектов информатизации. – М.: ИПИ РАН, 2010. – 412 с.

____________________________________

Это сообщение - на ленте новостей CNews 3 авг. 2011 (скриншот).

S-экономика S-моделирование

Данный материал является частной записью члена сообщества Club.CNews.
Редакция CNews не несет ответственности за его содержание.
Комментарии
Другие публикации
RU, Москва
Ведущий научный сотрудник
Образование и наука



Забыл пароль?
Авторизоваться через
Зарегистрируйся сейчас!
Присоединяйся к нашему обществу для того чтобы познакомиться с новыми людьми, создать собственный блог, публиковать анонсы событий и объявления, а также участвовать в обсуждении публикаций CNews. Мы создали единое пространство для общения специалистов рынка информационных технологий и всех, кто интересуется современными технологиями. Регистрация =>