Статья
Версия для печати
Обсудить на форуме
ООП и схемы программ реального времени для систем управления техническими средствами (Введение)

Автор: Борис Кузнецов

Оглавление


Введение

Данная статья является некоторым итогом многолетней практической и теоретической работы автора по созданию математического и программного обеспечения (МПО) систем управления техническими средствами (СУТС) кораблей и транспортных судов, систем автоматизации проектирования (САПР) таких СУТС и систем автоматизации программирования (САП) вычислительных средств СУТС, а также создания специализированных систем управления базами данных (СУБД). Несмотря на то, что ряд положений статьи носит субъективный характер, автор надеется, что некоторые из них найдут своих сторонников среди программистов различной специализации, в том числе не использующих ООП и реальное время.

Модный ныне термин ООП (объектно-ориентированное программирование) не таит в себе ничего страшного, несмотря на пугающий сотнями страниц объем печатных изданий по данной тематике и руководств по использованию ООП в языках программирования (автор работал на С++). Как раз на примерах создания МПО систем управления техническими средствами, по мнению автора, наиболее просто освоить и закрепить навыки ООП, так как программные объекты оказываются привязаны к конкретным техническим объектам, то есть в упрощенном представлении образуется пара "управление" (программный объект) <-- -->  "исполнение" (технический объект). Например, техническому объекту - исполнительному механизму "НАСОС" соответствует программный объект класса "УПРАВЛЕНИЕ НАСОСОМ". (При этом пока сознательно игнорируем промежуточную - связующую часть в образе средств вычислительной техники: процессор, шину, периферийные устройства типа модулей дискретного и аналогового ввода-вывода, АЦП и ЦАП, модули магистральной связи, операторскую станцию и прочее).
Физическому объекту - электрическому параметру "напряжение в точке А" соответствует программный объект с тем же именем класса "измерение напряжения". Таких примеров можно привести неограниченное множество, ибо все технические средства, управляемые посредством современной автоматики с использованием вычислительной техники, уже трудно перечислить - они есть и в летательных аппаратах и в системах энергетики и в медицинских технических комплексах и в технологических линиях и в доменных печах и так далее.

Под системами реального времени (РВ) понимаются программно-аппаратные системы, работающие по принципу "кто не успел - тот опоздал" в том числе со смертельным исходом. Автору ближе СУТС различного назначения, в которых ошибка в программе может привести действительно к непоправимому для здоровья и жизни исходу или к крупному коммерческому краху (космическая и транспортная техника, технологические линии, энергетические и системы жизнеобеспечения) - то есть в программном обеспечении, где промахи в принципе не допустимы.

Далее описываются как общепринятые, так и может быть не воспринимаемые на первый взгляд и не совпадающие с массовыми веяниями в проектировании МПО подходы, но прочувствованные автором и легко затем вписывающиеся в принятые конкретной организацией технологии.

В первой части статьи рассматриваются некоторые формализмы в ООП СУТС, которые достаточно легко при желании перенести и на другие классы программ.

Во второй части особое внимание будет уделено схемам программ, обеспечивающих либо однозначный успех либо однозначный крах разработанной программы. При этом предпочтение отдается трудоемкости анализа (понимаемости) таких схем, сравниваются и преобразуются друг в друга различные формы представления схем, рассмотрен очевидный метод последовательного синтеза схемы программы.
В третьей части предлагаются проверенные типовые классы контроля и управления техническими средствами, универсальные, по мнению автора, для использования в СУТС различного назначения.
Версия для печати
Обсудить на форуме