Please enable JavaScript.
Coggle requires JavaScript to display documents.
Data-Centered Software Architecture - Coggle Diagram
Data-Centered Software Architecture
Overview
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
Consists of two types of components
Data Store
Software component agents
The shared data module provides
Deletion
Update
Insertion
Retrieval
Data-centered SW Architecture is characterized by
A centralized data store that is shared by all surrounding software components
Classification
Classified into two categories (based on Flow Control Strategy)
Blackboard
Flow of logic is determined by the current data status
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 …
The clients of a blackboard system are called
Knowledge sources
Listeners or subscribers
Example
Knowledge-based AI system
voice and image recognition system
Security system
Business resource management systems.
Clients are inactive/passive
Data store is active
Repository
Clients of the data store are active
Its clients taking control of flow logic
Client may access the repository
Interactively
Batch transaction
Examples
Database management system
Library Information system
Interface repository in CORBA
UDDI registry for Web Services
CASE tools – IBM Rational Rose
IDE (Interactive Development Endowment)
Data store is passive
Variants of Data Repository
Benefits
Security management in terms of scope of data of manipulation for different users
Simplify the overall complexity of overall database structure
Virtual repository
Most DB allows users to create views that are virtual repositories since they do not exist physically.
Built up on the top of multiple physical repositories
Other issues - concerns
Vertical or horizontal partitions
Synchronization of duplicated data
Cost of data transmission
Collaboration (two-phase transaction commitment)
Distributed repository system (distributed database system)
All data are distributed over all sites linked by network
Improve reliability and local accessibility
Data are replicated in order to
Summary: Data Repository
Benefits
Data integrity:
easy to backup and restore,
System scalability and Reusability of agents:
Reduce the overhead of transient data between software components
Application Domain
Data transactions drive the control flow
Suitable for large complex information system
Cons
Data store reliability and availability
High dependency between data structure of data store
Overhead cost of moving data on network
Blackboard Architecture Style
Introduction
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
Blackboard system:
starting with a problem specification and ending with a solution.
A common knowledge base, the "blackboard", is iteratively updated by a diverse knowledge sources,
Overview
Consists of three partitions
Knowledge Source:
stores domain specific knowledge
controller
initiating the blackboard and knowledge sources
Blackboard:
Used to store data (Hypothesis and fact)
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
Blackboard: variation of data-centric
Blackboard Arch. in Box-Line
Properties
Each knowledge source is relatively independent
They don’t need to interact with each other
Only interact and respond to the blackboard subsystem
Summary - Blackboard
Pros
Concurrency: all knowledge sources can work in parallel
Reusability of knowledge source agents
Scalability: easy to add new knowledge source
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.
Application Domain
The problem spans multiple disciplines, each of which has complete different knowledge expertise
Optimal, partial, or approximate solution is acceptable
Suitable for solving immature and complex AI problems
Exhausted searching is impossible.