Software design and architecture (Lecture Notes) – Chapter 12: Shared data software architecture. An architecture style (also known as an “architecture pattern”) abstracts the common properties of a family of similar designs. Define a family of systems in terms of a pattern of its structural organization. | SOFTWARE DESIGN AND ARCHITECTURE LECTURE 12 Review Shared Data Software Architectures Central Repository Architecture Outline Shared Data Software Architectures Black board Style architecture Shared data Software Architecture Shared Data Software Architecture Data-centered software architecture is characterized by a centralized data store that is shared by all surrounding software components. The software system is decomposed into two major partitions: data store and independent software component or agents. Shared Data Software Architecture The connections between the data module and the software components are implemented either by explicit method invocation or by implicit method invocation. Shared Data Software Architecture In pure data-centered software architecture, the software components don't communicate with each other directly; instead, all the communication is conducted via the data store. The shared data module provides all mechanisms for software components to access it, such as insertion, deletion, update, and retrieval. Shared Data: The high level design solution is based on a shared data-store which acts as the “central command” with 2 variations: Blackboard style Repository style Blackboard architecture Blackboard architecture The blackboard architecture was developed for speech recognition applications in the 1970s. Other applications for this architecture are image pattern recognition and weather broadcast systems. Blackboard architecture The word blackboard comes from classroom teaching and learning. Teachers and students can share data in solving classroom problems via a blackboard. Students and teachers play the role of agents to contribute to the problem solving. They can all work in parallel, and independently, trying to find the best solution. Blackboard architecture It is a data- directed and a partially data-driven architecture. Blackboard architecture The entire system is decomposed into two major partitions. One partition, called the . | SOFTWARE DESIGN AND ARCHITECTURE LECTURE 12 Review Shared Data Software Architectures Central Repository Architecture Outline Shared Data Software Architectures Black board Style architecture Shared data Software Architecture Shared Data Software Architecture Data-centered software architecture is characterized by a centralized data store that is shared by all surrounding software components. The software system is decomposed into two major partitions: data store and independent software component or agents. Shared Data Software Architecture The connections between the data module and the software components are implemented either by explicit method invocation or by implicit method invocation. Shared Data Software Architecture In pure data-centered software architecture, the software components don't communicate with each other directly; instead, all the communication is conducted via the data store. The shared data module provides all mechanisms for software components to access it,