0% found this document useful (0 votes)
14 views14 pages

Lecture 7 - SDaA

Uploaded by

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

Lecture 7 - SDaA

Uploaded by

qg6rtwm8f2
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 14

Software Design and

Architecture

Data Centered Architecture

Chapter 6 of Kia Qian Book


Data-centered Architecture

• Data-centered software architecture is characterized by a


centralized data store that is shared by all surrounding software
components.
• There are two main components
• A Central data structure or data store or data repository, which is responsible
for providing permanent data storage
• A Data accessor or collection of independent components that operate on the
central data store, perform computations, and might put back the results

• There are two categories of data-centered architecture:


• repository
• blackboard.

2
Repository Architecture

• Sub-systems must exchange data. This may be done in


two ways:
• Shared data is held in a central database or repository and
may be accessed by all sub-systems;
• Each sub-system maintains its own database and passes data
explicitly to other sub-systems.
• When large amounts of data are to be shared, the
repository model of sharing is most commonly used a
this is an efficient data sharing mechanism.

3
Repository Architecture
Name Repository

Description All data in a system is managed in a central repository that is


accessible to all system components. Components do not interact
directly, only through the repository.

When used You should use this pattern when you have a system in which large
volumes of information are generated that has to be stored for a
long time. You may also use it in data-driven systems where the
inclusion of data in the repository triggers an action or tool.

Advantages Components can be independent—they do not need to know of the


existence of other components. Changes made by one component
can be propagated to all components. All data can be managed
consistently (e.g., backups done at the same time) as it is all in
one place.
Disadvantages The repository is a single point of failure so problems in the
repository affect the whole system. May be inefficiencies in
organizing all communication through the repository. Distributing
the repository across several computers may be difficult. Security,
availability, and performance issues

4
Repository Architecture

5
Blackboard Architecture

 In Blackboard Architecture style, the data store is active and its


clients are passive

 Therefore the logical flow is determined by the current data status in


data store

 In this style, the components interact only through the blackboard.


The data-store alerts the clients whenever there is a data-store
change

6
Blackboard Architecture
 This approach is found in certain AI applications and complex applications, such
as speech recognition, image recognition and business resource management
systems etc
 A major difference with traditional database systems is that the invocation of
computational elements in a blackboard architecture is triggered by the current
state of the blackboard, and not by external inputs.
Parts of Blackboard Architecture
 The blackboard model is usually presented with three major parts

 Knowledge Source (KS)


 Blackboard Data Structure
 Control
Knowledge Sources (KS)
 Knowledge Sources, also known as Listeners or Subscribers are distinct and
independent units

 Each knowledge source is a specialist at solving certain aspects of the problem


 No KS requires other KSs in making its contribution.
 Once it finds the information it needs on the blackboard, it can proceed without
any assistance from other KSs.
 KSs can be added, removed, and changed without affecting other KSs.
 Invocation of a knowledge source is dependent upon the state of the blackboard.
 Interaction among knowledge sources takes place uniquely through the
blackboard
Blackboard Data Sturcture
 Blackboard is used to store data

 Knowledge source make changes to the blackboard that lead incrementally to a


solution to the problem

 CONTROL

 Control manages tasks and checks the work state


 Control can be implemented in the knowledge source, the blackboard, externally,
or a combination of these.
Blackboard Architecture

11
Blackboard Architecture

 Advantages:
 Provides an explicit forum for the discussion of data access,
distribution, synchronization, task allocation, load redistribution.
 Scalability: easy to add or update knowledge source.
 Concurrency: all knowledge sources can work in parallel since they
are independent of each other.
 Reusability of knowledge source agents.

12
Blackboard Architecture

 Disadvantages:
 Due to the close dependency between the blackboard and knowledge source,
the structure change of the blackboard may have a significant impact on all of
its agents.
 Since only partial or approximate solutions are expected, it can be difficult to
decide when to terminate reasoning.
 Synchronization of multiple agents is an issue. Since multiple agents are
working and updating the shared data in the blackboard simultaneously, the
preference or priority of executions of multiple agents must be coordinated.
 Debugging and testing of the system is a challenge.

13
Blackboard Architecture

14

You might also like