Table of Contents
Previous Chapter
APPENDIX A
FORMULATIONS OF ATOMIC OBJECTS
Terms used for modelling active, agent, and passive atomic objects are described below.
· ~ denotes a transition with 0 processing time between two places, it is a sequential construct with conservative property;
· rel repsentes the transition expresssion for a ~;
· socket denotes the output place of a block;
· port denotes the input place of a block.
An active atomic object is formulated as follows:
· LN_ is a set of input links;
· LN+ is a set of output links;
· DS is a set of data types,
· for dsi &OE; DS, dsi is termed as a data type.
· dsi is terms as data-value space of the data type;
· DSF the Petri nets representation of each data type;
· M is a set of methods, where M=<MC, ms>
· MC is a set of object control methods, MC={mci | i > 0, i &OE; N},
· ms is a self-manipulated method;
· PO is a set of output link places;
· PI is a set of input link places;
· pc is the control place, represented as a place;
· IP is the input function which defines the mapping between input links and input link places,
· <lni, pij> represents that lni is connected to input link place pij.
· OP is the output function which defines the mapping between output link places and output links <poi, lnj> represents that output link place poi is connected with link lnj.
· PI ~ MC is to execute the object control methods,
· <pii, mcj, pk, relr> represents that input place pii is connected to the place pk of control method mcj with transition expression relr;
· PI ~ ms is the inputs to the self-manipulated method,
· <pii, ms, pk, relm,n> represents that input place pii is connected to pk of the method ms with transition expression relm,n;
· mci ~ pc is to initialize control of the object and is represented as <mci, pj, pc, relm,n>, pj is the socket of mci.
· pc ~ ms is to execute the self-manipulated method and is represented as <pc, ms, relm,n>.
· ms ~ pc is the return of control token to its control place and is represented as <ms, pi, pc>.
· mci ~ dsi is to initialize data store and is represented as <mci, pj, dsi, pk, relm,n>, pj is the socket of the mci and pk is the port of dsi;
· msi ~ dsjk is to access data store and is represented as <ms, pi, dsj, pk, relm,n>, where pi is the socket of the method ms and pj is the port of dsj.
· dsik ~ msj is to access data store and is represented as < dsi, pk, ms, pj, relm,n>, where pi is the socket of the method msk and pj is the port of dsl.
· msi ~ poj is to pass tokens to other objects and is represented as <ms, pi, poj, relm,n>, where pi is the socket of the method.
· mci ~ pc Æ PO is to remove the control token out of the object and is represented as <mci, pj, pc, poj>.
In addition to the formulation of atomic object defined in the previous section, additional formulations are provided for an agent atomic object. These formulations are defined below.
· mb is a message buffer;
· mbf is the Petri net representation of the message buffer;
· md is a message dispatcher;
· mdf is the Petri net representation of the message dispatcher;
· M is a set of methods, where M=<MC, MS>
· MC is a set of object control methods, MC={mci | i > 0, i &OE; N},
· MS is a set of object state and object manipulation methods, MS={msj | j > 0, j &OE; N};
· pii ~ mcj is to execute the object control methods,
· <pii, mcj, pk, relm,n> represents that input place pii is connected to the place pk of control method mcj with transition expression relm,n;
· pii ~ msj is to connect input place pii to pk of the method msj with transition expression relm,n and is represented as
· <pii, msj, pk, relm,n>;
· MS ~ PO is to pass tokens to other objects and is represented as <msi, pj, pok, relm,n>, where pj is the socket of the method.
· mci ~ pc is to initialize control of the object and is represented as <mci, pj, pc, relm,n>, pj is the socket of mci.
· mci ~ dsi is to initialize data store and is represented as <mci, pj, dsi, pk, relm,n>, pj is the socket of the mci and pk is the port of dsi;
· pc ~ mb is to retrieve a method from the message buffer and is represented as <pc, mb, pi, relm,n>, where pi is the port of the message buffer.
· mb ~ md is to transfer a message from message buffer to the message dispatcher and is represented as <mb, pi, md, pj, relm,n>, where pi is the socket of the message buffer and pj is the port of the message dispatcher;
· md ~ msk is to execute method msk and is represented as <MD, pi, msk, pj, relm,n>, where pi is the socket of the message dispatcher and pj is port of method msk;
· dsi ~ msj is the return of data store information and is represented as <dsi, pk, msj, pl, relm,n>;
· msk ~ dsl is to access data store and is represented as <msk, pi, dsl, pj, relm,n>, where pi is the socket of the method msk and pj is the port of dsl;
· msk ~ poj is to pass tokens to other objects and is represented as <msk, pi, poj, relm,n>, where pi is the socket of the method;
· msi ~ ps is the return of control token to the control place and is represented by <msi, pj, pc>;
· mci ~ pc Æ poj is to remove the control token and is represented as <mci, pj, pc, poj>.
Formulation for passive object is similar to agent objects except that a passive object does not have connections between the Methods block and the Input Link Places block. The formulation is defined below.
· mb is a message buffer;
· mbf is the Petri net representation of the message buffer;
· md is a message dispatcher;
· mdf is the Petri net representation of the message dispatcher;
· M is a set of methods, where M=<MC, MS>
· MC is a set of object control methods, MC={mci | i > 0, i &OE; N},
· MS is a set of object state and object manipulation methods, MS={msj | j > 0, j &OE; N};
· pii ~ mcj is to execute the object control methods,
· <pii, mcj, pk, relm,n> represents that input place pii is connected to the place pk of control method mcj with transition expression relm,n;
· MS ~ PO is to pass tokens to other objects and is represented as <msi, pj, pok, relm,n>, where pj is the socket of the method.
· mci ~ pc is to initialize control of the object and is represented as <mci, pj, pc, relm,n>, pj is the socket of mci.
· mci ~ dsi is to initialize data store and is represented as <mci, pj, dsi, pk, relm,n>, pj is the socket of the mci and pk is the port of dsi;
· pc ~ mb is to retrieve a method from the message buffer and is represented as <pc, mb, pi, relm,n>, where pi is the port of the message buffer.
· mb ~ md is to transfer a message from message buffer to the message dispatcher and is represented as <mb, pi, md, pj, relm,n>, where pi is the socket of the message buffer and pj is the port of the message dispatcher;
· md ~ msk is to execute method msk and is represented as <MD, pi, msk, pj, relm,n>, where pi is the socket of the message dispatcher and pj is port of method msk;
· dsi ~ msj is the return of data store information and is represented as <dsi, pk, msj, pl, relm,n>;
· msk ~ dsl is to access data store and is represented as <msk, pi, dsl, pj, relm,n>, where pi is the socket of the method msk and pj is the port of dsl;
· msk ~ poj is to pass tokens to other objects and is represented as <msk, pi, poj, relm,n>, where pi is the socket of the method;
· msi ~ ps is the return of control token to the control place and is represented by <msi, pj, pc>;
· mci ~ pc Æ poj is to remove the control token and is represented as <mci, pj, pc, poj>.
Table of Contents
Next Chapter