View Javadoc

1   /*
2    * @(#) DeviceInterface.java Feb 18, 2004
3    * 
4    * Copyright (c) 2003-2005 Delft University of Technology, Jaffalaan 5, 2628 BX
5    * Delft, the Netherlands. All rights reserved.
6    * 
7    * See for project information <a href="http://www.simulation.tudelft.nl/">
8    * www.simulation.tudelft.nl </a>.
9    * 
10   * The source code and binary code of this software is proprietary information
11   * of Delft University of Technology.
12   */
13  
14  package nl.tudelft.simulation.messaging.devices.components;
15  
16  import nl.tudelft.simulation.event.EventProducerInterface;
17  import nl.tudelft.simulation.event.EventType;
18  import nl.tudelft.simulation.messaging.devices.types.DeviceType;
19  
20  /***
21   * A DeviceInterface <br>
22   * Copyright (c) 2003-2005 Delft University of Technology, Jaffalaan 5, 2628 BX
23   * Delft, the Netherlands. All rights reserved.
24   * 
25   * See for project information <a href="http://www.simulation.tudelft.nl/">
26   * www.simulation.tudelft.nl </a>.
27   * 
28   * The source code and binary code of this software is proprietary information
29   * of Delft University of Technology.
30   * 
31   * @author <a href="http://www.tbm.tudelft.nl/webstaf/peterja/index.htm">Peter
32   *         Jacobs </a>, <a
33   *         href="mailto:s.p.a.vanhouten@tbm.tudelft.nl">Stijn-Pieter van Houten
34   *         </a>, <a
35   *         href="http://www.tbm.tudelft.nl/webstaf/alexandv/index.htm">Alexander
36   *         Verbraeck </a>
37   * @version $$Revision: 1.2 $$ $$Date: 2005/04/08 10:56:36 $$
38   */
39  public interface DeviceInterface extends EventProducerInterface
40  {
41  	/*** STATE_CHANGE_EVENT */
42  	EventType STATE_CHANGE_EVENT = new EventType("STATE_CHANGE_EVENT");
43  
44  	/***
45  	 * returns the name of the device
46  	 * 
47  	 * @return the name
48  	 */
49  	String getName();
50  
51  	/***
52  	 * returns the device type
53  	 * 
54  	 * @return Returns the deviceType.
55  	 */
56  	DeviceType getDeviceType();
57  
58  	/***
59  	 * returns the state of the device
60  	 * 
61  	 * @return the state
62  	 */
63  	DeviceState getState();
64  
65  	/***
66  	 * The transmission delay is defined on a log-10 scale, indicating the time
67  	 * it takes averagely in seconds to reach the other Actor.
68  	 * 
69  	 * @return the transmission delay of the device
70  	 * 
71  	 */
72  	int getTransmissionDelay();
73  
74  	/***
75  	 * The maximum transmission frequency indicates the average number of
76  	 * messages (say 1 page with data) that can be sent per second over the
77  	 * communication channel.
78  	 * 
79  	 * @return the maximum transmission frequency of the device
80  	 */
81  	double getTransmissionFrequency();
82  }