36c79f3a2e94b711f9705593e3e39f5d6566054e
This commit significantly restructures the way we setup threading in SMO. We now don't use the CRT main() thread at all. It's only used as a mechanism to ensure that Marionette doesn't execute before global constructors have been executed. JOLTing: This is a simple ASIO post()ed message that makes each thread setup its thread-local data pointer to its own ComponentThread object, and then enter its main ASIO run() loop to await commands from Marionette. Exception bubbling: We now cleanly cause mind threads to report their exceptions to marionette, so that marionette can cleanly shut the mind down in an orderly fashion. Thread Control messaging API: A namespace of asynchronous messages to be post()ed to threads to control them. It enables us to pause and resume threads. This will be very useful for Marionette when we add the ability for it to suspend Salmanoff's running mind, inject new goals, inspect current state, etc; and then resume the mind's execution.
The Salmanoff Project:
This project, Salmanoff (pronounced: Sal-man-off), is an ROS rewrite of the Harikoff project. The name is more reflective of the people whose ideas sparked the solutions in my mind. These people are:
- Greg
SALmieri. - David Harri
MAN. - Leonard Peik
OFF.
Would you like to know what this project is and does? Well, it's a secret! But you can find out by reading the code. Or you could just ask me. Or you could wait until I release it. But that's no fun.
Description
Yeah. You would definitely like to know what this project is and does, mm?
agiaiartificial-general-intelligencecombinatorial-logiccomparabilityconceptsepistemologyethicsgoalsinductionintrinsic-valencymetaphysicsroboticssimilarityvolition
Readme
5.8 MiB
Languages
C++
89.4%
CMake
6.1%
C
2.3%
Shell
1.3%
GDB
0.6%
Other
0.3%
