0% found this document useful (0 votes)
1K views4 pages

Taxonomy of Software Architectural Styles

The document discusses different architectural styles: 1. Data centered architectures feature a central data store accessed by client components that can add, modify, or delete data. This promotes flexibility allowing new clients. 2. Data flow architectures transform input data through a series of processing components connected by pipes to pass output to the next. 3. Call and return architectures decompose a program into subprograms or functions organized hierarchically with main programs invoking subprograms.

Uploaded by

Mason Mount
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views4 pages

Taxonomy of Software Architectural Styles

The document discusses different architectural styles: 1. Data centered architectures feature a central data store accessed by client components that can add, modify, or delete data. This promotes flexibility allowing new clients. 2. Data flow architectures transform input data through a series of processing components connected by pipes to pass output to the next. 3. Call and return architectures decompose a program into subprograms or functions organized hierarchically with main programs invoking subprograms.

Uploaded by

Mason Mount
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
  • Taxonomy of Architectural Styles
  • Flow-Based and Call Architectures
  • Architecture Layers Visualization
  • Layered and Object Oriented Architectures

Taxonomy of Architectural styles:

1. Data centred architectures:


 A data store will reside at the centre of this architecture
and is accessed frequently by the other components that
update, add, delete or modify the data present within the
store.
 The figure illustrates a typical data centred style. The
client software access a central repository. Variation of
this approach are used to transform the repository into a
blackboard when data related to client or data of interest
for the client change the notifications to client software.
 This data-centred architecture will promote integrability.
This means that the existing components can be changed
and new client components can be added to the
architecture without the permission or concern of other
clients.
 Data can be passed among clients using blackboard
mechanism.
Data flow architectures:
 This kind of architecture is used when input data to be transformed
into output data through a series of computational manipulative
components.
 The figure represents pipe-and-filter architecture since it uses both
pipe and filter and it has a set of components called filters
connected by pipes.
 Pipes are used to transmit data from one component to the next.
 Each filter will work independently and is designed to take data
input of a certain form and produces data output to the next filter of
a specified form. The filters don’t require any knowledge of the
working of neighbouring filters.
 If the data flow degenerates into a single line of transforms, then it
is termed as batch sequential. This structure accepts the batch of
data and then applies a series of sequential components to
transform it.

Call and Return architectures: It is used to create a program that is easy to


scale and modify. Many sub-styles exist within this category. Two of them
are explained below.
 Remote procedure call architecture: This components is used to
present in a main program or sub program architecture distributed
among multiple computers on a network.
 Main program or Subprogram architectures: The main program
structure decomposes into number of subprograms or function into
a control hierarchy. Main program contains number of subprograms
that can invoke other components.
6
Object Oriented architecture: The components of a system
encapsulate data and the operations that must be applied to
manipulate the data. The coordination and communication between
the components are established via the message passing.

Layered architecture:
 A number of different layers are defined with each layer
performing a well-defined set of operations. Each layer will
do some operations that becomes closer to machine
instruction set progressively.
 At the outer layer, components will receive the user
interface operations and at the inner layers, components
will perform the operating system
interfacing(communication and coordination with OS)
 Intermediate layers to utility services and application
software functions.

Common questions

Powered by AI

Message passing in object-oriented architecture allows components to coordinate and communicate efficiently by sending and receiving messages to trigger operations. This encapsulation of data and functionality promotes modularity, reusability, and the ability for components to interact dynamically and flexibly .

Data-centered architecture enhances integrability by allowing components to access and modify the central data store without needing permission or concern from other clients. This structure permits existing components to be changed and new client components to be added independently, promoting flexibility and adaptability .

An architecture following the main program or subprogram design is easy to scale and modify due to its hierarchical decomposition. The main program can be broken down into smaller, manageable subprograms or functions, each responsible for specific tasks, allowing for isolated development and scaling. Modifications can be made to individual subprograms without impacting the entire program structure .

Batch sequential transformations are distinguished by their handling of data in batches, processing each batch through a linear series of sequential components. Unlike other data flow architectures where data could flow through a complex network of processing nodes, batch sequential structures process data in a single linear path, applying a series of transformations one after another .

The pipe-and-filter architecture facilitates the transformation process by connecting filters, which are components designed to process data of a certain form, with pipes that transmit data between components. Each filter works independently, processing the data it receives and producing an output for the next filter, allowing a seamless and modular data transformation process .

The blackboard system within a data-centered architecture allows data to be shared and synchronized among clients seamlessly. This mechanism enables real-time updates and notifications for client applications when data of interest changes, facilitating dynamic interactions and efficient data interchange without direct mutual dependencies .

The use of a blackboard mechanism is preferable in situations where complex data sharing and integration are required among multiple clients. It supports applications needing a high degree of synchronization and real-time data updates without direct communications between clients. This approach is ideal in dynamic environments where data changes frequently and clients need to react promptly .

The remote procedure call architecture involves components distributed across multiple networked computers, allowing procedures to be executed on remote systems. In contrast, the main program and subprogram architecture consists of a control hierarchy where a main program decomposes into a number of subprograms or functions, all contained within a singular, potentially local, program structure .

Layer definitions in a layered architecture contribute to efficient operations by clearly delineating responsibilities and operations at each level. With outer layers handling user interactions and inner layers managing system-level interfacing, each layer performs predefined tasks that align closer to the machine instruction set, enabling efficient communication and process handling across the system .

Intermediate layers in a layered architecture provide utility services and application software functions that serve as bridges between the user interface operations handled by outer layers and the operating system interfacing tasks performed by inner layers. These layers abstract complex functionalities, easing the interaction between different software components and the hardware .

Taxonomy of Architectural styles:
1. Data centred architectures:

A data store will reside at the centre of this architectur
Data flow architectures:

This kind of architecture is used when input data to be transformed 
into output data through a se
Object Oriented architecture: The components of a system 
encapsulate data and the operations that must be applied to 
manipu

You might also like