0
2.4kviews
What types of application are applicable for following styles and give example of each:

i. Event based

ii. Pipe and Filter

iii. Layered

iv. Mobile Code

v. Black board

Mumbai University > Computer engineering > Sem 7 > Software Architecture.

Marks: 10 M

Year: Dec 12

1 Answer
0
28views

Event based:

Here the components are independent and communicate asynchronously.

The qualities are that they are

  • Highly scalable
  • Easy to evolve
  • Effective for highly distributed heterogeneous applications. Example: User interface software, wide-area applications involving independent parties.

Pipe and Filter: Here, separate programs are executed potentially and concurrently. The data is passed as a stream from one program to another. The qualities are that simple structure of incoming and output streams facilitates novel combinations of filters for new and composed applications. Example: Operating system application programming.

Layered:

The essence of layered style is that an architecture is separated into ordered layers wherein a program from one layer may obtain services from a layer below it. They are of 2 types:

1. Virtual Machines:

Here, a layer offers a set of services that may be accessed by at least programs residing within the layers above it. It consist of ordered sequence of layers, each of which offers a set of services that may be accessed by programs residing within the layers above it.

The qualities are:

  • It has a clear dependence structure
  • The software at upper level is immune to changes of implementations at lower levels as long as service specifications are invariant. Example: Operating System Design

2. Client-Server:

Here, client send service request to the server which performs the required functions and replies as needed with the information available in the request.

The qualities are:

  • Centralization of computation and data at the server
  • A single powerful server can serve many clients. Example: Filezilla, phpmyadmin

Mobile Code:

This style enables code to be transmitted to remote host for interpretation. This may be due to lack of local computing power, lack of resources or due to large data sets remotely located. Mobile code may be classified as code-on-demand, remote evaluation or mobile agent depending on where the code is being transmitted, who requested the transmission and where the program state resides

The qualities yielded are

  • dynamic adaptability
  • aggregate computing power of available host is used
  • Increased dependability through provision of migration to new host. Example: When processing large data sets in distributed locations, it becomes more efficient to move the code to location of these large data sets.

Blackboard:

Here, independent programs access and communicate exclusively through a global data repository known as blackboard. In one version, programs poll the blackboard to determine if any values of interest have changed. In other version, a blackboard manager notifies interested components of an update to the blackboard. The qualities that it provides are

  • Complete solution strategy to complex problems without any preplan
  • Evolving views of data/ problem to determine the strategies that are adopted. Example: Heuristic problem solving in artificial intelligence applications.
Please log in to add an answer.