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