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.

1.4. Dissertation Outline<br />

programming concepts. The third part of the chapter i<strong>de</strong>ntifies common<br />

problems in implementing concurrent programming concepts on top<br />

of today’s VMs. Based on survey results and i<strong>de</strong>ntified problems, this<br />

chapter conclu<strong>de</strong>s with requirements for comprehensive VM support<br />

for concurrent programming.<br />

Chapter 4: Experimentation Platform<br />

This chapter discusses the motivation and choices for the platforms used<br />

for experiments and evaluation. First, it introduces SOM (Simple Object<br />

Machine), a minimal Smalltalk dialect, which is used throughout this<br />

dissertation for co<strong>de</strong> examples and the discussion of the OMOP’s semantics.<br />

This section inclu<strong>de</strong>s an introduction to general Smalltalk syntax<br />

and its semantics. Second, it motivates the choice of Smalltalk as<br />

platform for this research. Finally, it discusses RoarVM as a choice for<br />

the VM implementation experiments and <strong>de</strong>tailed its implementation.<br />

Chapter 5: An Ownership-based MOP to Express Concurrency Abstractions<br />

This chapter introduce this dissertation’s main contribution, an ownership-based<br />

metaobject protocol (OMOP). The OMOP is a unifying<br />

substrate for the implementation of concurrent programming concepts.<br />

First, the chapter discusses the foundational notions of open implementations<br />

and metaobject protocols. Second, it presents the OMOP itself.<br />

Third, it discusses examples of how to apply the OMOP to enforce immutability<br />

and how to implement Clojure agents with it. Finally, the<br />

chapter <strong>de</strong>fines the OMOP’s semantics based on SOM’s byteco<strong>de</strong> interpreter<br />

and discusses the OMOP in the context of related work.<br />

Chapter 6: Evaluation – The OMOP as Unifying Substrate<br />

In or<strong>de</strong>r to evaluate the OMOP, this chapter discusses how it fulfills the<br />

i<strong>de</strong>ntified requirements. First, the chapter discusses the evaluation criteria.<br />

Second, it examines the case studies implementing Clojure agents,<br />

software transactional memory (STM), and AmbientTalk actors. Third,<br />

the chapter discusses concepts i<strong>de</strong>ntified in Chapter 3 and argues that<br />

the OMOP supports all of the concepts that require VM support for<br />

guaranteeing correct semantics. Fourth, the chapter shows that the using<br />

OMOP does not have a negative impact on the implementation size<br />

of agents, actors, and STM, by comparing their OMOP-based implementations<br />

against their ad hoc implementations. Finally, the limitations of<br />

the OMOP are discussed.<br />

7

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

Saved successfully!

Ooh no, something went wrong!