05.08.2014 Views

here - Stefan-Marr.de

here - Stefan-Marr.de

here - Stefan-Marr.de

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!