Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
research:software:som [2007/07/29 20:34] adminresearch:software:som [2007/10/22 14:47] (current) etanter
Line 1: Line 1:
 +====== SOM ======
 +=====  Introduction =====  
 +
 +
 +SOM (Sequential Object Monitors) is a model for concurrent programming based on a thread-less scheduler. SOM makes it easier to develop concurrent programs because:
 +  *SOM enforces a sequential view on multi-threaded program by ensuring individual methods are always run-to-completion, and
 +  * SOM makes it possible to separate the concurrency concern from the base application.
 +
 +
 +Furthermore, SOM is efficient and scalable: it is based on collaborative scheduling in order to minimize context switches.
 +
 +**Note: SOM is now implemented on top of [[POM]], a more generic concurrency abstraction.**
 +
 +=====  Credits =====
 +
 +This work is being developed in the INRIA-Conicyt ProXiMoS and OSCAR projects between the INRIA Sophia Antipolis (France) and the University of Chile (Chile).
 +
 +SOM has been designed by Denis Caromel, Luis Mateu and Éric Tanter.
 +
 +The SOM Plugin has been implemented, and is maintained, by  Éric Tanter and Luis Mateu.
 +
 +=====  Download =====
 +
 +SOM is now part of [[POM]] and can be obtained via the POM download.
 +
 +=====  Usage =====
 +
 +The SOM plugin handles the -som tag, which should indicate file(s) containing SOM declarations. For instance, the following:
 +<code>
 + schedule: Buffer with: BufferScheduler
 +</code>
 +declares that instances of Buffer will be scheduled with BufferScheduler objects. If this declaration is written if a file buffer.som then the following runs Reflex appropriately:
 +<code>
 +java reflex.Run --use som.jar -som buffer.som MyApp
 +</code>
 +
 +
 +=====  Publications =====
 +
 +<html>
 +<script>load_bibtex('som')</script>
 +<div id="bibtex">Loading bibtex info...</div>
 +</html>
 +
 +The complete distribution also includes the benchmarks used in the ECOOP paper, thereby giving a simple example of application.