Технология RTST

Развивалась лет 15, активно используется до сих пор в телефонных станциях.

Итак, создаваемую систему удалось разбить на объекты и зафиксировать организацию вычислительного процесса. На самом деле, удачное разбиение - весьма нетривиальный творческий процесс, что заставило нас уже после нескольких выполненных проектов приступить к развитию технологии “вверх” с упором на начальные этапы разработки.

Проблема: разделить в телефонной станции программное обеспечение и базу данных.

(БД для 27 станций больше ПО в 5 раз)

Можно ввести БД вручную. Но это приводит к куче ошибок, так как никакой избыточности нет, проверить введённые данные никак нельзя.

Когда система написана и просят сделать генерацию БД – это маразм:

- БД надо создать, данные ввести, проверить;

- надо уметь находить информацию в БД (делать быстрые запросы);

- надо уметь модифицировать данные;

- надо уметь делать резервные копии;

- надо уметь грамотно "убить" БД.

Всё это очень трудно делать в большой БД. Задание поведения объекта значительно сложнее, причем трудности носят скорее «человеческий», а не технический характер, то есть проблемы возникают не из-за недостаточной квалификации кого-либо из участников разработки, а из-за взаимного недопонимания. Слишком много людей вовлечено в решение этой задачи – алгоритмисты, специалисты по протоколам, программисты, инженеры-электронщики и другие Надо создавать объекты, которые имеют данные и статику.

Суть RTST:

1. Придумали язык описания объектов (на основе Ады). Описывается: объект, точки подключения, перечень входящих и исходящих сигналов с параметрами, атрибуты объекта.

Подключение объектов друг к другу происходит на этапе генерации данных.

2. Язык SDL - разработали конвертор из SDL-диаграмм в код высокого уровня, систему имитационного моделирования, различные отладчики, средства для снятия и анализа трасс, другие инструменты, которые обеспечили первые практические применения SDL-диаграмм. В RTST существует графический редактор для спецификации поведения объекта в таком виде, который, кроме того, осуществляет проверку синтаксической корректности спецификации и формирует ее внутреннее представление.

БД схем: описания объектов (точки подключения, атрибуты, …).

OO Editor: генерирует программы ввода (делает кучу проверок).

На этапе SDL-редактирования избегаются ошибки, связанные с использованием неописанных для данного объекта сигналов.

При передаче данных конвертеру происходят смешанные вычисления (подставляются известные данные).

DB3:

Журнализация в системах реального времени не приемлема (данные будут очень долго восстанавливаться). Вместо этого: вся работа делится на транзакции. В каждой транзакции изменения пишутся в цепной список изменений. Изменения проделываются по окончании транзакции (перемещаются указатели на новые данные, старые уходят в мусор). Транзакция считается успешной, если были внесены все изменения в БД.

Как грамотно разбить систему на объекты? Могут быть групповые связи, и тогда будет один большой объект – смена сердца проекта.

Что удобно для реализации, неудобно для объяснения. И как узнать, что это хорошо, как другим рассказать, что это хорошо? Ведь разбить картинку на объекты трудно. Решение: сделать графическое представление объектов. Но им никто не пользуется.

2) MSC-диаграммы (Message Sequence Chart) позволяют описывать сценарии поведения системы во времени. Время течет сверху вниз, вертикальные линии представляют объекты системы, а между ними рисуются стрелки, обозначающие сигналы. MSC диаграммы широко применяются для описания протоколов различными международными организациям (недостаточностью выразительных возможностей стандарта MSC, в связи с чем получающиеся диаграммы слишком громоздки)

OMG – международное сообщество, 1995 год.

IDL – тоже придумали описание чёрных ящиков.

UML – представление в виде объектов.

REAL – поддерживает стандарт.

Форма освобождает. Когда выбрал форму, в ней сделать уже что-то легко. Наличие требований к языку облегчает написание языков.

Технология должна носить сквозной характер, от начала до конца



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: