Please enable JavaScript.
Coggle requires JavaScript to display documents.
Software Architecture and Design Illuminated CH6 - Coggle Diagram
Software Architecture
and Design Illuminated CH6
Chapter 6: Data-Centered Software Architecture
6.1 Overview
Data-centered SW Architecture is characterized by
A centralized data store that is shared by all surrounding software components
Consists of two types of component
Data Store
Software component agents
The connection between the data module and the software components is either implemented by
Explicit method invocation or Implicit method invocation
Software component does not communicate directly
Via data store
The shared data module provides
Insertion
Deletion
Update and Retrieval
6.2 Repository Architecture Style
**Classification
into two categories (based on Flow Control Strategy)**
Repository
Data store is passive
Clients of the data store are activIts clients taking control of flow logice
Its clients taking control of flow logic
Client may access the repository
Example
Database management system
Library Information system
Interface repository in CORBA
UDDI registry for Web Services
CASE tools – IBM Rational Rose
IDE (Interactive Development
Endowment)
Blackboard
Data store is active
Clients are inactive/passive
Flow of logic is determined by the current data status
The clients of a blackboard system are called
Knowledge sources
Listeners or subscribers
A new data change may trigger events so that the knowledge sources take actions to respond to these events. These actions may result in new data and change in logic flow …
Example
Knowledge-based AI system
voice and image recognition system
Security system
Business resource management systems
Variants of Data Repository
Virtual repository
Built up on the top of multiple physical repositories
Most DB allows users to create views that are virtual repositories since they do not exist physically.
Benefits
Simplify the overall complexity of overall database structure
Security management in terms of scope of data of manipulation for different users
Distributed repository system (distributed database system)
All data are distributed over all sites linked by network
Data are replicated in order to
Improve reliability and local accessibility
Other issues - concerns
Vertical or horizontal partitions
Synchronization of duplicated data
Cost of data transmission
Collaboration (two-phase transaction commitment)
Summary: Data Repository
Application Domain
Application Domain
Data transactions drive the control flow
Benefits
Data integrity: easy to backup and restore,
System scalability and Reusability of agents: Reduce the overhead of transient data between software components
Cons:
Data store reliability and availability
High dependency between data structure of data store
Overhead cost of moving data on network
6.3 Blackboard Architecture Style
Introduction
Blackboard system:
A common knowledge base, the "blackboard"
, is iteratively updated by a diverse knowledge sources
starting with a problem specification and ending with a solution.
1st Blackboard arch. developed in 1970’s
mainly used for
Speech recognition
Weather forecast
Motivated by classroom teaching
Blackboard
Teacher and students (agents) solve problems together
Agents can work collaboratively or independently
Overview
Blackboard: variation of datacentric
Consists of three partitions
Blackboard:
Used to store data (Hypothesis and
fact)
Knowledge Source:
stores domain specific
knowledge
Controller
initiating the blackboard and knowledge
sources
How does it work?
Data driven – a change in the data stored in Blackboard triggers one or more knowledge source might lead to more changes
Summary
Application Domain
Suitable for solving immature and complex AI problems
The problem spans multiple disciplines, each of which has complete different knowledge expertise
Optimal, partial, or approximate solution is acceptable
Exhausted searching is impossible.
Pros
Suitable for solving immature and complex AI problems
The problem spans multiple disciplines, each of which has complete different knowledge expertise
Optimal, partial, or approximate solution is acceptable
Exhausted searching is impossibl
Cons
Tight dependency between the blackboard and knowledge source
Synchronization of multiple agents is an issue
Debugging and testing of the system is a challenge