1 |
package appl.parallel; |
2 |
|
3 |
import java.rmi.RemoteException; |
4 |
|
5 |
import edu.bonn.xulu.XuluModellingPlatform; |
6 |
import edu.bonn.xulu.gui.ModelControlFrame; |
7 |
|
8 |
/** |
9 |
* This is the base class for remote computing resources, which could be |
10 |
* displayed e.g. in the {@link ModelControlFrame} of the |
11 |
* {@link XuluModellingPlatform}. It provides very basic functionality like |
12 |
* connecting, disconnecting or pinging. Also it provides a flag saying if the |
13 |
* resource is available for computation (or e.g. in use). |
14 |
* |
15 |
* @author Dominik Appl |
16 |
*/ |
17 |
public interface ComputingResource extends java.rmi.Remote { |
18 |
|
19 |
/** |
20 |
* Should return Information about the ComputingResource. This Information |
21 |
* is primary used to display infos to the user. |
22 |
*/ |
23 |
public ComputingResourceProperties getResourceInformation() |
24 |
throws RemoteException; |
25 |
|
26 |
/** |
27 |
* Can be used to ping the object |
28 |
* |
29 |
* @param o |
30 |
* the object to ping with |
31 |
* @return the same object |
32 |
* @throws RemoteException |
33 |
*/ |
34 |
public Object ping(Object... o) throws RemoteException; |
35 |
|
36 |
/** |
37 |
* tries to connect to the resource |
38 |
* |
39 |
* @return true for success |
40 |
* @throws RemoteException |
41 |
*/ |
42 |
public boolean connect() throws RemoteException; |
43 |
|
44 |
/** |
45 |
* disconnects from the resource |
46 |
* |
47 |
* @throws RemoteException |
48 |
*/ |
49 |
public void disconnect() throws RemoteException; |
50 |
|
51 |
/** |
52 |
* @return true, if the resource is available for computation (may return |
53 |
* false, if the resource is used by another client) |
54 |
* @throws RemoteException |
55 |
*/ |
56 |
public boolean isAvailable() throws RemoteException; |
57 |
} |