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.5. Discussion<br />

Based on these observations, the OMOP and its support for concurrent<br />

programming concepts can be consi<strong>de</strong>red novel.<br />

Significance The support provi<strong>de</strong>d by the OMOP is significant, because it<br />

facilitates the implementation of all 18 concepts that require VM support to<br />

enforce their semantics. These 18 concepts are the full set of concepts i<strong>de</strong>ntified<br />

by the survey in Sec. 3.2, which is <strong>de</strong>signed to cover the whole field of<br />

concurrent and parallel programming concepts. 9 of these concepts are fully<br />

supported, while the OMOP address common implementation challenges for<br />

a key aspect of the other 9 concepts.<br />

This means that if a VM such as the JVM or the CLI were to add support<br />

for the OMOP, languages built on top of these VMs could use any of the<br />

97 i<strong>de</strong>ntified concurrent and parallel programming concepts (cf. Sec. 3.2.2)<br />

without compromises on the enforcement of semantics. In addition to the<br />

concepts that are already supported by JVM and CLI, and in addition to the<br />

concepts that can be implemented as libraries without drawbacks, the OMOP<br />

completes VM support for concurrent programming.<br />

T<strong>here</strong>fore, the set of concepts supported by the OMOP is significant.<br />

Unifying Substrate Finally, this section discusses the unifying properties<br />

of the OMOP. The goal is to argue that the OMOP makes an abstraction of<br />

concrete programming concepts and that the set of provi<strong>de</strong>d mechanisms is<br />

minimal.<br />

The claim that the OMOP makes an abstraction of concrete concepts is<br />

supported by the fact that the 18 supported concepts are not realized with a<br />

one-to-one relationship between the OMOP’s mechanisms and the concepts.<br />

Tab. 6.3 lists the supported concepts: active objects, actors, asynchronous invocation,<br />

Axum-domains, isolation, no-intercession, si<strong>de</strong>-effect free, transactions,<br />

and vats. The concepts supported by the OMOP are ownership, enforcement<br />

status, reading and writing of object fields and globals, method execution,<br />

thread resumption, and handling of primitives (cf. Sec. 5.2). T<strong>here</strong>fore,<br />

the OMOP’s concepts need to be combined to build the higher-level concepts.<br />

Furthermore, to build different concepts multiple parts of the OMOP have to<br />

be combined. The OMOP does not possess the notion of actors or isolation<br />

and t<strong>here</strong>fore, it makes an abstraction of these concepts.<br />

The OMOP provi<strong>de</strong>s a minimal set of elements to satisfy the requirements<br />

of Sec. 3.4. The proposed <strong>de</strong>sign in its form is minimal because none of the<br />

parts can be removed without reducing the number of concurrent program-<br />

173

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

Saved successfully!

Ooh no, something went wrong!