04. RA - Предистория : Prehistory


  1. Введение : Introduction


Ниже дается список с кратким описанием тех моих проектов, которые существенно повлияли на зарождение идей лежащих в основе RA.


Below is a list with a brief description of those of my projects that significantly influenced the origin of the ideas underlying RA:

1983 - Compiler for MP-K580.

1985 - Interpreter for ARPM.

1986 - Compiler for RAPIRA-4.

1989 - Compiler/Linker for graphical processor VRDP.

1991 - Macro Extension to Bit Depth rising for fixed point arithmetic.

1993 - Asynchronous dispatching scheme for Non Linear Video Editing System.

1995 - My most important project - “Konkurs/Fagot - ATGM Training System”.

1995 - My Original version of database replication systems.

2000 - My most unsuccessful project - “Automated translation system for couples: English/Romanian”

2010 - Interpreter for structural integrity description language.

1983

Язык описания систем булевых функций с транслятором для микропроцессора К580. Мне досталась ⅓ часть - синтаксический анализатор. Успел реализовать два варианта (IBM-DOS/PL/1):

  1. Построение дерева разбора на иерархии операторов IF … ELSE

  2. Построение таблиц состояний верных/ошибочных переходов для каждого символа/слова/конструкции.

Естественно вариант (2) мне сильно нравился перспективами построения Мета Транслятора без единого оператора IF. Но отладка таблиц состояний в контексте слабых выразительных средств PL/1 оказалось тем еще трешем.


Boolean function system description language with a translator for the K580 microprocessor. I got ⅓ part - the parser. Managed to implement two options (IBM-DOS/PL/1):

  1. Building a parse tree on a hierarchy of IF … ELSE statements

  2. Construction of tables of states of true/erroneous transitions for each symbol/word/constructions.

Naturally, I really liked option (2) because of the prospects of building a Meta Translator without a single IF statement. But debugging the state tables in the context of PL/1's weak expressives turned out to be a real mess.

1985

Язык описания раскладки и пайки микросхем для автомата АРПМ и генерации управляющей перфоленты (HP/PLOS/Assembler). Опять таблицы состояния, опять треш в условиях невероятно тупой архитектуры процессора, но в результате моментальная реакция на ошибочный ввод и контекстная подсказка.


The language for describing the layout and soldering of microcircuits for the ARPM machine and the generation of a control punched tape (HP/PLOS/Assembler). Again, status tables, again trash in an incredibly stupid processor architecture, but as a result, an instant reaction to an erroneous input and a contextual hint.

1986

Язык описания графических объектов - РАПИРА-4. Компилятор управляющей перфоленты или записи на магнитной ленте для графопостроителя DIGIGRAF. Традиционное дерево разбора на IF..ELSE из-за сложного синтаксиса, включающего описание и вызов библиотечных элементов, условные и операторы циклов, сложные алгебраические выражения. Обратная Польская запись для интерпретации алгебраических выражений, полная схема многоуровневого асинхронного обмена с устройствами. (DEC-DOS/Fortran, Macro Assembler)


The language for describing graphic objects - RAPIRA-4. Control punched tape or recording on magnetic tape compiler for the DIGIGRAF plotter. The traditional parse tree on IF..ELSE due to the complex syntax, including the description and call of library elements, conditional and loop operators, complex algebraic expressions. Reverse Polish notation for the interpretation of algebraic expressions, a complete scheme for multilevel asynchronous communication with devices. (DEC-DOS/Fortran, Macro Assembler)

1989

Язык для векторно-растрового графического процессора (аналог Texas Instruments/DEC-RSTS/MASM). Реализация транслятора на макросах, что помимо прочих плюшек, добавило многомодульность задаром. Первая в Молдове реализация пропорциональных шрифтов, построение множества Мальдеброта в формате 256 цветной картинки из палитры 16 млн, с динамической анимацией смены палитры. (Система субтитрирования для МД-ТВ)


Language for vector-raster graphics processor (similar to Texas Instruments/DEC-RSTS/MASM). The implementation of the translator on macroses, which, among other goodies, added multi modularity for free. The first implementation of proportional fonts in Moldova, the construction of the Maldebrot set in the format of 256 color images from a palette of 16 million, with dynamic animation of changing the palette. (Subtitling system for MD-TV)

1991

Язык динамически расширяемого битового разрешения переменных для арифметики с фиксированной точкой. (х86/MS-DOS/Quick-C, MASM) Видимо один из первых заглянул в глубины множества Мандельброта на уровне 8 х 16 = 128 битового представления переменных, но ничего нового там не увидевшего :)


Language of dynamically expanded bit resolution of variables for fixed-point arithmetic. (x86/MS-DOS/Quick-C, MASM) Apparently one of the first to look into the depths of the Mandelbrot set at the level of 8 x 16 = 128 bit representation of variables, but did not see anything new there :)

