Software Architecture Style of soft exam Review

Source: Internet
Author: User

1) Garlan and Shaw divide the software architecture into five categories:

(1) data stream style: Includes batch sequential and pipes/filters ).

(2) Call/return style: including main program/subroutine architecture style (main program and subroutine), data abstraction, and object-oriented architecture style (dataworkflow action and object-oriented) and hierarchical layers ).

(3) Independent Component style: including the process communication architecture (communicating processes) and event-driven architecture (eventsystems ).

(4) Virtual Machine style: includes the interpreter architecture style (interpreters) and rule-based systems architecture style.

(5) warehouse style: including database and blackboards)

Others: domain-specfic software architecture, statetransition system, distributed process architecture style, and representational statetransfer) hybrid Architecture. Among them, the distributed architecture style includes the Client/Server (C/S) architecture style, browser/server (B/S) architecture style, CORBA, DCOM, and EJB architecture style.

2) model of each specific architecture style

(1) the data stream style includes the batch processing sequence architecture style and pipeline/filter architecture style.

①. Batch processing sequence architecture style. A component is a series of computing units in a fixed order, and the components only communicate with each other through data transmission. Each processing step is an independent program, and each step must start after the previous step ends. The data must be complete and transmitted in an overall manner.

②. Pipeline/filter architecture style. Each component has a set of inputs and outputs. The component reads the input data streams and processes them internally to generate output data streams. This process is usually completed through the transformation and incremental computing of the input stream, including the enrichment of data by computing and adding information, the enrichment and deletion of refined data, and the conversion of data by changing the record, incrementally convert data. The output is generated before the input is completely consumed. The component is called a filter, and the connector is the pipe for data stream transmission, which transmits the output of one filter to the input of another filter.

(2) Call/return styles include the main program/subroutine Architecture styles, data abstraction, object-oriented Architecture styles, and Hierarchical Architecture styles.

①. Main Program/subroutine architecture style. Single-threaded control divides the problem into several processing steps. components are the main program and subprograms. Subprograms can usually be merged into modules. Process calling acts as an interaction mechanism, that is, it acts as a connector. The call relationship is hierarchical, and Its Semantic Logic is represented by the correctness of the subprogram, depending on the correctness of the subprogram it calls.

②. Data abstraction and object-oriented architecture style. The component of this style is an object. An object is an instance of the abstract data type. In abstract data types, data representations and their corresponding operations are encapsulated. The behavior of an object is reflected in its acceptance and request actions. A connector refers to the interaction between objects. objects are interacted by calling functions and procedures. Objects are encapsulated. Changes to one object do not affect other objects. The object has the status and operation, and has the responsibility to maintain the status. This structural style contains features such as encapsulation, interaction, polymorphism, integration, and reuse.

3. layered architecture style. A hierarchy is organized into a hierarchy. The component implements virtual machines at some layers. The connector is defined by a protocol that determines how the layers interact. Topology constraints include constraints on the interaction between adjacent links. This style features that each layer provides services for the previous layer. using the services of the next layer, you can only see the layers adjacent to yourself. The major problems are divided into several small and progressive problems, which are gradually solved, hiding a lot of complexity. Modifying a layer affects a maximum of two layers, but usually only the upper layer. The upper layer must know the identity of the lower layer and cannot adjust the order between layers.

(3) Independent Component styles include Process Communication architectural styles and event-driven architectural styles

①. Process Communication architecture style. The component is an independent process, and the connector is message transmission. This style features that the component is usually a naming process. The message transmission mode can be point-to-point, asynchronous and synchronous, and remote process call.

②. Event-driven architecture style. A component does not call a process directly, but triggers or broadcasts one or more events. The processes in other components of the system are registered in one or more events. When an event is triggered, the system automatically calls all the processes registered in this event. The trigger of one event leads to the call process in another module.

Components in this style are non-named, and the interworking connectors between them are often implemented by the Implicit call between processes (Implicit Invocation. The main advantage of event-based implicit call style is that it provides powerful support for software reuse and facilitates component maintenance and evolution; the disadvantage is that components give up control over system computing.

(4) The Virtual Machine style includes the interpreter architecture style and rule-based system

①. Interpreter architecture style. An interpreter usually includes an interpretation engine that completes the interpretation work, a storage area that contains the code to be interpreted, and a data structure that records the current working status of the interpretation engine, and a data structure that records the progress of the source code interpreted. Software with interpreter style contains a virtual machine that can simulate the hardware execution process and some key applications. Its disadvantage is that the execution efficiency is low.

②. Rule-based systems. The rule-based system includes the rule set, rule interpreter, rule/data selector, and working memory.

(5) warehouse styles include database architecture styles and Blackboard Architecture styles

①. Database architecture style. Database architecture is the most common form of database style. There are two main types of components: one is the central shared data source, which stores the data status of the current system; the other is multiple independent processing elements, which operate on the data elements.

②. Blackboard architecture style. The blackboard architecture consists of three parts: knowledge source, blackboard, and control. The knowledge source includes several different units for Independent Computing. It provides problem-solving knowledge. The knowledge source responds to changes on the blackboard and only modifies the blackboard. The blackboard is a global database that contains all the states of the domain to be resolved. It is the only medium for knowledge sources to interact with each other. The knowledge source response is controlled by changes in the blackboard status. The blackboard is usually used in systems that do not have deterministic algorithms for solving problems, such as signal processing, problem planning, compiler optimization, and other software systems.

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.