05.08.2014 Views

here - Stefan-Marr.de

here - Stefan-Marr.de

here - Stefan-Marr.de

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

6. Evaluation: The OMOP as a Unifying Substrate<br />

6.6. Conclusion<br />

The goal of this chapter was to assess to what extent the OMOP satisfies its<br />

requirements to support the thesis statement, and to discuss how the research<br />

goal is reached.<br />

Case studies of Clojure agents, STM, and event-loop actors <strong>de</strong>monstrate<br />

how common implementation challenges are solved and how the OMOP<br />

fulfills its requirements. Sec. 6.2 <strong>de</strong>monstrates how Clojure agents, software<br />

transactional memory, and AmbientTalk’s actors can be implemented on top<br />

of the OMOP. Furthermore, it showes how the parts of their implementation<br />

map to the OMOP and how they relate to the stated requirements of Tab. 3.7.<br />

The case studies also <strong>de</strong>monstrate how common implementation challenges<br />

such as isolation, scheduling guarantees, immutability, and reflection can be<br />

approached with the OMOP.<br />

OMOP facilitates the implementation of all 18 concepts that require semantic<br />

enforcement from the VM. Sec. 6.3 shows that the OMOP facilitates the<br />

implementation of all 18 concepts. It provi<strong>de</strong>s full support for 9 concepts and<br />

solves implementation challenges for the remaining 9 concepts. It does so<br />

by providing flexible mechanisms to customize state access and method execution<br />

policies. T<strong>here</strong>fore, language implementers benefit substantially from<br />

this support provi<strong>de</strong>d by the OMOP.<br />

The OMOP can lead to more concise implementations with full guarantee<br />

enforcement. Sec. 6.4 <strong>de</strong>monstrates that the use of the OMOP does not<br />

have a negative impact on implementation size. On the contrary, it indicates<br />

that the OMOP can facilitate the implementation of concurrency concepts in<br />

such a way that their implementation size is reduced. In conclusion, the abstractions<br />

provi<strong>de</strong>d by the OMOP are appropriate for the implementation of<br />

Clojure agents, active objects, actors, CSP, and STM.<br />

The OMOP is applicable, supports relevant concepts, is novel, the support<br />

set of concepts is significant, and it is a unifying and minimal substrate.<br />

Sec. 6.5 discusses the remaining evaluation criteria. The case studies indicate<br />

the flexibility of the OMOP in solving common implementation challenges<br />

and show its applicability. To conclu<strong>de</strong>, the OMOP provi<strong>de</strong>s the flexibility to<br />

reach beyond today’s concurrent programming concepts, because guarantees<br />

178

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

Saved successfully!

Ooh no, something went wrong!