Instructions For A Research Proposal

The secret to write a great musicians' bio

As we have no right to use any predetermined information on objects, we will need to add means of dispatching with opportunity to check object accessory to a class and ability of a class to performance of a concrete spell.

Most likely it will be required to apply the technique described for the distributed systems to access to objects. Important difference is that for a spell of objects of a DB the DB server and its image have to support the message "spell". In specifically made realization such means of object-oriented DB as a dynamic spell for this purpose was applied. Operations of the DB server when receiving a spell: - to ottranslirovat arguments in a working format; - to make the list of arguments and to call the mechanism of a dynamic spell for its processing; - to return result as the list from values of basic types and identifiers of objects.

For use of rules in work of object it is necessary to realize simply the dispatcher delegating work to the processor of rules according to a spell. Together with access to a DB we receive that the base of rules is object with a state - data of a DB and methods the rules which are also stored in a DB. It is usually undesirable that rules directly addressed to a DB; respectively, the dispatcher has to give to base of rules the own identifier and the processor of rules will address to him with spells of access to data.

For creation of a spell clients use the Obj procedure. Invoke. For previous examples it looks approximately so: IMPORT Obj; VAR a: = NEW (Integer, value: =; b: = NEW (Integer, value: =; c: = Obj. Invoke (a, "add", b); Command language.

In this section it is told about a series of the experiments urged to train dispatching of systems. Two purposes of experiments were: - to show simple and almost useful way of association of various models; - to find the general ideas in all dispatchers.

This model is combined with ideology of DOS as follows: the client conjures the remote server (receiver). It is necessary to execute two things: - to expand the local concept dispatching for a call through a network - to construct the object representing an image of the server in client system.

In classical model the spell is interpreted as the message sent to object receiver. Thus actions of the dispatcher partially are defined by his parameters. Respectively, at emergence of the new message, the programmer is compelled to add the new handler to the receiver.

Came it is time to consider the lower level of system. Integers, strings, symbols, vectors - the basic types of data called by basic objects or primitives - are used by DOS for performance of the corresponding funktsionalnost. Primitives have no special status, they are processed according to their dispatchers as well as other objects. Modula-3 example - the dispatcher's code for whole: 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; RETURN MakeString (Fmt. Int (self. value)); ELSEIF Text. Equal (selector, "add") THEN ARGS. CheckNumberOfArguments (args; RETURN MakeInteger (GetInteger (self) + GetInteger (Args. Element (args)); END IF RAISE Obj. Exception (Exception. badFunction); END IntegerDispatch; Spells and dispatching.

From the point of view of the user, basic concept of DOS is the spell. The spell is any appeal to functionality of object. His body is the group of objects about. oN. Having accepted a spell, DOS calls the receiver of the first object of group, transferring it parameters the others. Ha the receiver is also assigned a problem of realization of semantics of spells.