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
   150   151   152   153   154   155   156   157   158   159   160