Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
research:software:som [2007/09/25 19:37] – gpothier | research: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, | ||
+ | * SOM makes it possible to separate the concurrency concern from the base application. | ||
+ | |||
+ | |||
+ | Furthermore, | ||
+ | |||
+ | **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, | ||
+ | |||
+ | ===== 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: | ||
+ | < | ||
+ | | ||
+ | </ | ||
+ | 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: | ||
+ | < | ||
+ | java reflex.Run --use som.jar -som buffer.som MyApp | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Publications ===== | ||
+ | |||
+ | < | ||
+ | < | ||
+ | <div id=" | ||
+ | </ | ||
+ | |||
+ | The complete distribution also includes the benchmarks used in the ECOOP paper, thereby giving a simple example of application. | ||