I’ve begun to design a framework for a robot I’m going to build. The control-software is – for reasons of later portability and also for the challenge herein – an attempt at mimicking the human system (of course drastically simplified). Thus the framework has a nervous system, consisting of a brain and spinal cord, the latter through which the brain controls the sensors and ‘limbs’ of the peripheral nervous system – i.e. the robots camera, microphones, motorcontrols and so on.
My challenge is in that I can’t figure out how to send commands from the brain – via the spinal cord – to the sensor objects, initialized by the peripheral nervous system controller. In my implementation, the spinal cord is a tcp/ip server, accepting connections from the sensors and sending them up to the brain. How would something like this be accomplished? The brain has an awareness of the sensory objects, but it shouldn’t be able to instantiate them – this is only for the peripheral nervous system. So how to call functions on those sensor objects, from the brain via the spinal cord, to the peripheral nervous system and finally to the sensor in question?
As far as I understand the best solution would be to use:
Brain will hold sensory objects which in fact (going back to programming language) will be transparent proxies to real sensory objects residing in a nervous system.
I’m not sure whether spinal cord fits into WCF/.NET Remoting architecture but one could consider it a communication channel which will be employed by the mentioned technologies.