  We consider the problem of reasoning about networked and layered control
systems using assume-guarantee specifications. As these systems are formed by
the interconnection of components that operate under various clocks, we
introduce a new logic, Multiclock Logic (MCL), to be able to express the
requirements of components form the point of view of their local clocks.
Specifying components locally promotes independent design and component reuse.
We carry out a contract-based analysis of a control system implemented via two
control algorithms (model predictive control and feedback linearization)
running on their own processors and clocks. Then we implement each of the
contracts to build a system. The system performs as desired when the
requirements derived from our system-level analysis are respected. Violating
the constraints required by the contract-based analysis of the system leads to
error.
