3. Robotic Studio
CCR
Concurrency and Coordination Runtime
DSS
Decentralized Software Services
VPL
Visual Programming Language
VSE
Visual Simulation Environment
4. Que es una aplicación de
Robótica?
Bumper 2
Motor (Sensor)
Message Infrared
Box Orchestrator detector
(Actuator) (Sensor)
Bumper 1
Motor
(Sensor)
6. CCR = 3 en 1
var portInt = new Port<int>();
portInt.Post(10);
Console.WriteLine(portInt.ItemCount);
Dispatcher dispatcher = new Dispatcher();
DispatcherQueue taskQueue = new DispatcherQueue(“cola", dispatcher);
Arbiter.Activate(
taskQueue,
portInt.Receive(delegate (int item) {
Console.WriteLine("Received item:" + item);
}
));
// Continúa la ejecución en paralelo
7. Performance ?
Service-to-Service message throughput:
Same process (with full cloning): 50,000
msgs/second
Cross node, cross machine: 3,000 msgs/sec
Numbers from dual core 1.8GHz, 2GB RAM
8. CCR Primitives
Single item receiver
Executes code when a message arrives
Choice arbiter
Chooses one receiver (join or single item) from many, across
different ports, executes only first one with conditions met,
discarding others
Join expressions
Static join expressions
Dynamic over a runtime specified number of ports and messages
Interleave arbiter
Teardown group, Concurrent Group, Exclusive Group