This object is linked to:
Use Case Diagram
(8)(IN)
This object is linked to:
Device Interface Layer Static Structure
(246)(IN)
This object is linked to:
Device Interface Layer Decomposition
(315)(IN)
This object is linked to:
Irrigation Layer Static Structure
(247)(IN)
This object is linked to:
Irrigation Layer Decomposition
(593)(IN)
This object is linked to:
Simulation Layer Static Structure
(83)(IN)
This object is linked to:
Simulation Layer Decomposition
(75)(IN)
This object is linked to:
Startup Layer Static Structure
(2)(IN)
This object is linked to:
Startup Layer Decomposition
(25)(IN)
This object is linked to:
User Interface Layer Static Structure
(412)(IN)
This object is linked to:
User Interface Layer Decomposition
(790)(IN)
This object is linked to:
Use Case 7: Irrigate
(59)(IN)
This object is linked to:
Use Case 4: Make Repairs
(35)(IN)
This object is linked to:
Use Case 3: Manually Control Irrigation
(27)(IN)
This object is linked to:
Use Case 5: Report Failures
(43)(IN)
This object is linked to:
Use Case 2: Set Irrigation Parameters
(18)(IN)
This object is linked to:
Use Case 8: Simulate AquaLush
(67)(IN)
This object is linked to:
Use Case 6: Start Up
(51)(IN)
This object is linked to:
Use Case 1: Toggle Irrigation
(10)(IN)
This object is linked to:
Maintainer—A user performing maintenance
(6)(IN)
This object is linked to:
Operator—A user operating AquaLush on a
(5)(IN)
This object is linked to:
Sensor—A moisture sensor device.
(3)(IN)
This object is linked to:
Simulation User—A person using the Web-b
(7)(IN)
This object is linked to:
Valve—An irrigation valve device.
(4)(IN)
This object is linked to:
Irrigation Layer Behavior
(409)(IN)
Packaging
(484)(IN)
Irrigation Layer Design Rationale
(408)(IN)
Irrigation Layer Static Structure
(247)(IN)
Irrigation Layer Design Rationale
(789)(IN)
Usage Guide
(788)(IN)
Control both manual and automatic irriga
(17)(IN)
Services Required
(812)(IN)
The objects in the Irrigation layer, plu
(868)(IN)
Irrigation Layer Decomposition
(593)(IN)
Architectural Design Rationale
(875)(IN)
Irrigation
(838)(IN)
Runtime Components
(815)(IN)
This object has external links to:
irrigation/(EXT OUT)
test/irrigation/(EXT OUT)
This object is linked to:
Control an automatic irrigation cycle.
(261)(IN)
Create an automatic irrigation cycle (Au
(276)(IN)
This object has external links to:
AutoCycle.java(EXT OUT)
AutoCycleTest.java(EXT OUT)
This object is linked to:
Keep track of all devices to make it eas
(255)(IN)
This object is linked to:
Irrigator
(239)(IN)
Record containing ValveReport and Sensor
(619)(IN)
This object has external links to:
FailureReport.java(EXT OUT)
FailureReportTest.java(EXT OUT)
This object is linked to:
Abstract super-class for all irrigation
(258)(IN)
This object has external links to:
IrrigationCycle.java(EXT OUT)
IrrigationCycleTest.java(EXT OUT)
This object is linked to:
A cycle is ended (IrrigationCycle)
(320)(IN)
This object is linked to:
See if a cycle is ended
(309)(IN)
This object is linked to:
One minute passes (IrrigationCycle, Zone
(298)(IN)
This object is linked to:
Irrigator
(239)(IN)
Record providing data about the state of
(616)(IN)
This object is linked to:
SensorReport
(326)(OUT)
ZoneReport
(410)(OUT)
ValveReport
(374)(OUT)
IrrigationReport
(197)(OUT)
Mode
(90)(OUT)
FailureReport
(108)(OUT)
Detailed Design Rationale
(489)(IN)
Hold irrigation parameters, oversee irri
(601)(IN)
Irrigator.create()—Create irrigation con
(68)(IN)
Irrigator
(834)(IN)
Create irrigation objects
(622)(IN)
Irrigator
(828)(IN)
This object has external links to:
Irrigator.java(EXT OUT)
IrrigatorTest.java(EXT OUT)
This object is linked to:
Add a sensor
(655)(IN)
Irrigator.addX()—Configure the Irrigator
(69)(IN)
This object is linked to:
Add a valve
(666)(IN)
Irrigator.addX()—Configure the Irrigator
(69)(IN)
This object is linked to:
Add a zone
(644)(IN)
Irrigator.addX()—Configure the Irrigator
(69)(IN)
This object is linked to:
Manually open or close a valve (Irrigato
(353)(IN)
Manually open or close a valve
(710)(IN)
This object is linked to:
Start and end manual irrigation cycles
(699)(IN)
This object is linked to:
Set or get a zone’s critical moisture le
(688)(IN)
This object is linked to:
Get a failed hardware report (Irrigator)
(386)(IN)
Get a failed hardware report
(765)(IN)
This object is linked to:
Obtain irrigation cycle data
(721)(IN)
This object is linked to:
Get sensor data (Irrigator)
(364)(IN)
Get sensor data
(743)(IN)
This object is linked to:
Get sensor data (Irrigator)
(364)(IN)
Get sensor data
(743)(IN)
This object is linked to:
Get valve data (Irrigator)
(375)(IN)
Get valve data
(754)(IN)
This object is linked to:
Get valve data (Irrigator)
(375)(IN)
Get valve data
(754)(IN)
This object is linked to:
Get zone data
(732)(IN)
This object is linked to:
Get zone data
(732)(IN)
This object is linked to:
Manually open or close a valve (Irrigato
(353)(IN)
Manually open or close a valve
(710)(IN)
This object is linked to:
Mark a device as repaired (Irrigator)
(397)(IN)
Mark a device as repaired
(776)(IN)
This object is linked to:
Irrigator.restoreState()—Restore the sta
(70)(IN)
Restore program state
(677)(IN)
This object is linked to:
Set or get a zone’s critical moisture le
(688)(IN)
This object is linked to:
Start and end manual irrigation cycles
(699)(IN)
This object is linked to:
Create a manual irrigation cycle (Manual
(287)(IN)
Control a manual irrigation cycle.
(264)(IN)
This object has external links to:
ManualCycle.java(EXT OUT)
ManualCycleTest.java(EXT OUT)
This object is linked to:
Hold sensor data and read a SensorDevice
(270)(IN)
This object has external links to:
Sensor.java(EXT OUT)
SensorTest.java(EXT OUT)
This object is linked to:
Irrigator
(239)(IN)
Record providing data about the state of
(613)(IN)
This object has external links to:
SensorReport.java(EXT OUT)
SensorReportTest.java(EXT OUT)
This object is linked to:
Hold valve data, keep track of how much
(273)(IN)
This object has external links to:
Valve.java(EXT OUT)
ValveTest.java(EXT OUT)
This object is linked to:
One minute passes (IrrigationCycle, Zone
(298)(IN)
This object is linked to:
Irrigator
(239)(IN)
Record providing data about the state of
(610)(IN)
This object has external links to:
ValveReport.java(EXT OUT)
ValveReportTest.java(EXT OUT)
This object is linked to:
Hold zone data and manage automatic irri
(267)(IN)
This object has external links to:
Zone.java(EXT OUT)
ZoneTest.java(EXT OUT)
This object is linked to:
Open or close all valves in a zone
(342)(IN)
This object is linked to:
Check for auto irrigation completion (Zo
(331)(IN)
This object is linked to:
Open or close all valves in a zone
(342)(IN)
This object is linked to:
One minute passes (IrrigationCycle, Zone
(298)(IN)
This object is linked to:
Irrigator
(239)(IN)
Record providing data about irrigation z
(607)(IN)
This object has external links to:
ZoneReport.java(EXT OUT)
ZoneReportTest.java(EXT OUT)
This object is linked to:
Irrigator
(239)(IN)
Enumeration values for program modes.
(604)(IN)
This object has external links to:
Mode.java(EXT OUT)
ModeTest.java(EXT OUT)
This object is linked to:
Simulation Layer Behavior
(243)(IN)
Implementation Notes
(242)(IN)
Simulated Device (simulation)
(494)(IN)
Packaging
(484)(IN)
Simulation Layer Static Structure
(83)(IN)
Implement components simulating hardware
(23)(IN)
Simulation Layer Decomposition
(75)(IN)
Architectural Design Rationale
(875)(IN)
Usage Guide
(313)(IN)
Simulation Layer Design Rationale
(314)(IN)
This object has external links to:
simulation/(EXT OUT)
test/simulation/(EXT OUT)
This object is linked to:
A Swing panel containing all the widgets
(95)(IN)
The right-hand side of the user interfac
(400)(IN)
This object has external links to:
SimControlPanel.java(EXT OUT)
SimControlPanelTest.java(EXT OUT)
This object is linked to:
Provide the simulated display (SimContro
(153)(IN)
This object is linked to:
Register a Keypad listener (SimControlPa
(164)(IN)
This object is linked to:
Register a ScreenButton listener (SimCon
(186)(IN)
This object is linked to:
SimDisplay
(502)(IN)
Both the SimDisplayDevice and the SimScr
(487)(IN)
SimDisplay
(498)(IN)
DeviceInterface.DisplayDevice, DeviceInt
(862)(IN)
Runtime Components
(815)(IN)
SimTime
SimDisplay
SimValve
SimSensor
Si
(848)(IN)
Simulate a 16-line-by-40-character monoc
(89)(IN)
The simulation must provide a realistic
(95)(IN)
This object has external links to:
SimDisplay.java(EXT OUT)
SimDisplayTest.java(EXT OUT)
This object is linked to:
Register a ScreenButton listener (SimDis
(197)(IN)
This object is linked to:
Write to the simulated display
(212)(IN)
This object is linked to:
A Swing panel containing all the display
(92)(IN)
Detailed Design Rationale
(489)(IN)
Each simulated irrigation zone must simu
(98)(IN)
Each simulated irrigation zone must simu
(97)(IN)
The simulation must provide a representa
(96)(IN)
This object has external links to:
SimEnvironment.java(EXT OUT)
SimEnvironmentTest.java(EXT OUT)
This object is linked to:
Provide a simulated sensor (SimEnvironme
(142)(IN)
This object is linked to:
Provide simulated persistent store (SimE
(120)(IN)
This object is linked to:
Provide a simulated valve (SimEnvironmen
(131)(IN)
This object is linked to:
A Swing panel displaying and controlling
(104)(IN)
The evaporation controls must behave as
(406)(IN)
The simulation must provide controls to
(103)(IN)
This object has external links to:
SimEvapControl.java(EXT OUT)
SimEvapControlTest.java(EXT OUT)
This object is linked to:
A Swing panel displaying and controlling
(110)(IN)
The failed devices controls must behave
(403)(IN)
The simulation must provide controls to
(105)(IN)
This object has external links to:
SimFailureControl.java(EXT OUT)
SimFailureControlTest.java(EXT OUT)
This object is linked to:
A Swing panel simulating a keypad with 1
(98)(IN)
SimKeypad
(506)(IN)
DeviceInterface.DisplayDevice, DeviceInt
(862)(IN)
Runtime Components
(815)(IN)
The simulation must provide a realistic
(95)(IN)
The left-hand side of the user interface
(401)(IN)
This object has external links to:
SimKeypad.java(EXT OUT)
SimKeypadTest.java(EXT OUT)
This object is linked to:
Register a Keypad listener (SimKeypad)
(175)(IN)
This object is linked to:
SimSensor
(518)(IN)
Simulation.SimValve, Simulation.SimSenso
(874)(IN)
Simulate a moisture sensor.
(92)(IN)
Runtime Components
(815)(IN)
SimTime
SimDisplay
SimValve
SimSensor
Si
(848)(IN)
The simulation must simulate valve and s
(104)(IN)
The simulation must simulate water evapo
(102)(IN)
This object has external links to:
SimSensor.java(EXT OUT)
SimSensorTest.java(EXT OUT)
This object is linked to:
Read a simulated sensor
(223)(IN)
This object is linked to:
Set a sensor’s moisture level (SimSensor
(208)(IN)
This object is linked to:
A collection keeping track of the simula
(113)(IN)
The simulation must simulate valve and s
(104)(IN)
The simulation must simulate water evapo
(102)(IN)
This object has external links to:
SimSite.java(EXT OUT)
SimSiteTest.java(EXT OUT)
This object is linked to:
A Swing panel displaying the irrigation
(107)(IN)
The left-hand side of the user interface
(401)(IN)
The irrigation site display must behave
(404)(IN)
Each simulated irrigation zone must simu
(98)(IN)
Each simulated irrigation zone must simu
(97)(IN)
The simulation must provide a representa
(96)(IN)
This object has external links to:
SimSiteView.java(EXT OUT)
SimSiteViewTest.java(EXT OUT)
This object is linked to:
SimStore
(510)(IN)
The objects in the Irrigation layer, plu
(868)(IN)
Runtime Components
(815)(IN)
SimTime
SimDisplay
SimValve
SimSensor
Si
(848)(IN)
Simulate a persistent store. A real file
(86)(IN)
This object is linked to:
Fetch a value from simulated persistent
(190)(IN)
This object is linked to:
Remove data from simulated persistent st
(201)(IN)
This object is linked to:
Record a value in simulated persistent s
(179)(IN)
This object is linked to:
The SimClockDevice relies on SimTime, wh
(488)(IN)
SimTime
(514)(IN)
The objects in the Irrigation layer, plu
(868)(IN)
Runtime Components
(815)(IN)
SimTime
SimDisplay
SimValve
SimSensor
Si
(848)(IN)
Simulate the passage of time. Notify oth
(98)(IN)
This object has external links to:
SimTime.java(EXT OUT)
SimTimeTest.java(EXT OUT)
This object is linked to:
Get the simulated time
(267)(IN)
This object is linked to:
Get the simulated time
(267)(IN)
This object is linked to:
Get the simulated time
(267)(IN)
This object is linked to:
Get the simulated time
(267)(IN)
This object is linked to:
Set the simulated time
(278)(IN)
This object is linked to:
Set the simulated time
(278)(IN)
This object is linked to:
Set the simulated time
(278)(IN)
This object is linked to:
Set the simulated time
(278)(IN)
This object is linked to:
Start and stop the simulated time
(289)(IN)
This object is linked to:
Start and stop the simulated time
(289)(IN)
This object is linked to:
Detailed Design Rationale
(489)(IN)
A Swing panel displaying and controlling
(101)(IN)
The left-hand side of the user interface
(401)(IN)
The simulation must display the simulate
(100)(IN)
The simulation must provide controls to
(101)(IN)
The simulated time controls must behave
(405)(IN)
This object has external links to:
SimTimeControl.java(EXT OUT)
SimTimeControlTest.java(EXT OUT)
This object is linked to:
SimValve
(522)(IN)
Simulation.SimValve, Simulation.SimSenso
(874)(IN)
Runtime Components
(815)(IN)
SimTime
SimDisplay
SimValve
SimSensor
Si
(848)(IN)
Simulate an irrigation valve.
(95)(IN)
The simulation must simulate valve and s
(104)(IN)
This object has external links to:
SimValve.java(EXT OUT)
SimValveTest.java(EXT OUT)
This object is linked to:
Close a simulated valve
(245)(IN)
This object is linked to:
Open a simulated valve
(234)(IN)
This object is linked to:
A collection holding a SimSensor and the
(116)(IN)
The simulation must simulate valve and s
(104)(IN)
The simulation must simulate water evapo
(102)(IN)
This object has external links to:
SimZone.java(EXT OUT)
SimZoneTest.java(EXT OUT)
This object is linked to:
Detailed Design Rationale
(489)(IN)
Simulation.create()—Create the AquaLush
(65)(IN)
Simulation
(830)(IN)
Simulate hardware devices and the real w
(83)(IN)
Create the simulation object
(100)(IN)
The Web-based AquaLush simulation must r
(94)(IN)
The simulation must provide a representa
(96)(IN)
The simulation must provide means for co
(99)(IN)
The simulation user interface must appea
(399)(IN)
This object has external links to:
Simulation.java(EXT OUT)
SimulationTest.java(EXT OUT)
This object is linked to:
Provide the simulated display
(146)(IN)
This object is linked to:
Provide a simulated sensor
(135)(IN)
This object is linked to:
Provide simulated persistent store
(113)(IN)
This object is linked to:
Provide a simulated valve
(124)(IN)
This object is linked to:
Register a keypad listener
(157)(IN)
This object is linked to:
Register a screen button listener
(168)(IN)
This object is linked to:
Packaging
(484)(IN)
Startup Layer Static Structure
(2)(IN)
Startup Layer Behavior
(82)(IN)
Startup Layer Decomposition
(25)(IN)
Architectural Design Rationale
(875)(IN)
Startup Layer Design Rationale
(74)(IN)
Startup
(826)(IN)
Create and connect all runtime component
(11)(IN)
This object has external links to:
startup/(EXT OUT)
This object is linked to:
Configurer
(559)(OUT)
Create a Configurer that uses real hardw
(36)(IN)
This object is linked to:
Program execution
(53)(IN)
This object is linked to:
Configurer
(559)(OUT)
Detailed Design Rationale
(489)(IN)
Ask the Simulation layer to create all G
(33)(IN)
This object has external links to:
AquaLushApplet.java(EXT OUT)
This object is linked to:
Applet initialization
(42)(IN)
This object is linked to:
Applet start
(16)(IN)
This object is linked to:
Applet stop
(27)(IN)
This object is linked to:
AquaLushApplet
(554)(IN)
Tokenizer
(562)(OUT)
AquaLush
(75)(IN)
Detailed Design Rationale
(489)(IN)
Runtime Components
(815)(IN)
Create and connect runtime components ba
(39)(IN)
Startup layer configuration module(s), p
(856)(IN)
This object has external links to:
Configurer.java(EXT OUT)
This object is linked to:
Configurer construction
(38)(IN)
This object is linked to:
TokenType
(551)(OUT)
Configurer
(559)(IN)
Process configuration reader input chara
(10)(IN)
Runtime Components
(815)(IN)
Startup layer configuration module(s), p
(856)(IN)
This object has external links to:
Tokenizer.java(EXT OUT)
This object is linked to:
S
(984)(OUT)
This object is linked to:
V
(987)(OUT)
This object is linked to:
Z
(994)(OUT)
This object is linked to:
delim
(616)(OUT)
This object is linked to:
digit
(626)(OUT)
This object is linked to:
eof
(973)(OUT)
This object is linked to:
Get the text of the current token
(60)(IN)
This object is linked to:
Get the type of the current token
(71)(IN)
This object is linked to:
greaterSign
(979)(OUT)
This object is linked to:
leftBrace
(713)(OUT)
This object is linked to:
lessSign
(978)(OUT)
This object is linked to:
Get next token
(49)(IN)
This object is linked to:
otherChar
(986)(OUT)
This object is linked to:
rightBrace
(760)(OUT)
This object is linked to:
semicolon
(782)(OUT)
This object is linked to:
a
(977)(OUT)
This object is linked to:
e
(983)(OUT)
This object is linked to:
l
(992)(OUT)
This object is linked to:
n
(1000)(OUT)
This object is linked to:
o
(1004)(OUT)
This object is linked to:
r
(1009)(OUT)
This object is linked to:
s
(1013)(OUT)
This object is linked to:
v
(1017)(OUT)
This object is linked to:
z
(1021)(OUT)
This object is linked to:
whitespace
(806)(OUT)
This object is linked to:
Figure B-11-4 Tokenizer State Machine
(84)(IN)
This object is linked to:
S
(975)(IN)
This object is linked to:
V
(982)(IN)
This object is linked to:
Z
(991)(IN)
This object is linked to:
delim
(997)(IN)
This object is linked to:
digit
(1002)(IN)
This object is linked to:
eof
(1007)(IN)
This object is linked to:
greaterSign
(974)(IN)
This object is linked to:
leftBrace
(981)(IN)
This object is linked to:
lessSign
(990)(IN)
This object is linked to:
otherChar
(980)(IN)
This object is linked to:
rightBrace
(989)(IN)
This object is linked to:
semicolon
(996)(IN)
This object is linked to:
a
(1001)(IN)
This object is linked to:
e
(1006)(IN)
This object is linked to:
l
(1011)(IN)
This object is linked to:
n
(1015)(IN)
This object is linked to:
o
(1019)(IN)
This object is linked to:
r
(1023)(IN)
This object is linked to:
s
(1026)(IN)
This object is linked to:
v
(1029)(IN)
This object is linked to:
z
(1032)(IN)
This object is linked to:
whitespace
(1035)(IN)
This object is linked to:
Tokenizer
(562)(IN)
Provide a type-safe token type enumerati
(13)(IN)
This object has external links to:
TokenType.java(EXT OUT)
This object is linked to:
User Interface Layer Static Structure
(412)(IN)
Packaging
(484)(IN)
User Interface Layer Design Rationale
(480)(IN)
User Interface Layer Behavior
(481)(IN)
Usage Guide
(479)(IN)
User Interface Layer Decomposition
(790)(IN)
Architectural Design Rationale
(875)(IN)
Usage Guide
(813)(IN)
User Interface Layer Design Rationale
(814)(IN)
Implement a device-independent AquaLush
(14)(IN)
User Interface
(832)(IN)
This object has external links to:
ui/(EXT OUT)
This object is linked to:
B0
(635)(IN)
This object is linked to:
B1
(658)(IN)
This object is linked to:
B2
(672)(IN)
This object is linked to:
B3
(697)(IN)
This object is linked to:
B4
(720)(IN)
This object is linked to:
B5
(733)(IN)
This object is linked to:
B6
(750)(IN)
This object is linked to:
B7
(762)(IN)
This object is linked to:
PersistentStoreFailure
(775)(IN)
This object is linked to:
dev
(801)(IN)
This object is linked to:
keypress
(818)(IN)
This object is linked to:
Screen
(599)(IN)
Command pattern command class whose oper
(432)(IN)
This object has external links to:
EventAction.java(EXT OUT)
This object is linked to:
An immutable class holding text and valu
(426)(IN)
This object has external links to:
Item.java(EXT OUT)
This object is linked to:
An immutable class holding text written
(429)(IN)
This object has external links to:
Prompt.java(EXT OUT)
This object is linked to:
EventAction
(569)(OUT)
Control the display and process user inp
(420)(IN)
This object has external links to:
Screen.java(EXT OUT)
This object is linked to:
B0
(561)(OUT)
This object is linked to:
B1
(583)(OUT)
This object is linked to:
B2
(602)(OUT)
This object is linked to:
B3
(608)(OUT)
This object is linked to:
B4
(617)(OUT)
This object is linked to:
B5
(631)(OUT)
This object is linked to:
B6
(639)(OUT)
This object is linked to:
B7
(650)(OUT)
This object is linked to:
PersistentStoreFailure
(659)(OUT)
This object is linked to:
Activate a screen when it becomes curren
(435)(IN)
This object is linked to:
dev
(683)(OUT)
This object is linked to:
Notify a screen that a keypad key has be
(468)(IN)
This object is linked to:
keypress
(702)(OUT)
This object is linked to:
Notify a screen that a screen button has
(457)(IN)
This object is linked to:
Notify a screen that time has passed
(446)(IN)
This object is linked to:
User Interface Layer Behavior
(481)(IN)
This object is linked to:
Display a scrollable list in the center
(423)(IN)
This object has external links to:
ScrollingScreen.java(EXT OUT)
This object is linked to:
Runtime Components
(815)(IN)
Create the user interface
(801)(IN)
UserInterface.UIController
(865)(IN)
Execute a state machine whose states are
(798)(IN)
UIController
(827)(IN)
This object has external links to:
UIController.java(EXT OUT)
This object is linked to:
Device Interface Layer Static Structure
(246)(IN)
Packaging
(484)(IN)
Device Interface Layer (device)
(492)(IN)
Device Interface Layer Decomposition
(315)(IN)
Architectural Design Rationale
(875)(IN)
Device Interface
(844)(IN)
Device Interface Layer Design Rationale
(592)(IN)
Services Required
(590)(IN)
Usage Guide
(591)(IN)
Implement virtual devices providing inte
(20)(IN)
This object has external links to:
device/(EXT OUT)
test/device/(EXT OUT)
This object is linked to:
Services Required
(812)(IN)
The objects in the Irrigation layer, plu
(868)(IN)
Runtime Components
(815)(IN)
Clock
ValveDevice SensorDevice StorageDe
(841)(IN)
Clock
DisplayDevice
(835)(IN)
Provide the day of the week and the time
(353)(IN)
This object has external links to:
Clock.java(EXT OUT)
ClockTest.java(EXT OUT)
This object is linked to:
Services Required
(787)(IN)
Get the day of the week (Clock and Clock
(392)(IN)
This object is linked to:
Services Required
(787)(IN)
Get the time of the day (Clock and Clock
(370)(IN)
This object is linked to:
Services Required
(787)(IN)
Set the day of the week (Clock and Clock
(381)(IN)
This object is linked to:
Services Required
(787)(IN)
Set the time of the day (Clock and Clock
(359)(IN)
This object is linked to:
The SimClockDevice relies on SimTime, wh
(488)(IN)
SimClockDevice
(513)(IN)
This object has external links to:
SimClockDevice.java(EXT OUT)
SimClockDeviceTest.java(EXT OUT)
This object has external links to:
SimDeviceFactory.java(EXT OUT)
SimDeviceFactoryTest.java(EXT OUT)
This object is linked to:
Both the SimDisplayDevice and the SimScr
(487)(IN)
SimDisplayDevice
(497)(IN)
This object has external links to:
SimDisplayDevice.java(EXT OUT)
SimDisplayDeviceTest.java(EXT OUT)
This object is linked to:
SimKeypadDevice
(505)(IN)
This object has external links to:
SimKeypadDevice.java(EXT OUT)
SimKeypadDeviceTest.java(EXT OUT)
This object is linked to:
Both the SimDisplayDevice and the SimScr
(487)(IN)
SimScreenButtonDevice
(501)(IN)
This object has external links to:
SimScreenButtonDevice.java(EXT OUT)
SimScreenButtonDeviceTest.java(EXT OUT)
This object is linked to:
SimSensorDevice
(517)(IN)
This object has external links to:
SimSensorDevice.java(EXT OUT)
SimSensorDeviceTest.java(EXT OUT)
This object is linked to:
SimStorageDevice
(509)(IN)
This object has external links to:
SimStorageDevice.java(EXT OUT)
SimStorageDeviceTest.java(EXT OUT)
This object is linked to:
SimValveDevice
(521)(IN)
This object has external links to:
SimValveDevice.java(EXT OUT)
SimValveDeviceTest.java(EXT OUT)
This object is linked to:
TickListener
(396)(OUT)
ClockDevice
(512)(IN)
The objects in the Irrigation layer, plu
(868)(IN)
Runtime Components
(815)(IN)
Provide virtual clock hardware that keep
(323)(IN)
This object has external links to:
ClockDevice.java(EXT OUT)
ClockDeviceTest.java(EXT OUT)
This object is linked to:
Get the day of the week (Clock and Clock
(392)(IN)
This object is linked to:
Get the time of the day (Clock and Clock
(370)(IN)
This object is linked to:
Set the day of the week (Clock and Clock
(381)(IN)
This object is linked to:
Set the ClockDevice listener
(403)(IN)
This object is linked to:
Set the time of the day (Clock and Clock
(359)(IN)
This object is linked to:
Runtime Components
(815)(IN)
DeviceFactory KeypadDevice ScreenButtonD
(829)(IN)
Provide abstract factory methods for cre
(356)(IN)
Startup layer configuration module(s), p
(856)(IN)
This object has external links to:
DeviceFactory.java(EXT OUT)
DeviceFactoryTest.java(EXT OUT)
This object is linked to:
Create virtual devices
(579)(IN)
DeviceFactory.createDeviceX()—Create var
(66)(IN)
This object is linked to:
Create virtual devices
(579)(IN)
DeviceFactory.createDeviceX()—Create var
(66)(IN)
This object is linked to:
Create virtual devices
(579)(IN)
DeviceFactory.createDeviceX()—Create var
(66)(IN)
This object is linked to:
Create virtual devices
(579)(IN)
DeviceFactory.createDeviceX()—Create var
(66)(IN)
This object is linked to:
Create virtual devices
(579)(IN)
DeviceFactory.createDeviceX()—Create var
(66)(IN)
This object is linked to:
Create virtual devices
(579)(IN)
DeviceFactory.createDeviceX()—Create var
(66)(IN)
This object is linked to:
Create virtual devices
(579)(IN)
DeviceFactory.createDeviceX()—Create var
(66)(IN)
This object is linked to:
DisplayDevice
(496)(IN)
DeviceInterface.DisplayDevice, DeviceInt
(862)(IN)
Services Required
(812)(IN)
Runtime Components
(815)(IN)
Provide a virtual 16-line-by-40-characte
(332)(IN)
Clock
DisplayDevice
(835)(IN)
This object has external links to:
DisplayDevice.java(EXT OUT)
DisplayDeviceTest.java(EXT OUT)
This object is linked to:
Clear the display
(480)(IN)
This object is linked to:
Clear all display highlighting
(491)(IN)
This object is linked to:
Clear a line of the display
(502)(IN)
This object is linked to:
Highlight a display line
(513)(IN)
This object is linked to:
Write a string to the display
(524)(IN)
This object is linked to:
Write a line to the display
(535)(IN)
This object is linked to:
KeypadListener
(202)(OUT)
KeypadDevice
(504)(IN)
DeviceInterface.DisplayDevice, DeviceInt
(862)(IN)
Runtime Components
(815)(IN)
Provide a virtual 12-key keypad hardware
(341)(IN)
DeviceFactory KeypadDevice ScreenButtonD
(829)(IN)
This object has external links to:
KeypadDevice.java(EXT OUT)
KeypadDeviceTest.java(EXT OUT)
This object is linked to:
DeviceX.setListener()—Add a listener to
(67)(IN)
Register a Keypad listener
(436)(IN)
This object is linked to:
KeyPress
(102)(OUT)
KeypadDevice
(183)(IN)
Guarantee that a module registered as a
(344)(IN)
This object has external links to:
KeypadListener.java(EXT OUT)
KeypadListenerTest.java(EXT OUT)
This object is linked to:
ScreenButtonListener
(285)(OUT)
ScreenButtonDevice
(500)(IN)
DeviceInterface.DisplayDevice, DeviceInt
(862)(IN)
Runtime Components
(815)(IN)
Provide a virtual hardware device with e
(347)(IN)
DeviceFactory KeypadDevice ScreenButtonD
(829)(IN)
This object has external links to:
ScreenButtonDevice.java(EXT OUT)
ScreenButtonDeviceTest.java(EXT OUT)
This object is linked to:
DeviceX.setListener()—Add a listener to
(67)(IN)
Register a ScreenButton listener
(425)(IN)
This object is linked to:
ScreenButtonDevice
(250)(IN)
Guarantee that a module registered as a
(350)(IN)
This object has external links to:
ScreenButtonListener.java(EXT OUT)
ScreenButtonListenerTest.java(EXT OUT)
This object is linked to:
SensorDevice
(516)(IN)
Runtime Components
(815)(IN)
Clock
ValveDevice SensorDevice StorageDe
(841)(IN)
DeviceInterface.ValveDevice, DeviceInter
(871)(IN)
Provide virtual moisture sensor hardware
(335)(IN)
This object has external links to:
SensorDevice.java(EXT OUT)
SensorDeviceTest.java(EXT OUT)
This object is linked to:
Services Required
(787)(IN)
Read a sensor
(546)(IN)
This object is linked to:
StorageDevice
(508)(IN)
The objects in the Irrigation layer, plu
(868)(IN)
Runtime Components
(815)(IN)
Clock
ValveDevice SensorDevice StorageDe
(841)(IN)
Provide virtual persistent storage of na
(329)(IN)
This object has external links to:
StorageDevice.java(EXT OUT)
StorageDeviceTest.java(EXT OUT)
This object is linked to:
Services Required
(787)(IN)
Fetch a value from persistent store
(458)(IN)
This object is linked to:
Remove data from persistent store
(469)(IN)
This object is linked to:
Services Required
(787)(IN)
Record a value in persistent store
(447)(IN)
This object is linked to:
ClockDevice
(100)(IN)
Guarantee that a module listening to the
(326)(IN)
This object has external links to:
TickListener.java(EXT OUT)
TickListenerTest.java(EXT OUT)
This object is linked to:
ValveDevice
(520)(IN)
Runtime Components
(815)(IN)
Clock
ValveDevice SensorDevice StorageDe
(841)(IN)
DeviceInterface.ValveDevice, DeviceInter
(871)(IN)
Provide virtual irrigation valve hardwar
(338)(IN)
This object has external links to:
ValveDevice.java(EXT OUT)
ValveDeviceTest.java(EXT OUT)
This object is linked to:
Services Required
(787)(IN)
Close a valve
(568)(IN)
This object is linked to:
Services Required
(787)(IN)
Open a valve
(557)(IN)
This object is linked to:
KeypadListener
(202)(IN)
Services Required
(812)(IN)
This object has external links to:
KeyPress.java(EXT OUT)
KeyPressTest.java(EXT OUT)
This object is linked to:
Packaging
(484)(IN)
This object has external links to:
util/(EXT OUT)
This object is linked to:
Services Required
(590)(IN)
Services Required
(312)(IN)
This object has external links to:
Day.java(EXT OUT)
This object is linked to:
The Irrigator calls IrrigationCycle.tick
(410)(IN)
This object is linked to:
Irrigation Layer Behavior
(409)(IN)
This object is linked to:
The ManualCycle.tick() operation is pict
(411)(IN)
This object is linked to:
Simulation Layer Behavior
(243)(IN)
This object is linked to:
The UIController simply passes keypad pr
(482)(IN)