mirror of
https://github.com/EiffelSoftware/eiffel-org.git
synced 2025-12-08 15:52:26 +01:00
Author:halw
Date:2011-04-09T14:54:37.000000Z git-svn-id: https://svn.eiffel.com/eiffel-org/trunk@870 abb3cda0-5349-4a8f-a601-0c33ac3a8c38
This commit is contained in:
@@ -15,7 +15,7 @@ The scenario in the Faneuil Hall example involves a number of immigrants waiting
|
||||
|
||||
The primary actors here are the immigrants, the judge, and the spectators, model by classes <code>IMMIGRANT</code>, <code>JUDGE</code>, and <code>SPECTATOR</code>, respectively. Some of the common behavior of these classes is abstracted into a deferred parent class, <code>ACTOR</code>. In addition to the actor classes, there is a class <code>HALL</code> that represents Faneuil Hall itself, and a root class that sets everything up and starts the processing. There is only one judge, but there will be a maximum combined number of immigrants and spectators. The specific number of immigrants versus spectators varies at random from one execution to the next.
|
||||
|
||||
Although not really considered an actor here (at least not a descendant of class <code>ACTOR</code>) the class <code>HALL</code> plays a critical role in managing the concurrent actions of the immigrants, spectators, and the judge. <code>HALL</code> includes many status queries which, when used in preconditions in features of the other actors, constitute [[Concurrent Eiffel with SCOOP#Preconditions|uncontrolled precondition clauses]] which when false will cause the calling processor to wait until the condition becomes true. For example, consider the following status query from class <code>HALL</code>:
|
||||
Although not really considered an actor here (at least not a descendant of class <code>ACTOR</code>) the class <code>HALL</code> plays a critical role in synchronizing the concurrent actions of the immigrants, spectators, and the judge. <code>HALL</code> includes many status queries which, when used in preconditions in features of the other actors, constitute [[Concurrent Eiffel with SCOOP#Preconditions|uncontrolled precondition clauses]] which when false will cause the calling processor to wait until the condition becomes true. For example, consider the following status query from class <code>HALL</code>:
|
||||
|
||||
<code>
|
||||
immigrants_ready: BOOLEAN
|
||||
|
||||
Reference in New Issue
Block a user