1 / 13

Blackboard Style and Blackboard Platforms

Blackboard Style and Blackboard Platforms. CPSC 410. Problem. In traditional programming: We prefer to look at each component as a black box. In concurrent and distributed programming: We need mechanisms for controlling interactions between the autonomous components

argus
Télécharger la présentation

Blackboard Style and Blackboard Platforms

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Blackboard Style and Blackboard Platforms CPSC 410

  2. Problem In traditional programming: • We prefer to look at each component as a black box. In concurrent and distributed programming: • We need mechanisms for controlling interactions between the autonomous components • “Come and go as they please” • Turn on/off • Connect/Disconnect • Plug in/Plug out • Fail/Crash

  3. Fallacies of distributed computing • The network is reliable. • Latency is zero. • Bandwidth is infinite. • The network is secure. • Topology doesn't change. • There is one administrator. • Transport cost is zero. • The network is homogeneous. See also CPSC 416! http://en.wikipedia.org/wiki/Fallacies_of_distributed_computing

  4. Blackboard Architecture • Components • Active Data Storage • Agents (aka Knowledge Sources) • Connectors • Data publication • Data subscription Active Data Storage publish/subscribe Agent C Agent A Agent B

  5. Lunar lander in BB style

  6. Blackboard example • See (and clone) http://github.com/UBC-CS410/PublicMessenger • Very simple demonstration using sockets.

  7. Connectors: Blackboard Architecture • Data subscription • Agents can register interest in data using patterns (somewhat like queries) • Subscription remains in affect until data is available • Critical difference compared to database queries • Provides temporal decoupling • Simplifying synchronization • Data publication • All communication between agents done by modifying active data storage • Similar to traditional database updates except also trigger notification to subscribers

  8. Components: Blackboard Architecture • Active Data Storage • Database + Coordination System • Stores data • Also tracks which agents are interested in what data • Notifies agents when data is available • Pushes notifications to agents • Agent clients don’t need to poll • Agent • “Clients” of the blackboard • Different from Client/Server • Agents contain all intelligence in the system • There is no application layer server code • aka Knowledge Sources

  9. Blackboard Example: CMU Robotics • “The CMU Navlab group builds robot cars, trucks, and buses, capable of autonomous driving or driver assistance” • Data Storage • information the Robot knows of its environment • Agents • Robot parts/sensors • Actually software components that control robot parts Robot parts share data and react to changes of environment … But parts do not directly depend on each other … Some parts can fail or be destroyed without compromising the entire robot

  10. Example: Production-line scheduling • http://www.ri.cmu.edu/pub_files/pub2/sadeh_koniecpol_norman_1998_1/sadeh_koniecpol_norman_1998_1.pdf

  11. Contrast to other Arch. Styles • Just to point out a few differences… • No preplanning, support autonomous agents • Virtual Machine • BB does not focus on abstraction • Client/Server • BB generally has no server-side application functions • Dataflow • BB has bi-directional sending of data • Compared to all 3 above • BB has star-topology

  12. Blackboard Platforms • Programming technology to implement blackboard-based systems • Linda • JavaSpaces • GigaSpaces • Apache River/Jini • Supplanted by Web Services and Service Oriented Architectures (next time …)

  13. Midterm Review • Format: • 45 minutes • Closed books • ~25% multiple choice/T&F • ~25% short answer • ~50% diagrams, paragraphs (note form is ok) • Topics: • AOSA presentations up to today • Lectures up to today minus Oct 3 • Readings not marked optional

More Related