here - Stefan-Marr.de
here - Stefan-Marr.de
here - Stefan-Marr.de
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
5.6. Related Work<br />
In ABCL/R2, meta-groups coordinate for the management of system resources,<br />
including scheduling. To overcome limitations of the metaobject and<br />
the meta-group approaches, both are combined in ABCL/R2. Similarly to<br />
the OMOP, ABCL/R2 also restricts each object to be member of one specific<br />
group, and thus has a strong similarity with the notion of domains. However,<br />
since the purpose of these metaobject protocols is different, they do not<br />
offer the same intercession handlers the OMOP provi<strong>de</strong>s. Hence, neither of<br />
the discussed group-based approaches fulfills the requirements i<strong>de</strong>ntified in<br />
Sec. 3.4.<br />
Terminology While the notion of meta-groups is very close to the notion<br />
of domains, this dissertation differentiates between both terms to make it<br />
more explicit that objects have a single owner, i. e., a domain. For groups,<br />
this is not necessarily the case. Other differences in the MOPs stem from the<br />
differences in the inten<strong>de</strong>d use case. The MOPs could be exten<strong>de</strong>d to inclu<strong>de</strong><br />
the intercession points provi<strong>de</strong>d by the OMOP, however the OMOP <strong>de</strong>sign<br />
minimizes the MOP to provi<strong>de</strong> the necessary intercession points only.<br />
Distinguishing Properties of the OMOP The main distinguishing characteristics<br />
of the OMOP are the combination of the specific set of intercession<br />
handlers, the notion of ownership, and the integration with the notion of concurrent<br />
execution, i. e., the inclusion of threads as a relevant concern for the<br />
metaobject protocol. This combination is to our knowledge novel and based<br />
on the previously i<strong>de</strong>ntified requirements (cf. Sec. 3.4).<br />
For example, it would be possible to achieve similar results by using the<br />
meta-group-based MOPs of ABCL/R2 or Mitchell et al. [1997] and combine<br />
them with the proposed intercession handlers for state access, execution, and<br />
primitives. Since Mitchell et al. [1997] also inclu<strong>de</strong> the notion of threads in<br />
the MOP, all key elements of the OMOP are present and it could satisfy the<br />
requirements. However, on their own, without the proposed intercession handlers,<br />
neither of the two MOPs would cover all the required aspects for a<br />
multi-language environment, since for instance ABCL/R2 focuses on message<br />
sends between objects.<br />
Unrelated Work: Ownership Types Clarke et al. [1998] proposed the notion<br />
of ownership types to tackle the problem of encapsulation in object-oriented<br />
programming languages by enabling a <strong>de</strong>veloper to <strong>de</strong>scribe rules on how<br />
and when pointers to objects can escape or be changed from an object that<br />
133