Читаем Журнал «Компьютерра» № 13 от 04 апреля 2006 года полностью

Следует отметить, что роли могут модифицироваться разработчиком каждого отдельного приложения. Если потребуется сертификация некой линии поведения, то здесь возможно использование уникального ключа (Unique ID, UID). Это позволяет создавать пользовательские «коллекции» ролей, которые потом можно применять и в чужих программных проектах. Дабы обеспечить возможность повторного использования соответствующих ролей в описании Субъекта, формируется специальный раздел, который служит основой для сборки секций ролей в приложении (где можно указывать UID ролей из библиотек). В нем должна находиться информация о том, какому значению состояния соответствует данная роль, а также сведения о задержках переключения алгоритмов.

Функции, реагирующие на события и принудительно изменяющие состояние Субъекта, относятся к категории сенсоров. Эта категория функций весьма условна и выделена только для того, чтобы можно было контролировать последовательность смены внутренних состояний объекта, например – при отладке приложения. Так как тип рассматриваемых приложений предназначен в первую очередь для работы в режиме реального времени, то рационально использовать наиболее надежный и предсказуемый способ организации выполнения программы – циклический.

Проснись – и пой!

Активность Субъекта определяется частотой «подключения» таймера к работе. Однако присутствие таймера во внутренней структуре Субъекта совсем не обязательно! Достаточно наличия метода (имеющего определенную структуру) обработки события от таймера. А «оживляться» этот метод может как по событию от внутреннего таймера, так и внешним вызовом.

Блок формирования состояния может понадобиться тогда, когда логика выбора состояния будет достаточно сложна (либо требуется наличие временных функций – задержек). И здесь самым подходящим языком описания алгоритма формирования состояния может служить язык из стандарта IEC 61131-3, применяемый в некоторых контроллерах. Например, для удобства описания интерфейсов СОМ-объектов был даже создан свой язык – Interface Definition Language. Однако этот момент является только предположением, поэтому говорить о нем пока рано. А вот без создания нового краткого «языка общения» между различными Субъектами, возможно, не обойтись.

Действительно, Субъектам достаточно обмениваться сообщениями о состояниях, а не сериями команд управления, как принято при управлении Объектами.

В любом случае, для формализации класса Субъекта все же понадобится разработка дополнительных спецификаций и стандартов, чтобы облегчить и систематизировать как сам процесс программирования, так и процесс использования подобных приложений в будущем.

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

в каждом Субъекте должен присутствовать как минимум один «счетчик жизни»;

в каждом Субъекте должны присутствовать роли запуска и завершения работы приложения;

в каждом Субъекте должна присутствовать «пустая роль» или «роль по умолчанию», которая выполняется в неопределенных состояниях либо в режиме ожидания;

алгоритм выполнения той или иной последовательности действий (роли) не должен быть вшит или «размазан» по программному коду, он должен иметь вид отдельной структурной секции программы;

вызов отдельных методов Субъекта извне допускается, но нежелателен;

в каждом Субъекте должен быть предусмотрен интерфейс обмена информацией с другими Субъектами системы;

все роли Субъекта должны быть подробно документированы в секции описания ролей.

По мере развития глобальных информационных систем и систем компьютерного моделирования реальной действительности субъектное программирование становится все более востребованным. Затраты на расширение функциональности таких систем растут в геометрической прогрессии, поэтому удешевление их разработки весьма актуально.

А для разработки систем, состоящих из множества приложений (от нескольких десятков до тысяч), технология субъектно-ориентированного программирования должна стать основополагающей, и кто знает, может быть, она заложит основу для следующего шага в программировании – создания сложных самоорганизующихся интеллектуальных систем!

Любопытно, что упоминаемая в статье switch-технология предложена российским ученым, представителем Гавриловской школы[ Школа по теории дискретных устройств была организована членом-корреспондентом АН СССР Михаилом Александровичем Гавриловым в конце 1960-х годов] А. А. Шалыто. Она основана на применении в программировании идей теории систем управления. Автор первоначально предложил ее для алгоритмизации и программирования систем логического управления, в которых ввод входных воздействий выполняется по опросу (как, например, в программируемых логических контроллерах и других подобных задачах).

Перейти на страницу:

Похожие книги

Стив Джобс. Уроки лидерства
Стив Джобс. Уроки лидерства

Эта книга – редкая возможность увидеть Стива Джобса таким, каким его видели лишь его самые близкие сотрудники, и разгадать загадку этого легендарного человека. Это возможность понять и освоить оригинальный стиль лидерства Джобса, благодаря которому Apple стала одной из величайших компаний и смогла выпускать продукты, изменившие нашу жизнь. Автор книги, Джей Эллиот, бывший старший вице-президент компании Apple, долгое время работал бок о бок со Стивом Джобсом и сформулировал главные уроки «iЛидерства», которые помогут совершить прорыв компании любого размера и из любой отрасли. Интуитивный и творческий подход Джобса, о котором рассказывается в этой книге, позволит вам преобразить свой бизнес и свою жизнь.Для широкого круга читателей – для всех, кто хочет воспользоваться уроками выдающегося бизнес-лидера.

Виктория Шилкина , Вильям Л Саймон , Вильям Л. Саймон , Джей Эллиот

Деловая литература / Биографии и Мемуары / Публицистика / Прочая компьютерная литература / Управление, подбор персонала / Документальное / Финансы и бизнес / Книги по IT
Компьютерные террористы
Компьютерные террористы

Современные воры и мошенники используют в своей противозаконной деятельности не только такие вульгарные приемы, как кража, грабеж, но и более тонкие методы с использованием новейших достижений науки и техники. Тут и подслушивание телефонных разговоров, и установка «жучков», в их числе и уникальные лазерные приборы и тому подобные новинки.Одним из новых видов преступлений, порожденных научно-техническим прогрессом, являются компьютерные, или «электронные» преступления.В данной книге приводятся факты, свидетельствующих о том, что угроза информационному ресурсу возрастает с каждым днем, повергая в панику ответственных лиц в банках, на предприятиях и в компаниях во всем мире. «Мы живем на весьма опасной бомбе» — таков, если суммировать, лейтмотив многих публикаций зарубежной прессы, посвященных набирающему силу электронному СПИДу.

Татьяна Ивановна Ревяко

Энциклопедии / Прочая компьютерная литература / Книги по IT / Словари и Энциклопедии