Развивалась лет 15, активно используется до сих пор в телефонных станциях.
Проблема: разделить в телефонной станции программное обеспечение и базу данных.
(БД для 27 станций больше ПО в 5 раз)
Можно ввести БД вручную. Но это приводит к куче ошибок, так как никакой избыточности нет, проверить введённые данные никак нельзя.
Когда система написана и просят сделать генерацию БД – это маразм:
- БД надо создать, данные ввести, проверить;
- надо уметь находить информацию в БД (делать быстрые запросы);
- надо уметь модифицировать данные;
- надо уметь делать резервные копии;
- надо уметь грамотно "убить" БД.
Всё это очень трудно делать в большой БД.
Надо создавать объекты, которые имеют данные и статику.
Суть RTST:
1. Придумали язык описания объектов (на основе Ады). Описывается: объект, точки подключения, перечень входящих и исходящих сигналов с параметрами, атрибуты объекта.
Подключение объектов друг к другу происходит на этапе генерации данных.
2.
Язык SDL
БД схем: описания объектов (точки подключения, атрибуты, …).
OO Editor: генерирует программы ввода (делает кучу проверок).
На этапе SDL-редактирования избегаются ошибки, связанные с использованием неописанных для данного объекта сигналов.
При передаче данных конвертеру происходят смешанные вычисления (подставляются известные данные).
DB3:
Журнализация в системах реального времени не приемлема (данные будут очень долго восстанавливаться). Вместо этого: вся работа делится на транзакции. В каждой транзакции изменения пишутся в цепной список изменений. Изменения проделываются по окончании транзакции (перемещаются указатели на новые данные, старые уходят в мусор). Транзакция считается успешной, если были внесены все изменения в БД.
Как грамотно разбить систему на объекты? Могут быть групповые связи, и тогда будет один большой объект – смена сердца проекта.
Что удобно для реализации, неудобно для объяснения. И как узнать, что это хорошо, как другим рассказать, что это хорошо? Ведь разбить картинку на объекты трудно. Решение: сделать графическое представление объектов. Но им никто не пользуется.
OMG – международное сообщество, 1995 год.
IDL – тоже придумали описание чёрных ящиков.
UML – представление в виде объектов.
REAL – поддерживает стандарт.
Форма освобождает. Когда выбрал форму, в ней сделать уже что-то легко. Наличие требований к языку облегчает написание языков.
Технология должна носить сквозной характер, от начала до конца.