Responding to the requests of industrial customers such as Siemens and Tyco, Microsoft recently made two development tools originally released as part of the Microsoft Robotics Developer Studio available in their own separate toolkit. One of the tools delivers concurrency and coordination runtime (CCR) and the other decentralized software services (DSS).
According to the company, the Microsoft CCR and DSS Toolkit 2008 offers .NET and Compact Framework class libraries and tools that enable developers to “better deal with the inherent complexities in creating loosely-coupled concurrent and distributed applications.” The company announced the spin-out at its Professional Developers Conference at the end of October. “We created the libraries to help deal with the complexities in writing asynchronous and distributed code,” says Tandy Trower, general manager of Microsoft Robotics. “It’s difficult to create a multithreaded program with modules that run concurrently, asynchronously or in parallel. It’s difficult to do not just where you have a multi-core processor, but also have the same model be applied across the network.” The CCR tool helps developers write asynchronous applications, while the DSS tool helps distribute the application across a network of multiple machines using the same software model.
When Microsoft customers asked to use the tools in industrial applications, Microsoft agreed to create the spin-off toolkit. The tools were originally created for general purpose development, but were added to the robotics development kit when it was released in 2006 because “robots have lots of sensors and actuators, with a lot of things going on at the same time,” says Trower. “Mechatronics and automation are just a different form of that kind of activity. This toolkit works anywhere you have multiple processes that need to be coordinated.” “Robots are complex systems with lots of I/O,” says Software Architect George Thrysanthakopoulous, who works in the robotics group. But he says the tools have applicability in other engineering scenarios.
“Mechatronics is all about I/O.” The CCR/DSS toolkit also includes a visual programming language, which allows people to build applications through drag-and-drop modules, each representing a discrete service.Linking them together lets messages flow through them, and the result is human-readable C# code for prototyping. It also includes a tool to create the distributed scenario. Trower says, “When it’s compiled, the code is distributed on each machine, but it’s executed together.” The cost for one developer’s set is $399.95, with unlimited redistribution of runtime components.
For industrial control applications, or even a simple assembly line, that machine can go almost 24/7 without a break. But what happens when the task is a little more complex? That’s where the “smart” machine would come in. The smart machine is one that has some simple (or complex in some cases) processing capability to be able to adapt to changing conditions. Such machines are suited for a host of applications, including automotive, aerospace, defense, medical, computers and electronics, telecommunications, consumer goods, and so on. This discussion will examine what’s possible with smart machines, and what tradeoffs need to be made to implement such a solution.