Сергей Симонов - Восхождение. Часть 2 [СИ]
- Название:Восхождение. Часть 2 [СИ]
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Сергей Симонов - Восхождение. Часть 2 [СИ] краткое содержание
Восхождение. Часть 2 [СИ] - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Опираясь на версию ALGOL-58, Андрей Петрович Ершов вместе с Геннадием Кожухиным и Дмитрием Янковым решили разработать свой язык, внеся в него то, что было бы удобно вычислителям, в частности, возможность оперировать с векторами, матрицами и многомерными объектами. (источник http://www.computer-museum.ru/books/n_mozaika/alfa.htm)
На тот момент уже был решён вопрос о переезде Ершова с коллективом разработчиков в Новосибирский филиал Академии Наук СССР. Поэтому разрабатываемое ими расширение языка ALGOL первоначально получило название «Сибирский». Работа началась в конце 1959 года, а к началу 1960-го язык был вчерне разработан. Летом 1960 г была проведена работа по унификации стилистики разрабатываемого языка с ALGOL-60. Получившееся расширение «АЛГОЛа» получило скромное наименование «Входной язык». В декабре 1960 г. Геннадий Исаакович Кожухин выступил на рабочей конференции по АЛГОЛу с предварительным сообщением о проекте программирующей программы.
Однако помимо расчётных и логических задач перед советской наукой была поставлена задача обеспечить промышленность управляющими ЭВМ. Целью автоматизации промышленности было создание гибких производственных ячеек, состоящих из нескольких станков с ЧПУ, выполняющих токарные, фрезерные, координатно-расточные операции. Прототипы таких ячеек уже существовали. Они представляли собой производственный мини-участок, где станки были установлены рядом, управлялись ЭВМ через управляющие контроллеры, и их обслуживал один рабочий, переставлявший заготовки и детали с одного станка на другой, а также контролирующий качество продукции.
Предпринимались попытки заменить человека манипулятором. Но ЭВМ «Сетунь», используемая в качестве управляющей, была однозадачной машиной. То есть, для управления несколькими станками и манипулятором ей приходилось то и дело подгружать в память то одну, то другую программу.
Управление манипулятором заметно отличалось от управления станком, всё же станок выполнял большую часть времени одну и ту же операцию, а манипулятор должен был переставлять детали с одного станка на другой, с другого на третий, брать заготовки с входного лотка и ставить на выходной. То есть, манипулятор выполнял заметно более сложную и разнообразную работу, чем любой станок.
Дистанционно управляемые манипуляторы уже использовались на АЭС и атомных производствах. Но там ими управляли люди, здесь же необходимо было переложить управление на ЭВМ. Программировать достаточно сложные движения манипулятора в машинных кодах было сущим мучением. Языки высокого уровня только начали появляться, и для задач управления подходили чуть более, чем никак.
Найти пути решения этой задачи взялись Сергей Алексеевич Лебедев и Алексей Андреевич Ляпунов. (АИ) Собравшись в начале 1959 года, они обсудили варианты и сошлись на том, что задачу управления манипулятором, а также, в будущем, управление различными робототехническими комплексами, надо решать при помощи электронной системы, способной если не самообучаться, то хотя бы легко объединять предварительно описанные элементарные действия в наборы более сложных действий, и обращаться к ним в виде простых, легко читаемых инструкций, максимально приближенных к обычному человеческому языку.
— Смотрите, Сергей Алексеич, вот, скажем, надо взять заготовку с лотка. Пусть даже лоток у нас наклонный и вибрирующий, и манипулятор берёт заготовку каждый раз с одного и того же места, — взялся объяснить свою идею Ляпунов. — То есть, манипулятору надо повернуться в определённое положение, опустить захват до нужной высоты, и схватить заготовку. Потом снова повернуться, вытянуть «руку» к станку, повернуть захват с заготовкой на заданный угол. То есть, нам нужен язык программирования, в котором, примерно как в АЛГОЛе, можно описать элементарные действия в виде подпрограмм, вызывая которые с параметрами значений углов поворота, можно составить основную управляющую программу. Желательно, чтобы она легко читалась человеком, то есть выглядела примерно так:
СНЯТЬ С ТОКАРНОГО СТАНКА ДЕТАЛЬ
ПОСТАВИТЬ ДЕТАЛЬ НА ФРЕЗЕРНЫЙ СТАНОК
ВЗЯТЬ ЗАГОТОВКУ
ПОСТАВИТЬ ЗАГОТОВКУ НА ТОКАРНЫЙ СТАНОК.
— И так далее. Понимаете? Чтобы такую программу понимал и мог составить каждый технолог, не имеющий понятия о всех этих чёртовых машинных кодах!
— Конечно, — согласился Лебедев. — Но на АЛГОЛе такую программу реализовать будет сложно.
— Тут нужен особый язык, которого ещё нет. Его ещё предстоит разработать.
Лебедев задумался, вспоминая. Что-то крутилось в памяти, он чувствовал, что решение есть, оно было прислано из 2012 года в составе полученного массива информации.
— Алексей Андреевич, а вот у вас толковый аспирант был, Ершов. Он перед аспирантурой у нас работал. Он сейчас где? — спросил академик.
— Ершов? Он сейчас заведует отделом автоматизации программирования в Вычислительном центре АН СССР.
— Дайте мне его телефончик, пожалуйста, — попросил Лебедев. — Я думаю, это тот человек, который нам нужен.
Сергей Алексеевич нашёл то, что искал. Александр Веденеев прислал вполне приличную подборку литературы по нескольким перспективным языкам, а также часть репозитория, содержащую не только бинарные пакеты, но и исходные коды. По ним в ИТМиВТ под руководством Лебедева уже переписали в машинных кодах ядро операционной системы (АИ, см. гл. 03–15). Сейчас перед учёными стояла похожая задача.
Андрей Петрович Ершов приехал к Лебедеву в ИТМиВТ через пару дней. Академик коротко пересказал ему свою недавнюю беседу с Ляпуновым.
— Вы ведь сейчас занимаетесь разработкой расширения АЛГОЛа? — спросил Лебедев.
— Не то что бы занимаемся… Пока это только предварительные намётки, — признался Ершов. — Идеи такие есть, но они, если честно, ещё не оформились во что-то конкретное.
— Сейчас правительство поставило перед нами задачу автоматизации производств, разработки программного обеспечения для робототехники. Есть одна зарубежная разработка, судя по всему, из числа закрытых, — сказал Лебедев. — Никакой открытой информации по ней нет, но чекисты постарались. Вот смотрите.
Он слегка повернул к Ершову стоящий у него на столе монитор терминала, и залогинился в БЭСМ-1М. Ершов с интересом смотрел на зелёные буквы и цифры, светящиеся на экране — ему обычно приходилось работать с машиной через телетайп, читая её ответы на бумажной ленте.
— Предположим, у нас есть язык, основные команды которого реализованы в виде коротких программ в машинных кодах, загружаемых, или даже непосредственно прошитых в постоянную память ЭВМ.
— Ого! То есть, программа не транслируется, а выполняется в режиме интерпретации, но со скоростью транслируемой программы? — тут же уточнил Ершов.
Читать дальшеИнтервал:
Закладка: