際際滷

際際滷Share a Scribd company logo
GBBOpen
An interactive OOP tool for Common Lisp
Valeriy Zamarayev
@valeryz
BlackBoard Metaphor
 A group of specialists sitting a room with a
large blackboard.
 Work as a team to brainstorm a solution to
a problem.
 Everyone contributes to the blackboard,
when the information on the blackboard
allows to apply their knowledge
A bit of History
From 1970s:
 Hearsay II speech recognition
 Interpretation of sonar data for ocean
surveillance projects
More recent:
 Collaborative Network for Atmospheric Sensing
 LiftOff! (Earth observation satellite RADARSAT-1)
 DARPA Urban Challenge (C++ KOGMO RTDB)
Alternatives?
 Just use a database to store the current
state with a schema (or, some
schemaless mess) and queries?
 Tight coupling between app code and BB
 Often inefficiency
 Use an custom in-memory representation
developed specifically for the task
 There's a Flexibility vs. Efficiency tradeoff
Blackboard Subsystems
 Blackboard
 Storage of objects in hierarchical spaces
 Dimensional retrieval
 Knowledge Sources (KS)
 Control Shell
GBBOpen Tools
 Useful CLOS tools
 define-class macro
 MOP tools
 Various libs that should belong elsewhere
 Declared Numerics
 Pseudo Probabilities
 Date/Time
 Datastructures
GBBOpen Tools
 Portable Threads
 Scheduled / Periodic Functions
 Sockets
 Double Metaphone
 Etc etc etc.
 Even Modules (like ASDF, why?)
GBBOpen CORE
 Links (bidirectional automatically verified)
 Events
 Spaces
 Instance Retrieval
Persistence? Streaming?
 Implemented Journaling
 Prevalence-like persistence possible
 Other backends can be implemented (but
not at the moment)
Persistence? Streaming?
 Implemented Journaling
 Prevalence-like persistence possible
 Other backends can be implemented (but
not at the moment)

More Related Content

Gbb open presentation

  • 1. GBBOpen An interactive OOP tool for Common Lisp Valeriy Zamarayev @valeryz
  • 2. BlackBoard Metaphor A group of specialists sitting a room with a large blackboard. Work as a team to brainstorm a solution to a problem. Everyone contributes to the blackboard, when the information on the blackboard allows to apply their knowledge
  • 3. A bit of History From 1970s: Hearsay II speech recognition Interpretation of sonar data for ocean surveillance projects More recent: Collaborative Network for Atmospheric Sensing LiftOff! (Earth observation satellite RADARSAT-1) DARPA Urban Challenge (C++ KOGMO RTDB)
  • 4. Alternatives? Just use a database to store the current state with a schema (or, some schemaless mess) and queries? Tight coupling between app code and BB Often inefficiency Use an custom in-memory representation developed specifically for the task There's a Flexibility vs. Efficiency tradeoff
  • 5. Blackboard Subsystems Blackboard Storage of objects in hierarchical spaces Dimensional retrieval Knowledge Sources (KS) Control Shell
  • 6. GBBOpen Tools Useful CLOS tools define-class macro MOP tools Various libs that should belong elsewhere Declared Numerics Pseudo Probabilities Date/Time Datastructures
  • 7. GBBOpen Tools Portable Threads Scheduled / Periodic Functions Sockets Double Metaphone Etc etc etc. Even Modules (like ASDF, why?)
  • 8. GBBOpen CORE Links (bidirectional automatically verified) Events Spaces Instance Retrieval
  • 9. Persistence? Streaming? Implemented Journaling Prevalence-like persistence possible Other backends can be implemented (but not at the moment)
  • 10. Persistence? Streaming? Implemented Journaling Prevalence-like persistence possible Other backends can be implemented (but not at the moment)