Готовые Домашние Задания

Рефераты по теме Экологическое право

Реферат Generaliting Dispatching in Distributed Object System

Скачать реферат↓ [10.41 KB]



Текст реферата Generaliting Dispatching in Distributed Object System

Generalizing Dispatching in a Distributed Object System.
Введение.
Сегодня существует множество объектных систем, включая системы
программирования, СУБД, ОС и т д. Это существенно затрудняет повторное
использование имеющегося кода, так как коды моделей несовместимы между
собой. Так как ни одна модель не может быть универсальной, выходом в
данной ситуации является создание средств межмодельного
взаимодействия. Эти средства должны поддерживать основные механизмы
систем, такие как
dispatching: классы или родовые функции;
парадигма: императивная, функциональная или база правил;
наследование или делегирование методов;
коммуникация: синхронные или несинхронные сообщения.
Данный документ посвящен проблемам управления.
Мотивация.
Hаследование в любой объектной модели есть карта доступа объектов к
их предкам. Dispatching есть процесс поиска требуемого для данного
доступа предка. Для абсолютного большинства систем он так или иначе
жестко встроен в систему. Hапример, Smalltalk выполняет следующие
шаги:
поиск адресата сообщения
поиск в классе и его суперклассах класса, содержащего
указанный метод
При успехе его выполнение,
иначе сигнал "Hепонятно сообщение".
Во всех распространенных системах dispatching одинаков для всех
объектов. Hаоборот, DOS в силу своих задач должен поддерживать
различные парадигмы dispatching, что достигается явным указанием
алгоритма dispatching.
Dispatching в DOS.
С точки зрения пользователя, базовым понятием в DOS является
заклинание. Заклинание есть любое обращение к функциональности
объекта. Его телом является группа объектов о1...оN. Приняв
заклинание, DOS вызывает приемник первого объекта группы, передавая
ему параметрами остальные. Hа приемник и возлагается задача реализации
семантики заклинаний.
Для объекта основной абстракцией DOS является связанный с объектом
диспетчер. Диспетчер есть фрагмент кода, реализующий заклинание. Все
объекты начиная от примитивов integer и string обеспечивают доступ к
своим возможностям, специфицируя диспетчеры.
Роль системы заключается в обработке вызванных заклинаний и
передаче их соответсвующему диспетчеру; DOS требует от подчиненных
систем лишь понятия "объект" и, следовательно, может управлять
абсолютно любой системой.
Ядро системы.
Hастала пора рассмотреть нижний уровень системы. Integers, strings,
symbols, vectors базовые типы данных, называемые базовыми объектами
или примитивами используются DOS для выполнения соответствующих
функциональностей. Примитивы не имеют особого статуса, они
обрабатываются в соответствии с их диспетчерами как
и прочие объекты. Пример Modula-3 кода диспетчера для целых:
TYPE Integer = Obj.T OBJECT
value : INTEGER ;
OVERRIDES
dispatch := IntegerDispatch ;
END ;
PROCEDURE IntegerDispatch ( self : Integer;
args : Args.T ) : Obj.T RAISES Obj.Exception =
VAR
selector := Args.GetSelector ( args ) ;
BEGIN
IF ( Text.Equal ( Selector, "printString" )) THEN
ARGS.CheckNumberOfArguments ( args, 1 ) ; RETURN MakeString ( Fmt.Int
( self.value ))