establishing the overall
play

Establishing the overall To explain why multiple models are - PowerPoint PPT Presentation

Architectural Design Objectives To introduce architectural design and to discuss its importance Establishing the overall To explain why multiple models are required to document a software structure of a software architecture To


  1. Architectural Design Objectives • To introduce architectural design and to discuss its importance • Establishing the overall • To explain why multiple models are required to document a software structure of a software architecture • To describe types of architectural system models that may be used • To discuss how domain-specific reference models may be used as a basis for product-lines and to compare software architectures What is software architecture? Topics covered • System structuring • The design process for identifying the sub-systems making up a • Control models system and the framework for sub- • Modular decomposition system control and communication is • Domain-specific architectures called architectural design • The output of this design process is a description of the software architecture 1

  2. Advantages of explicit Architectural design architecture • Stakeholder communication • An early stage of the system design process – Architecture may be used as a focus of discussion by system stakeholders • Represents the link between • System analysis specification and design processes – Means that analysis of whether the • Often carried out in parallel with system can meet its non-functional some specification activities requirements is possible • Large-scale reuse • It involves identifying major system – The architecture may be reusable components and their across a range of systems communications Architectural design process Sub-systems and modules • System structuring • A sub-system is a system in its own right whose operation is independent – The system is decomposed into several principal sub-systems and communications of the services provided by other between these sub-systems are identified sub-systems • Control modelling • A module is a system component – A model of the control relationships between the different parts of the system is that provides services to other established components but would not normally • Modular decomposition be considered as a separate system – The identified sub-systems are decomposed into modules 2

  3. Architectural models Architectural models • Static structural model • Different architectural models may be produced during the design – shows the major system components process • Dynamic process model – shows the process structure of the • Each model presents different system perspectives on the architecture • Interface model – defines sub-system interfaces • Relationships model – E.g., data-flow model Architectural styles Architecture attributes • Performance • The architectural model of a – Localize operations to minimize sub-system system may conform to a generic communication architectural model or style • Security • An awareness of these styles can – Use a layered architecture with critical assets in inner layers simplify the problem of defining • Safety system architectures – Isolate safety-critical components • However, most large systems are • Availability heterogeneous and do not follow a – Include redundant components in the architecture single architectural style • Maintainability – Use fine-grain, self-contained components 3

  4. System structuring Packing robot control system • Concerned with decomposing the Vision system into interacting sub-systems system • The architectural design is normally Object expressed as a block diagram Arm Gripper identification controller controller presenting an overview of the system system structure • More specific models showing how Packaging sub-systems share data, are selection system distributed and interface with each other may also be developed Packing Conveyor controller system The repository model CASE toolset architecture • Sub-systems must exchange data. This Design Code may be done in two ways: Editor Generator – Shared data is held in a central database or repository and may be accessed by all sub- systems Design Program Project – Each sub-system maintains its own database Translator Editor Repository and passes data explicitly to other sub- systems • When large amounts of data are to be Design Report shared, the repository model of sharing Analyzer Generator is most commonly used 4

  5. Repository model Client-server architecture characteristics • Advantages • Distributed system model which shows how data and processing is distributed – Efficient way to share large amounts of data across a range of components – Sub-systems need not be concerned with how data is managed • Set of stand-alone servers which provide – Centralized management e.g. backup, specific services such as printing, data security, etc. management, etc. • Disadvantages • Set of clients which call on these – Sub-systems must agree on a repository data services model. Inevitably a compromise • Network which allows clients to access – Data evolution is difficult and expensive servers – Difficult to distribute efficiently Film and picture library Client-server characteristics • Advantages Client 1 Client 2 Client 3 Client 4 – Distribution of data is straightforward – Makes effective use of networked systems. May require cheaper hardware Wide-bandwidth Network – Easy to add new servers or upgrade existing servers • Disadvantages Catalog Hypertext Video Picture – No shared data model so sub-systems use server server server server different data organization – Data interchange may be inefficient – Redundant management in each server – No central register of names and services - Catalog Film clip Digitized Hypertext it may be difficult to find out what servers files photographs web and services are available 5

  6. Abstract machine model Version management system • Used to model the interfacing of sub- systems Version management • Organizes the system into a set of layers (or abstract machines) each of which provide a set of services Object management • Supports the incremental development of Database system sub-systems in different layers. When a Operating system layer interface changes, only the adjacent layer is affected • However, often difficult to structure systems in this way Control models Centralized control • A control sub-system takes responsibility • Are concerned with the control flow for managing the execution of other between sub-systems. Distinct from the sub-systems system decomposition model • Call-return model • Centralized control – Top-down subroutine model where control – One sub-system has overall responsibility for starts at the top of a subroutine hierarchy control and starts and stops other sub- and moves downwards. Applicable to systems sequential systems • Event-based control • Manager model – One system component controls the stopping, – Each sub-system can respond to externally starting and coordination of other system generated events from other sub-systems or processes. Can be implemented in sequential the system’s environment systems as a case statement. Applicable to concurrent systems. 6

  7. Call-return model Real-time system control Main Motor Motor Motor Motor Motor Motor Program Motor processes Sensor processes processes processes processes processes processes processes System controller Routine Routine Routine 1 2 3 Motor Motor Motor User Fault Computation processes processes processes interface handler processes Routine Routine Routine Routine Routine 1.1 1.2 2.1 3.1 3.2 Event-driven systems Broadcast model • Effective in integrating sub-systems on • Driven by externally generated events different computers in a network • Two principal event-driven models • Sub-systems register an interest in – Broadcast models. An event is broadcast to specific events. When these occur, all sub-systems. Any sub-system that can control is transferred to the sub-system handle the event may do so that can handle the event – Interrupt-driven models. Used in real-time • Control policy is not embedded in the systems where interrupts are detected by an event and message handler. Sub-systems interrupt handler and passed to some other decide on events of interest to them component for processing • However, sub-systems don’t know if or • Other event driven models include when an event will be handled spreadsheets and production systems 7

  8. Selective broadcasting Interrupt-driven systems • Used in real-time systems where fast response to an event is essential • There are known interrupt types with a handler defined for each type Sub-system Sub-system Sub-system Sub-system 1 2 3 4 • Each type is associated with a memory location and a hardware switch causes Event and message handler transfer to its handler • Allows fast response but complex to program and difficult to validate Interrupt-driven control Modular decomposition • Another structural level where sub- Interrupts systems are decomposed into modules • Two modular decomposition models Interrupt vector – An object model where the system is decomposed into interacting objects – A data-flow model where the system is decomposed into functional modules that Handler Handler Handler Handler transform inputs to outputs. Also known as 1 2 3 4 the pipeline model • If possible, decisions about concurrency should be delayed until modules are Process Process Process Process implemented 1 2 3 4 8

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend