IS2000: Module View

STEP 1: Define layers

To create the module view we start from the top and work down. To do this we first define layers. These are selected mainly based on the architect's experience.
We select the layers:

  • Graphical user interface; because GUI design is different from the design of procedural components (and because a single unified UI is desirable) we place UI elements in a dedicated layer. It uses three conceptual components (UI portions of Acquire, Monitor and Export).
  • Applications; is used to direct the flow of control in response to events. Encapsulates the non-UI portions of the AcquisitionManagement, PostProcessing, Export, Monitor and ImageCollection conceptual components
  • ImageProcessing; to maintain the strategy of separating time-critical and non time-critical components we utilise a separate layer. This maps the ImageProcessing component to the module view.
  • ProbeService; maintains the strategy of encapsulating domain-specific hardware. This uses the ProbeControl and DataCollection components.
  • SystemServices; is used to hide the details of the communication-specific code. This maps the Comm component to the module view.

STEP 2: Define modules

We start by assigning each component to a module or subsystem.

  • To a subsystem: if the component has already been decomposed to other components in the conceptual view

STEP 3: Identifying interfaces

To identify the interfaces of the module view we need to located the use-dependencies between layers:

is2000_11.pngis2000_12.png

We define the interfaces using the syntax:…

Initialize()
    Client initializes interface with ImageProcessing
Create(IP_id, Pipeline_config)
    Create an image pipeline with the given configuration
Delete(IP_id)
    Stop execution of the pipeline and tear down the stages
Terminate()
    Client terminates interface with ImageProcessing
AdjustImage(IP_id, Stage_id, Message)
    Client adjusts the processing of image (e.g., growth rate, persistence)
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License