1993

Сложная схема асинхронного управления устройствами включая видеоадаптера и видеомагнитофона. Первая в Молдове система цифрового нелинейного видео монтажа для P&P Service. (x86/MS-DOS/Quick-C, MASM)


A complex scheme for asynchronous control of devices, including a video adapter and a video recorder. The first digital non-linear video editing system in Moldova for P&P Service. (x86/MS-DOS/Quick-C, MASM)

1995

Самый важный для меня проект - “Тренажер для оператора управления противотанковыми ракетами типа Конкурс/Фагот для Министерства Обороны Молдовы”. Проект настолько сложный и поучительный, что решил описать его подробнее см. документ “Note.1: History of Konkurs/Fagot training system”. Не обошлось без нового транслятора для языка описания учебных тем включающего интерактивное взаимодействие пользователя с видео/анимационными графическими схемами управления устройством. Первый в Молдове плеер видеоклипов реального качества с диска, т.е потенциально большой длительности. (x86/MS-DOS/Quick-C, MASM)


The most important project for me - “A simulator for the operator of control of anti-tank missiles of the Konkurs/Fagot type for the Ministry of Defense of Moldova”. The project is so complex and instructive that I decided to describe it in more detail in the document “Note.1: History of Konkurs/Fagot training system”. Not without a new translator for the language of description of educational topics, including interactive user interaction with video / animation graphic schemes for controlling the device. The first player in Moldova for video clips of real quality from a disc, that is, potentially long duration. (x86/MS-DOS/Quick-C, MASM)

1995

Система поддержки ведения распределенных баз данных. (Win-95/VBasic, MS.Access). Всего через год в Access-96 появилось собственное встроенное решение - поддержка репликаций, мне часто так не везло:). Мое решение оказалось гораздо эффективнее по критериям скорости, памяти, перспективности, но менее эффективно по критерию гибкости применения. В решении от MS используются традиционный подход добавления к каждой записи таблиц БД глобального ID (GUID), а в моем подходе, используется дополнительные таблицы описания рангов всех связей БД и процедура синхронизации различных реплик БД производится в обратном порядке рангов объектов БД. Т.о. в моем решение, необходимо до описывать БД и часто включать спец решения для всех “не строго реляционных отношений”, но хорошо что, число типов тупостей в схемах БД невелико:) Это решение стало важным этапом в зарождении идей легших в основу RA.


Support system for maintaining distributed databases. (Win-95/VBasic, MS.Access). Just a year later, Access-96 introduced its own built-in solution - replication support, I was often so unlucky :). But my solution turned out to be much more efficient in terms of speed, memory, prospects, but less efficient in terms of application flexibility. The solution from MS uses the traditional approach of adding a global ID (GUID) to each record of the database tables, and in my approach, additional tables describing the ranks of all database links are used and the synchronization procedure for various database replicas is performed in the reverse order of the ranks of the database objects. That. in my solution, it is necessary to describe the database before and often include special solutions for all “not strictly relational references”, but it’s good that the number of types of stupidity in database schemas is small :) This decision was an important step in the engendering of the ideas that formed the basis of RA.

2000

Система автоматического перевода для пары: Английский/Румынский. Остановлен на уровне 33% готовности. Тот случай, когда ошибки оказались полезными в развитии идей. Мало вразумительные попытки описания грамматик натуральных языков развились до идеи универсальной структуры описания как натуральных так формальных языков.


Automated translation system for couples: English/Romanian. Stopped at 33% readiness. The case when mistakes were useful in the development of ideas. Little intelligible attempts to describe the grammars of natural languages have developed to the idea of a universal structure for describing both natural and formal languages.

2010

Очередной интерпретатор для весьма перспективного языка описания структурной целостности основанного на идеях сигнатуринга - “Восстановление сложных файлов типа видео/MPEG путем описание целостности структуры многочисленных сигнатур типовых элементов (конкретные пакеты байт для различных типовых элементов видео форматов данных)”. Реально работающая утилита для форматов m2t и mxf/P2/Panasonic. “Структурный сигнатуринг” - претендует (в моем воображении) на описание систем безопасности, авто логирования и детектирования типовых поведений и реакций живых и формальных систем.


Another interpreter for a very promising structural integrity description language based on the ideas of signature - “Recovery of complex video/MPEG type files by describing the structure integrity of multiple generic element signatures (specific byte packets for different generic video data format elements)”. A really working utility for m2t and mxf/P2/Panasonic formats. “Structural Signature” - claims (in my imagination) to describe security systems, auto-logging and detection of typical behaviors and reactions of living and formal systems.


Комментариев нет:

Отправить комментарий