This paper contains robot and machine maker automation software fundamentals.
"CIP is a model-based software development method for embedded systems. The problem of constructing an embedded system is decomposed into a functional and a connection problem. The functional problem is solved by constructing a formal reactive behavioural model.
A CIP model consists of concurrent clusters of synchronously cooperating extended state machines. The state machines of a cluster interact by multicast events.