Page 155 - DCAP308_OBJECT_ORIENTED_ANALYSIS_AND_DESIGN
P. 155
Unit 12: System Design
12.2.6 Handling Global Resources Notes
The system designer must identify global resources and determine mechanisms for controlling
access to them. There are several kinds of global resources: Physical system, Space, Logical
names, Access to shared data.
Identify global resources and determine access patterns.
Example:
Physical units (processors, tape drives)
Available space (disk, screen, buttons)
Logical names (object IDs, filenames)
Access to shared data (database, file)
12.2.7 Software Control Strategy
It is best to choose a single control style for the whole system. There are two kinds of control
flows in a software system: External control and internal control. External control concerns the
flow of externally visible events among the objects in the system. There are three kinds of
external events: procedural-driven sequential, event-driven sequential and concurrent.
In a procedural-driven sequential system, control within program code. Procedures request
external input and then wait for it, when input arrives, control resumes within the procedure
that made the call.
The major advantage of procedure-driven control is that it is easy to implement with conventional
languages.
!
Caution The procedure-driven control requires the concurrency inherent in objects to be
mapped into a sequential flow of control.
In an event-driven sequential model, control resides within a dispatcher or monitor that the
language, subsystem or operating system provides. Developers attach application procedures
to events and the dispatcher calls the procedures when the corresponding events occur. It’s more
flexible.
Notes In a concurrent system, control resides concurrently in several independent objects,
each a separate task.
Internal control refers to the flow of control within a process. It exists only in the implementation
and therefore is neither inherently concurrent nor sequential.
12.2.8 Boundary Conditions
Although most of the system design concerns steady-state behavior system designer must
consider boundary conditions as well and address issues like initialization, termination and
failure (the unplanned termination of the system).
LOVELY PROFESSIONAL UNIVERSITY 149