As technology develops and becomes more accessible, people find new ways of exploiting the technology to achieve new objectives. The manufacturing industry is a pertinent example of how technology can transform productivity and increase quality through improved repeatability, often using mechanisation and automation.
The industrial revolution is recognised as a step-change in the technology that was utilised to increase efficiencies, by enabling steam engines to mechanise and, to some degree, automate production processes.
Various subsequent technological developments such as the use of electricity to facilitate automated production and assembly lines (Industry 2.0), followed by enhanced control through the use of embedded electronic systems and microprocessors (Industry 3.0), has led to the current thinking that we are now in an era that is referred to as Industry 4.0, where the individually controlled physical systems are connected to enable new ways of collaboration, by way of networking and the internet. This has given rise to the label of “Cyber Physical Systems” or CPS.
But what is a CPS?
As the concept matures there are many variations as to how people might describe a CPS, but the following characteristics are common to a lot of definitions:
- A CPS has tightly coupled computational and physical components that can reason and interact with their environment
- A CPS is a conglomeration of software, embedded processing, and real-time sensing and actuation
A Framework for Cyber-Physical Systems was released by the National Institute of Science and Technology CPSP Working Group on May 26, 2016. The working group published a definition of a CPS as follows:
“Cyber-Physical Systems or `smart’ systems are co-engineered interacting networks of physical and computational components. These systems will provide the foundation of our critical infrastructure, form the bases of emerging and future smart services, and improve our quality of life in many areas.”National Institute of Science and Technology CPSP Working Group, May 26, 2016
Like any new technology, there is a temptation to use a label at every opportunity, and many systems have become re-badged as CPS.
When we think about whether a system should be considered as a CPS, we really need to think about the characteristics that distinguish a CPS, from a system that uses sensors, does some processing, and is connected to a network.
Depending on your perspective, there are some subtleties that help us identify a CPS. Some examples might be:
Ubiquity – there is an expectation that a CPS facilitates ‘processing everywhere’, and that the processing is enhanced (or ‘distributed”) as a consequence of interconnected-ness. As such there is a potential move from humans interacting with systems to enable the transfer of insight and inference between systems, to fully distributed, autonomous systems that exchange pertinent knowledge on a need to know basis.
Complexity – a CPS should enable new possibilities to be realised, and this should also account for unforeseen or un-planned emergent scenarios.
Delegation and trust – we have already grown accustomed to using computers to automate boring, repetitive, or even dangerous tasks. Many manufacturing jobs that used to exist became extinct with the advent of technology. However, if we are to delegate responsibility to a CPS, we need tone able to trust that not only will it achieve the correct outcome (whatever ‘correct’ means), but that it will achieve the goal in a way that is acceptable to us. How we perceive a task, and how it should be completed, suggests that we shall probably expect a CPS to be modelled and designed in a more human-centric way than we have perhaps approach computer controlled system design in the past. For instance, humans like to interact through speech and conversation, so a CPS may need to incorporate this capability into its interface, Similarly a CPS may need to ‘see’ and recognise objects.
We can now see that such systems are extremely complex, and the complexity is at a scale that cannot be comprehended easily without specific design tools to abstract the designers away from the minutiae.Key questions to consider are:
- how do we plan to build a CPS?
- how do we model an existing CPS?
- how will I know that the system will behave as I expect it to?
- how will it react in the way I want?
To summarise, the following is a set of attributes that we might use to categorise a CPS:
- there is a cyber capability (i.e. networking and computational capability) in every physical component;
- the sub-systems are networked at multiple and extreme scales;
- the system is complex at multiple temporal and spatial scales;
- the components dynamically reorganise and reconfigure to meet existing and emerging goals;
- control loops are closed at each spatial and temporal scale, and maybe there is a human in the loop;
- their operation needs to be dependable and in certain cases certifiable as well;
- the computation/information processing and physical processes are so tightly integrated that it is not possible to identify whether behavioural attributes are the result of computations (computer programs), physical laws, or both working together.
As such, not every system controlled by a digital controller is a CPS; it may or may not be depending on the specifications and the design approach taken.