SEARCH Subscribe to JOT's newsletter EVENTS Previous article ... Next article SECG: The SCOOP-to-Eiffel Code Generator Oleksandr Fuks Jonathan S. Ostroff , Department of Computer Science, York University, Canada Richard F. Paige , Department of Computer Science, University of York, York, U.K. REFEREED ARTICLE PDF Version Abstract The Simple Concurrent Object-Oriented Programming (SCOOP) mechanism introduces inter-object concurrency to the Eiffel language, via addition of one new keyword, separate. We describe a general tool that takes a Eiffel program that uses the separate keyword and translates it into an Eiffel multi-threaded program that uses the Eiffel THREAD class. The resulting code is thereafter compatible with EiffelStudio and any other Eiffel compiler that provides the THREAD class. 1 INTRODUCTION AND BACKGROUND Many mechanisms exist for introducing concurrency into object-oriented (OO) programming languages. These approaches support the use of multiple, perhaps distributed processors, each of which may be executing multiple processes. Different techniques are provided with the languages to support synchronisation, interruption, mutually exclusive access to object state, and atomic execution of routines. PROCESS that could be used to introduce new threads of execution. Jalloul [7] extends Eiffel by providing new language features for implementing critical regions and conditional critical regions; these new features are in turn implemented in a kernel sitting atop PVM. Variants of Smalltalk have been proposed [12, 9] for multi-threading. Similarly, C++ extensions such as Parallel-C++ [8] exist for parallel, distributed, and concurrent execution. | |
|