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.

6.6. Conclusion<br />

can be varied as <strong>de</strong>monstrated with the agents implementation. The relevance<br />

of the supported concepts is shown by examples of recent research or by its<br />

support for each of them in a programming language. The novelty of the<br />

OMOP is shown based on the VM survey, because the concepts the OMOP<br />

supports are not supported in VMs and none of the VMs provi<strong>de</strong> a mechanism<br />

that satisfies all requirements for the OMOP. Derived from the set of<br />

supported concepts, it can be conclu<strong>de</strong>d that the OMOP’s support is significant,<br />

because it facilitates the implementation of all concepts that require VM<br />

support for their semantics. Finally, the OMOP makes abstractions of concrete<br />

concepts and provi<strong>de</strong>s a minimal set of mechanisms to support them. Overall,<br />

the OMOP is a unifying substrate for the implementation of concurrent<br />

programming concepts on top of VMs.<br />

Wi<strong>de</strong> range of concepts supported <strong>de</strong>spite current limitations. Sec. 6.5.2<br />

i<strong>de</strong>ntifies a number of limitations of the current OMOP <strong>de</strong>sign, such as missing<br />

support for general <strong>de</strong>adlock freedom, missing support for interaction<br />

semantics, the tra<strong>de</strong>offs of the object-based and single ownership <strong>de</strong>sign, and<br />

limitations for enforcing scheduling guarantees. However, while t<strong>here</strong> are conceptual<br />

limitations, the OMOP provi<strong>de</strong>s workarounds for these limitations,<br />

and thus, reduces their practical impact.<br />

The OMOP can be used as a uniform substrate for the implementation of<br />

concurrent programming concepts. The conclusion of this chapter is that<br />

the OMOP enables the implementation of a wi<strong>de</strong> range of concurrent programming<br />

concepts in a concise manner. With the abstractions it provi<strong>de</strong>s, it<br />

allows language implementers to implement language guarantees in a more<br />

direct way than with comparable ad hoc approaches. Furthermore, the OMOP<br />

enables new opportunities for experimenting with language guarantees and<br />

concepts. The implementation of Clojure agents <strong>de</strong>monstrates the ease of<br />

strengthening the provi<strong>de</strong>d guarantees. Beyond that, the OMOP provi<strong>de</strong>s a<br />

platform for experiments and variation of concepts based on its small number<br />

of abstractions.<br />

179

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

Saved successfully!

Ooh no, something went wrong!