
Современная s-среда [1], ядром которой является Интернет, представляет собой сложный объект с динамично изменяющимися характеристиками, в построении которого участвуют тысячи людей, а в пользовании — миллионы.
Во времена, когда s‑среды не существовало, найти апробированные методы решения физических, инженерно-технических и других задач было весьма непросто. Кропотливое просматривание карточек в каталожных ящиках библиотек было, как правило, неизбежной составляющей поиска. Найдя что-то подходящее (среди карточек), надо было заказать соответствующую книгу, журнал или что-то ещё. Получив заказанное, найденный метод надо было изучить. После этого можно было попытаться решить с его помощью интересующую задачу, действуя в соответствии с алгоритмом, записанным на бумаге или удерживаемым в своей памяти. Наиболее доступным средством приближённых вычислений в те времена была логарифмическая линейка, а роли накопителей, в которых хранились записи, сделанные карандашом, ручкой (перьевой или шариковой) или с помощью пищущей машинки, играли блокноты, тетради и книги.
В проектировании, исследованиях и других видах деятельности, связанных с решением задач, производительность была в десятки раз ниже, чем теперь.
Среди массы попыток создать машину, помогающую решать задачи, одна оказалась существенно успешнее других. В основе успеха – идея построения решателя-автомата со сменяемыми программами, хранимыми в его памяти (в s-моделировании такие автоматы названы s-машинами [1]).
Шестьдесят лет назад трудно было представить современные масштабы массового применения технологий автоматизированного построения текстов, изображений, аудио- и видео композиций. Вряд ли можно было даже приблизительно оценить масштабы перемен, которые произойдут в массовом применении s‑машин и построенной на их основе s‑среды. Совершенствование s-машинных решателей задач открыло не существовавшие ранее возможности автоматизации процессов сохранения, накопления, поиска и применения знаний, помогающих решать задачи. Примером одного из наиболее продвинутых воплощений идеи повторного применения профессиональных знаний могут служить современные технологии автоматизированного проектирования в электронике, машиностроении и многих других областях.
Представление связей между понятиями в составе разрешимых задач — необходимое условие построения количественных моделей систем понятий [1]. По мере роста числа запрограммированных задач росло стремление к повторному применению апробированных программ. Естественно, что первыми в деле сохранения, накопления и применения знаний с помощью s-машин стали разработчики программных средств. Уже на начальных этапах развития программирования вместе с языками и трансляторами они стали создавать различные библиотеки программ. За вопросами «Как объединить подобные библиотеки?» и «Как добавлять в них апробированные программы?» последовал вопрос «Какой должна стать система знаний о программируемых задачах, чтобы служить основанием автоматизации программирования?».
Основания для автоматизации любой деятельности тем значительнее, чем лучше она изучена и чем удачнее формализована её технология. С первых шагов автоматизации программирования обозначились два направления, определяемые разными точками зрения на программу как объект разработки и программирование как процесс построения этого объекта. Первое было представлено теми, кто смотрит на программу, как на формальный объект, а программирование считает процессом доказательства его существования. Второе — теми, кто не считает программу формальным объектом и рассматривает её как сообщение, определяющее поведение автомата с заданными свойствами и существующее в символьном, кодовом и сигнальном воплощениях, связанных отношениями трансляции.
Вполне естественно, что продуктивные идеи автоматизации программирования родились в среде программистов. Учитывая, что к настоящему времени накоплено и продолжает быстро увеличиваться число задач, алгоритмы решения которых представлены программами на различных языках и апробированы в составе системных и прикладных комплексов, целесообразно создать систему их специфицированного описания, пользуясь которой можно было бы найти систематизированные сведения о постановках и алгоритмах, программах и тестовых примерах, чтобы использовать арсенал, накопленный при разработке программных средств и сервисов s-среды.
Системы программирования целесообразно связать с системами знаний о программируемых задачах (где задачи представлены как конструктивные объекты, содержащие описание постановки, методов, алгоритмов, библиотек программ и тестовых примеров), а системы знаний — между собой.
Связанные между собой системы могут использоваться при построении профессиональных и образовательных ресурсов (таких как система СИНФ, рассчитанная на изучающих s-моделирование). Структурированность, возможности расширения и коррекции таких систем станут эффективными помощниками в борьбе с пресловутой проблемой сложности.
Литература
1. ИЛЬИН А. В., ИЛЬИН В. Д. S-моделирование объектов информатизации. – М.: ИПИ РАН, 2010. – 412 с.
____________________________________
Это сообщение - на ленте новостей CNews 3 авг. 2011 (скриншот).
Редакция CNews не несет ответственности за его содержание.






Участники
Россия, Москва

