8051
8051
8051
Koichiro Ochimizu
School of Information Science
Japan Advanced Institute of Science and Technology
Exercises
COMET
User (Concurrent Object Modeling and
architectural design mEThod)
Requirements
Modeling
Analysis
Modeling
Design
Modeling Incremental
Throwaway Software
Prototyping Construction
Incremental
Software Customer
Integration
Incremental System
Prototyping Testing
2006/2/23
COMET Process
• Problem Definition
‒ Problem Description
‒ Definition of Functional Requirements by a Use Case Diagram and Use Case
descriptions
• Analysis
‒ Static Modeling of objects in a problem domain.
‒ Dynamic Modeling in a problem domain
• Collaboration Diagrams
• State Charts
• Consolidated State Charts
• Consolidated Collaboration Diagram
• Architecture Design ( Distributed, Non Distributed)
‒ Subsystem Design
‒ Task Design
‒ Information Hiding Class Design
• Detailed Design
‒ Connectors Design
‒ Composite Task Design
‒ Deployment
• Performance Analysis
‒ Worst-case scenario analysis
• Programming (Incremental)
Problem Description
• Definition of Functional Requirements by
Use Cases
• Describing a class diagram of real world
entities is recommended.
123456789
12345
6789
elevator control
program
Select Destination
Arrival Sensor
Elevator User
Request Elevator
Request Elevator
Select Destination
Elevator User
1 1
Collaboration Diagram
for Select Destination use case
E1: Elevator
Button E2: Elevator E5: Elevator
Request Request Commitment
<<input device <<coordinator>> <<coordinator>>
interface>>
:Elevator :Scheduler
:Elevator
Button Interface Manager
:Elevator
User E5a: UP or Down
<<state dependent
control>>
<<entity>> :Elevator
:Elevator Control
Status&Plan
Collaboration Diagram
for Request Elevator use case
F6a: Up or Down
<<state dependent
control>>
:Elevator
Control
Elevator Stopping
Elevator at Floor
Elevator Idle
No Request
Elevator Idle StateChart for Elevator Control
Entry/ update idle status
D1:Up Down
Entry/ D2:Close Door Request Request Entry/ Close Door
, D2a:Off Up Floor Lamp , Off Down Floor Lamp
A2:Approaching Floor
/A3:Check This Floor Door Closed / Down, Off
D5:Door Closed / D6:Up,
D6a:Off Up Direction Lamp Down Direction Lamp
Elevator at Floor
Consolidated Collaboration
Diagram
• Consolidated Collaboration Diagram shows
all the objects that participate In the use
cases and all the interactions between these
objects.
Consolidated
Collaboration Diagram <<output device <<output device
<<timer>>
: Door Timer interface>> interface>>
: ElevatorLamp : Motor
Floor Lamp
<<output device Floor Interface Interface
Output After Up
interface>> Lamp ( Timeout)
: FloorLamp Command Off Elevator Down Elevator Started
Interface Lamp Stop
Start Elevator Stopped Door
Direction Timer
Lamp Direction Command
<<output device <<state
Output Lamp Open Door Close Door <<output device
interface>> dependent
Command
: DirectionLamp control>> interface>>
Interface : Elevator : Door
Door Door
Control Interface
Opened Closed
Check Next
Door
<<input device Next Destination
Check This Floor (Floor #) Response
interface>> Destination
ArrivalSensor : ArrivalSensor Approaching
Input Approaching Arrived( Floor #))
Interface Floor ( Floor #)
Requested
Floor Departed( Floor Arrived ( Floor #)
#))
Up, Down
<<entity>>
: Elevator Status&Plan
Departed( Floor #)
Elevator Update Acknowledge
Button Elevator Floor
Interface Request Scheduler Service Button
Request Request <<input device Interface
<<input device <<coordinator>>
interface>> <<coordinator>> interface>>
: Elevator : FloorButton
: ElevatorButton : Scheduler
Manager Elevator Interface
Interface
Commitment
Subsystem Structuring
• Structuring Criterion: Principles ”high coupling
within a subsystem and low coupling between
subsystems”
– Aggregate/composite object: Geographical location:If
two objects could potentially be physically separated in
different locations, they should be in different
subsystems to reduce communication cost
– Clients and servers must be in separate subsystems
– User interface objects are usually clients
– A control objects and all the entity and interface objects
it directly controls should all be part of one subsystem
System Decomposition
• Consider the use-case-based collaboration diagrams, which
show the objects that communicate frequently with each
other. This is generally a good basis for subsystem
structuring because objects that communicate frequently with
each other are good candidates for being in the same
subsystem. The object depicted on several collaboration
diagrams can only be part of one subsystem.
• If one object is located at a geographically remote location
from another object, the two objects should be in different
subsystems ( for an example, clients and servers)
• Objects that are part of the same composite object should be
in the same subsystem.
• On the other hand, objects in a aggregate subsystem grouped
by functional similarity might span geographical boundaries
Subsystem Structuring
<<timer>> <<output device <<output device
: Door Timer interface>> interface>>
: ElevatorLamp : Motor
Floor Lamp
<<output device Floor Interface Interface
Output After Up
interface>> Lamp ( Timeout)
: FloorLamp Command Off Elevator Down Elevator Started
Interface Lamp Stop
Start Elevator Stopped Door
Direction Timer
Lamp Direction Command
<<output device <<state
Output Lamp Open Door Close Door <<output device
interface>> dependent
Command
: DirectionLamp control>> interface>>
Interface : Elevator : Door
Door Door
Control Interface
Opened Closed
Check Next
Door
<<input device Next Destination
Check This Floor (Floor #) Response
interface>> Destination
ArrivalSensor : ArrivalSensor Approaching Arrived ( Floor #)
Input Approaching Arrived( Floor #))
Interface Floor ( Floor #)
Requested
Floor Elevator Subsystem
Departed( Floor
#)) Floor Subsystem
Up, Down Scheduler Subsystem
<<entity>>
: Elevator Status&Plan
Departed( Floor #)
Elevator Update Acknowledge
Button Elevator Floor
Interface Request Scheduler Service Button
Request Request <<input device Interface
<<input device <<coordinator>>
interface>> <<coordinator>> interface>>
: Elevator : FloorButton
: ElevatorButton : Scheduler
Manager Elevator Interface
Interface
Commitment
Subsystem Structuring
<<timer>> <<output device <<output device
: Door Timer interface>> interface>>
: ElevatorLamp : Motor
Floor Lamp
<<output device Floor Interface Interface
Output After Up
interface>> Lamp
• Door
: FloorLamp Interface object,( Timeout)
Command Motor Interface
Off Elevator
object, Down Elevator Started
Elevator
Interface Lamp Interface objectLamp are the parts
Stop of
Start Elevator Stopped
Direction a Elevator composite Timer
object. Door
Direction Command
Lamp
<<output•Each elevator
device Lamp
needs an Elevator
<<state Control object,
Output dependent Open Door Close Door <<output device
an ElevatorCommand
interface>> Manager object, and an Elevator interface>>
: DirectionLamp control>>
Status & Plan object.
Interface : Elevator Door
: Door
• The Arrival Sensor Interface object is placed
Control Opened in theDoor
Closed
Interface
<<input Elevator
device Subsystem because
Next
it isCheck
moreNext
Destination tightly Door
Check This Floor (Floor #) Response
coupled with this subsystem(
interface>> Destination Stop Elevator use case)
ArrivalSensor : ArrivalSensor Approaching Arrived ( Floor #)
Input Approaching Arrived( Floor #))
Interface Floor ( Floor #)
Requested
Floor Elevator Subsystem
Departed( Floor
#)) Floor Subsystem
Up, Down Scheduler Subsystem
<<entity>>
: Elevator Status&Plan
Departed( Floor #)
Elevator Update Acknowledge
Button Elevator Floor
Interface Request Scheduler Service Button
Request Request <<input device Interface
<<input device <<coordinator>>
interface>> <<coordinator>> interface>>
: Elevator : FloorButton
: ElevatorButton : Scheduler
Manager Elevator Interface
Interface
Commitment
Floor
Lamp
<<control subsystem>> <<output device
<<external :Elevator Subsystem Motor
Output interface>> Command <<external
output <<output device
: Elevator Lamp output
device>>
:Elevator Interface interface>> device>>
: Motor :Motor
Lamp
<<timer>> Off elevator Interface Motor
Floor Lamp : Door Timer After Response
(Timeout) Lamp Up
Command
Down Elevator Started Door Command
Direction Start Timer Stop Elevator Stopped
<<sub Lamp <<state Open
Close
<<external
system>> Command dependent Door
Door <<output device
output
:Floor control>> interface>>
Subsystem
device>>
Approaching : Elevator Door Door : Door :Door
Opened Closed Interface
Floor( Floor #)) Control Door
Arrival Check Next Destination Response
Sensor Next
Input Check This Floor( Floor #))
<<external <<input device Destination
input interface>> Approaching Arrived( Floor #)
device>> : Arrival Sensor Requested
:Arrival Arrived( Floor #)
Interface Floor Departed (Floor #)
Sensor
Departed( Floor #)
<<entity>>
Up, Down
: Elevator Status & Plan
Acknowledge Scheduler
Elevator Update Request
<<external Button
input Request <<sub
<<input device system>>
device>> <<coordinator>>
:Elevator
interface>> : Scheduler
: Elevator Button : Elevator manager
Button Elevator
Interface Elevator
Request
Commitment
Subsystem Structuring
<<timer>> <<output device <<output device
: Door Timer interface>> interface>>
: ElevatorLamp : Motor
Floor Lamp
<<output device Floor Interface Interface
Output After Up
interface>> Lamp ( Timeout)
: FloorLamp Command Off Elevator Down Elevator Started
Interface Lamp Stop
Start Elevator Stopped Door
Direction Timer
Lamp Direction Command
<<state
Output
<<output device •Floor
Lampsubsystem composite object Open Door Close Door <<output device
interface>> dependent
CommandFloor Lamp Interface object
consists
: DirectionLamp control>> interface>>
Interface and Floor Button: Elevator
Interface object. : Door
Door Door
Control Interface
• Direction Lamp Interface object Opened
Check Next
is Closed
Door
<<input device allocated toNext
the Floor subsystem,
Destination
Check This Floor (Floor #) Response
interface>> because Destination
ArrivalSensor : ArrivalSensor Approaching Arrived ( Floor #)
Input Approaching Arrived( Floor #))
Interface Floor ( Floor #)
Requested
Floor Elevator Subsystem
Departed( Floor
#)) Floor Subsystem
Up, Down Scheduler Subsystem
<<entity>>
: Elevator Status&Plan
Departed( Floor #)
Elevator The Scheduler
UpdateAcknowledgecoordinator
Button
Interface
Elevator object Scheduler
is allocated to its own Service Floor
Request Button
subsystem,
Requestbecause it is Request <<input device Interface
<<input device <<coordinator>>
interface>> : Elevator
independent of the number
<<coordinator>> interface>>
: Scheduler : FloorButton
: ElevatorButton Manager of floors
Elevatorand elevators Interface
Interface
Commitment
<<control subsystem>>
: FloorSubsystem
Floor
Button Service
<<external Request Request
input <<input device
device>> interface>>
:Arrival : FloorButton
<<subsystem>>
Sensor
Interface : Scheduler
Floor
Lamp Floor Lamp
Output Command
<<external <<output device
output interface>>
device>> : Floorlamp
:Floor <<subsystem>>
Lamp
Interface
: Elevator
Direction Control
Lamp
Direction
Output
Lamp
<<external <<output device Command
output interface>>
device>> : DirectionLamp
:Direction
Lamp
Interface
Subsystems
<<external input <<external output <<external input
device>> device>> device>>
:Elevator Button :Elevator Lamp :Arrival Sensor
* * Updates
* 1 1
Task Structuring
• Design task structure and task interface by applying the
following task structuring criteria to problem domain
objects recognized as an consolidated collaboration
diagram.
‒ I/O task structuring criteria
Criteria to decide whether each device interface object is an
active object or not, considering the properties: interrupt-driven,
polling, communication, discrete data or analog data Criteria to
‒ Internal task structuring criteria make the
objects ( in a
Criteria to decide whether each internal object is an active object consolidated
or not, considering the properties: period, asynchronous, control, collaboration
UI. diagram )
‒ Task priority criteria active objects
Non-Distributed Solution
• The Elevator Control System is mapped to a single CPU or
tightly coupled multiprocessor configuration
• The Elevator Status & Plan entity object is accessible to all
elevators as well as scheduler, so that one centralized
repository of data can be used
Floor
Lamp
<<control subsystem>> <<output device
<<external :Elevator Subsystem Motor
Output interface>> Command <<external
output <<output device
: Elevator Lamp output
device>>
:Elevator Interface interface>> device>>
: Motor :Motor
Lamp
<<timer>> Off elevator Interface Motor
Floor Lamp : Door Timer After Response
(Timeout) Lamp Up
Command
Down Elevator Started Door Command
Direction Start Timer Stop Elevator Stopped
<<sub Lamp <<state Open
Close
<<external
system>> Command dependent Door
Door <<output device
output
:Floor control>> interface>>
Subsystem
device>>
Approaching : Elevator Door Door : Door :Door
Opened Closed Interface
Floor( Floor #)) Control Door
Arrival
Sensor
The objects “Elevator Button Interface”
Check Next Destination Response
Next
<<external Input
<<input device Destination andCheck
“Arrival
This Floor(Sensor
Floor #)) Interface” are
input structured
interface>> Approaching Arrived( Floor #) separate task respectively,
as a
device>> : Arrival Sensor Requested
:Arrival
Interface Floor based on the asynchronous Arrived( Floor #)input device
Sensor Departed (Floor #)
interface task structuring criterion
Departed( Floor #)
<<entity>>
Up, Down : Elevator Status & Plan
Acknowledge Scheduler
Elevator Update Request
<<external Button
input Request <<sub
<<input device system>>
device>> <<coordinator>>
:Elevator
interface>> : Scheduler
: Elevator Button : Elevator manager
Button Elevator
Interface Elevator
Request
Commitment
Floor
Lamp
<<control subsystem>> <<output device
<<external :Elevator Subsystem Motor
Output interface>> Command <<external
output <<output device
: Elevator Lamp output
device>>
:Elevator Interface interface>> device>>
: Motor :Motor
Lamp
<<timer>> Off elevator Interface Motor
Floor Lamp : Door Timer After Response
(Timeout) Lamp Up
Command
Down Elevator Started Door Command
Direction Start Timer Stop Elevator Stopped
<<sub Lamp <<state Open
Close
<<external
system>> Command dependent Door
Door <<output device
output
:Floor control>> interface>>
Subsystem
device>>
Approaching : Elevator Door Door : Door :Door
Opened Closed Interface
Floor( Floor #)) Control Door
Arrival Check Next Destination Response
Sensor Next
Input Check This Floor( Floor #))
<<external <<input device Destination
input interface>> Approaching Arrived( Floor #)
device>> : Arrival Sensor Requested
:Arrival Arrived( Floor #)
Interface Floor Departed (Floor #)
Sensor
Each ”Elevator Control Object” is
Departed( Floor #)
Up, Down
mapped to a separate “Elevator
<<entity>>
: Elevator Status & Plan
Controller” task.
Acknowledge Scheduler
Elevator Update Request
<<external Button
input Request <<sub
<<input device system>>
device>> <<coordinator>>
:Elevator
interface>> : Scheduler
: Elevator Button : Elevator manager
Button Elevator
Interface Elevator
Request
Commitment
Floor
Lamp
<<control subsystem>> <<output device
<<external :Elevator Subsystem Motor
Output interface>> Command <<external
output <<output device
: Elevator Lamp output
device>>
:Elevator Interface interface>> device>>
: Motor :Motor
Lamp
<<timer>> Off elevator Interface Motor
Floor Lamp : Door Timer After Response
(Timeout) Lamp Up
Command
Down Elevator Started Door Command
Direction Start Timer Stop Elevator Stopped
<<sub Lamp <<state Open
Close
<<external
system>> Command dependent Door
Door <<output device
output
:Floor control>> interface>>
Subsystem
device>>
Approaching : Elevator Door Door : Door :Door
Opened Closed Interface
Floor( Floor #)) Control Door
Arrival Check Next Destination Response
Sensor Next
Input Check This Floor( Floor #))
<<external <<input device Destination
input interface>> Approaching Arrived( Floor #)
device>> : Arrival Sensor Requested
:Arrival Arrived( Floor #)
Interface Floor Departed (Floor #)
Sensor
Departed( Floor #)
<<entity>>
Up, Down : Elevator Status & Plan
The “Elevator Controller” task is combined with
Elevator
“Motor Interface” and “DoorAcknowledge
Interface” objects, Scheduler
Update Request
<<external Button based on the control clustering criterion.
input Request <<sub
<<input device system>>
device>> <<coordinator>>
:Elevator
interface>> : Scheduler
: Elevator Button : Elevator manager
Button Elevator
Interface Elevator
Request
Commitment
Floor
Lamp
<<control subsystem>> <<output device
<<external :Elevator Subsystem Motor
Output interface>> Command <<external
output <<output device
: Elevator Lamp output
device>>
:Elevator Interface interface>> device>>
Lamp
The “Elevator Manager (one instance in the : Motor :Motor
<<timer>> solution) executes
non-distributed Offasynchronously
elevator Interface Motor
Floor Lamp : Door Timer After Response
Lamp Up
Command with the “Elevator Controller”
(Timeout) task. The “Elevator Elevator Started
Down Door Command
Manager Start
Direction
is structured
Timer as a separate coordinate
Stop task.
Elevator Stopped
<<sub Lamp <<state Open
Close
<<external
system>> Command dependent Door
Door <<output device
output
:Floor control>> interface>>
Subsystem
device>>
Approaching : Elevator Door Door : Door :Door
Opened Closed Interface
Floor( Floor #)) Control Door
Arrival Check Next Destination Response
Sensor Next
Input Check This Floor( Floor #))
<<external <<input device Destination
input interface>> Approaching Arrived( Floor #)
device>> : Arrival Sensor Requested
:Arrival Arrived( Floor #)
Interface Floor Departed (Floor #)
Sensor
Departed( Floor #)
<<entity>>
Up, Down
: Elevator Status & Plan
Acknowledge Scheduler
Elevator Update Request
<<external Button
input Request <<sub
<<input device system>>
device>> <<coordinator>>
:Elevator
interface>> : Scheduler
: Elevator Button : Elevator manager
Button Elevator
Interface Elevator
Request
Commitment
Task Architecture
(Non-distributed Elevator Control System)
Elevator Lamp Output
Service Request
Task Interface
( Non-distributed Elevator Control System)
Elevator Lamp Output
doorCommand( out
doorResponse)
<<control subsystem>> <<data collection
:Elevator Subsystem <<control subsystem>>
: Floor Subsystem
clustering>> offFloorLamp
: Elevator ( floor#,
ApproachingFloor(
Controller direction) <<resource floor
elevator#, floor#) Lamp
arrival monitor>>
checkNextDestination( in Output
Sensor elevator#, out direction)
offDirectionLam : Floor Lamp
p(elevator#, Monitor
Input <<asynchronous floor#, direction)
checkThisFloor( in elevator#, in
input device floor#, out floorStatus, out direction)
interface>> arrived(elevator#, floor#, direction)
: Arrival Sensor onDirectionLam <<resource direction
departed(elevator#, floor#, direction) Lamp
Interface p(elevator#, monitor>>
<<data abstraction>>
floor#, direction) : Direction Lamp Output
up(elevator#), : Elevator Status & Plan selectElevator( in Monitor
floor#, in
down(elevator#) updatePlan(el
direction, out
evator#,floor# schedulerReque
elevator#)
elevator ,direction, out st( elevator#,
<<asynchronous idleStatus) floor#, <<asynchronous
Button
Request input device direction) input device floor
<<coordinator>> <<co Button
interface>> interface>> Request
: Elevator ordinator>> : Floor Button
: Elevator Button elevatorRequ Manager
est(elevator#, elevatorCommit : Scheduler Interface
Interface
floor#, ment( elevator#,
direction) floor#, direction)
serviceRequest(floor#, direction)
:Elevator Subsystem
{1 node per elevator}
Elevator
Elevator Button Request Lamp Output Arrival Sensor Input
Service Request
Arrive departe
d(eleva d(eleva <<coordinator subsystem>>
tor#,flo tor#,flo :Scheduler
or#,dir or#,dir
ection) ection)
<<server>>
: Elevator Arrived, Departed
Status & Plan Server
Select Elevator
Service Elevator #
Request
<<subsystem>> <<coordinator>>
: Floor Subsystem : Elevator Scheduler
Scheduler request
Task Parameters
Task CPU time Ci Period Ti Utilization Ui Assigned
Stop Elevator at Floor Priority
0
2 A2: approaching Floor
2
3 E2: Elevator Request
6
4 F2: service Request
10
5
14
6
18 F4: scheduler Request
20
∼
∼ 20 ∼
∼
40
6
46
50
Result of Analysis(1/3)
• Stop elevator at Floor (Ta=50msec)
‒ Execution time: Total execution time Ca=2msec
(Arrival Sensors Interface)+5msec (Elevator
Controller). Execution utilization Ue=Ca/Ta=7/50=0.14
‒ Preemption by higher priority tasks: Total preemption
time Pa=3 (Elevator Buttons Interface)+4(Floor Buttons
Interface)=7msec。Preemption utilization Up=Pa/Ta
=7/50=0.14
‒ Blocking time: Total worst-case blocking time Ba=
20msec (Scheduler). Worst-blocking utilization Ub =
Ba/Ta=20/50=0.40
‒ Total Utilization= Ue+Up+Ub=0.14+0.14+0.40=0.68
Result of Analysis(2/3)
• Select Destination (Tb=100msec)
‒ Execution time: Total execution time Cb=3msec (Elevator
Buttons Interface)+6msec(Elevator Manager). Execution
Utilization Ue=Ca/Ta=9/100=0.09
‒ Preemption by higher priority tasks with shorter periods: Arrival
Sensors Interface and Elevator Controller (preempts Elevator
Manager) can each execute twice during 100 msec period, giving a
preemption time of 14 msec.
‒ Preemption by higher priority tasks with longer periods: 4 msec
from Floor Buttons Interface to handle floor Button interrupt.
‒ Total preemption time Cp=14+4=18 。Total preemption
utilization Up= Cp/Tb = 18/100 = 0.18
‒ Blocking time: Worst-case blocking time Ba= 20msec (Scheduler).
Worst-case blocking utilization Ub = Bb/Tb=20/100=0.20
‒ Total Utilization= Ue+Up+Ub=0.09+0.18+0.20=0.47
Results of Analysis(3/3)
• Request Elevator (Tc=200msec)
‒ Execution time: Total execution time Cc=4msec (Floor Buttons
Interface)+20msec(Scheduler)+6msec(Elevator Manager).
Execution utilization Ue=Cc/Ta=30/200=0.15
‒ Preemption by higher priority tasks with shorter periods: Arrival
Sensors Interface and Elevator Controller (preempts Elevator
Manager and Scheduler) can each execute four times for a total of
28 msec.
‒ Total preemption time Cp=28+18=46. Preemption utilization
Up=Cp/Tp=0.23
‒ Total elapsed time=30+46+0=76
‒ Total Utilization= Ue+Up=0.15+0.23=0.38
Task Parameters
Task CPUtime Ci Period Ti Utilization Ui Assigned Priority
Elevator Subsystem
Scheduler Subsystem
Elevator Status and Plan Server 2 10 0.20 1
Elevator Scheduler 20 50 0.40 2
Result of Analysis(1/3)
• Stop elevator at Floor (Ta=50msec)
‒ Execution time: Total execution time Ca=2msec (Arrival Sensors
Interface)+5msec (Elevator Controller) Execution utilization Ue=
Ca/Ta=7/50=0.14
‒ Preemption by higher priority tasks with longer periods.
Preemption time Pa=3 (Elevator Buttons Interface). Preemption
utilization Up=3/50=0.06
‒ Blocking time: Total worst-case blocking time Ba= 6msec
(Elevator Manager). Worst-case blocking utilization Ub =
Ba/Ta=6/50=0.12
‒ Total elapsed time=7+3+6 =16msec<50.Total Utilization=
Ue+Up+Ub=0.14+0.06+0.12=0.32
– Total elapsed time for Stop elevator at Floor=16(Total elapsed
time for Elevator Subsystem)+2 (Transmission Delay, 25byte,
100Mbau, Transmission Delay Dt = 200/100000 = 2msec+23
Worst-case elapsed time of Scheduler system)=16+2+23=
41msec
Result of Analysis(2/3)
• Select Destination (Tb=100msec)
‒ Execution time: Total execution time Cb=3msec
(Elevator Buttons Inteface)+6msec(Elevator Manager).
Execution utilization Ue=Ca/Ta=9/100=0.09
‒ Preemption time by higher priority tasks with shorter
periods: Arrival Sensors Interface and Elevator
Controller can each execute twice during the 100 msec
period, giving a total preemption time of 14 msec.
Up=0.14.
‒ Total elapsed time =9+14=23.Total utilization =
Ue+Up =0.09+0.14=0.23
‒ Total elapsed time for Select Destination Eb =23
(Elevator subsystem elapsed time)+2(transmission
delay)+23 (Scheduler subsystem elapsed time)
=48msec.
Result of Analysis(3/3)
• Request Elevator (Tc=200msec)
‒ Total elapsed time for floor subsystem Ef=4msec( floor
buttons Interface)+1msec(transmission delay)=5msec.
‒ Total elapsed time for scheduler subsystem
Es=1msec(transmission delay)+20msec(elevator
Scheduler)+ 1 msec (transmission delay)+2msec
(Blocking time by Elevator Status & Plan subsystem)
=1+20+1+2= 24msec.
‒ Execution time of Elevator Manager=1+6+1=8.
‒ Total elapsed time of Elevator subsystem=16+8=24.
– Total elapsed time for Request Elevator =
5+2+24+2+24+2+23=82