Title: 1' Collaboration Diagrams from Use Cases
11. Collaboration Diagrams from Use Cases
2AP1 position
AP1.2 Calculate
AP1.2 Calculate
AP1.1 position
AP1.3 Read
AP1.4 Value
AP1.5 throttle value
AP1.6 throttle position
Use Case Adjust Throttle Position
3This is similar to Fig. 20.18. The entity RPM
cannot initiate a periodic event to update the
tachometer. It returns the new value to
DisplayRPMTimer which passes the value to the
TachometerInterface. This is analogous to how in
Fig 20.18 the entity Distance returns Incremental
Distance to distanceTimer which in turn sends it
as a parameter in the Calculate msg sent to
CurrentSpeed.
RPM1 timer event
RPM1.1 update
RPM1.4 count value
RPM1.5 rpm value
RPM1.3 count value
RPM1.2 read
RPM1.6 rpm value
Use Case Display RPMs
4In this case, the AirFuelMixture value is
calculated but not passed up to the periodic task
CalculateAFRTimer because the job is to
calculate and store the value. When the entity
has finished its calculation, it stores the
result.
A1 timer event
A1.1 calculate
A1.6 temperature value
A1.2 read
A1.4 temperature value
A1.5 read
Use Case Calculate Air-Fuel Mixture (AFR)
5In this case, AdjustFuelPressure is an algorithm
task,an active object, which makes it appropriate
for it to pass the delta value to the
FuelPumpInterface. In the Display RPM slide, RPM
is an entity, a passive object. This is just a
further comment about the Display RPM slide. The
diagram on this slide is fine.
AFP1 timer event
AFP1.1 calculate
AFP1.2 read
AFP1.3 value
AFP1.8 delta value
AFP1.7 value
AFP1.6 read
AFP1.9 delta value
AFP1.4 read
AFP1.5 value
Use Case Adjust Fuel Pressure
6Use Case Monitor Input Air Temperature (IAT)
7C1 timer event
C1.1 update
C1.2 read
C1.5 temp value
C1.4 raw temp value
C1.3 read
Use Case Monitor Coolant Temperature (MCT)
8Use Case Monitor Fuel Pressure (MFP)
93. Engine Control Statechart
10Engine on / clear pedal position, update RPM and
air fuel entity values EngineState ON
Engine off / EngineState OFF
Initial
Pedal Position Change
Engine Control
Adjusting Throttle Position
Pedal Position Change
Periodically Calculating AFR, Fuel Pressure and
Displaying RPM
Throttle Position Updated
114. Subsystems based on collaboration diagrams
These are the high level collaboration diagrams
(the resulting diagram would be too complicated
to combine all into a single system)
12ltltsubsystemgtgt ShaftSubsystem
timer event
count value
ltltsubsystemgtgt RPMSubsystem
read
rpm value
rpm value
update
rpm display value
13timer event
ltltsubsystemgtgt AFRSubsystem
ltlttimergtgt MonitorCTempTimer
update
update
read
read
temperature value
temperature value
temperature value
temperature value
read
read
14timer event
timer event
ltltsubsystemgtgt FuelPressureSubsystem
Calculate
update
Read
FP value
read
FP value
Read
delta value
Read
rpm value
pedal position
read
raw value
delta
15pedal movement
ltltsubsystemgtgt AccelerationSubsystem
update
Calculate
Read
pedal position
throttle value
throttle value
165. Subsystem Architecture (dependencies)
17ltltsubsystemgtgt FuelPressureSubsystem
ltltsubsystemgtgt AFR Subsystem
ltltsubsystemgtgt AccelerationSubsystem
ShaftSubsystem