ControlWare

ControlWare is a library and toolkit originally designed to help programmers apply control theory to control software performance. Since its highly modularity and extensibility, it can be easily extended to experiment other solutions.

The basic abstraction provided is component. A component has several input ports, output ports and some parameters. Components are connected via their ports, and communicate with each other via an infrastructure named Softbus. Analogically, the components are the various cards in your computer box, and Softbus is the motherboard. Properly connected, several components (various number of sensors, actuators and controllers) form a control loop. The topology of a control loop is described by a template. Essentially, a template describes a general solution to a type of QoS guarantee. In other words, it maps a type of QoS guarantee problem into a single control problem.

Note that ControlWare itself makes no assumption about how the components work, thus its application is not limited to control theory. For example, you can implement a queuing predictor as a component and connect it to other components.

Please refer to the paper and the project website for detailed information. For download and documentation, please visit here.

back to home