One of the attractions of Cyber Physical Systems thinking is that it has the potential to not only automate tasks that humans don’t/can’t do, but also there is the possibility of task delegation.
From the human managers perspective, we can describe goals to staff (the “what”) and expect them to achieve the goal, without having to describe “the how”. The assumption in this case is that the staff member who is being delegated to has the capability to achieve a goal and knows “how” to do it.
In effect, when we manage humans we rely on, and often exploit the agency that individuals have. This agency allows them to take decisions in response to a situation, without the delegator becoming involved.
If we think of a human organisation as a domain for a CPS, there are a set of challenges that people deal with on a day-to-day business, such as:
- an organisation typically has more than one employee, and there are numerous other stakeholders (suppliers, customers, regulators, etc.) that interact with the business. A human agent needs to be able to deal with decision-making that might be both collective and distributed;
- the collection of stakeholders, who themselves have their own goals, agendas and capabilities, leads to a system that has complexities; there may be many ways to achieve something, and depending upon the stakeholders involved new possibilities may emerge as a result of new interactions;
- successful delegation assumes trust, both in the ability to achieve a goal, but also in the most optimal way for a business as its resources are constrained;
- systems that involve humans must suit the needs of humans. Humans interact in a variety of ways, including speech and visually, which means that the operational methods need to harness this to be successful.
These challenges set quite a challenge for the design and specification of a CPS.
How do we even approach the planning of such a system? How do we model an existing CPS, or a system that we want to convert to a CPS?
How do we know that the result will behave as we expect it too?
We are, in effect describing a multiagent system (MAS). A MAS is a collection of agents that interact with each other to achieve system or individual goals.
A community of people is a MAS, such as a team, a department, a manufacturing plant, or even a supply chain.
At the micro level, we are interested in how an individual agent goes about its business.
At the Macro perspective, we are concerned with how agents interact to achieve their desires, being conscious that as each agent has agency, it is feasible that they do not always have the same set of goals.
In contrast with traditional enterprise application design, a MAS does not have formal control encoded into the DNA of its agents; a MAS relies upon communication between agents as the enabler of action and achievement.
What is an agent?
The simplest explanation is that an agent is an entity that can sense and act upon its environment. Sensing and actuation are of course fundamental components of a CPS. The link between sensing and actuation is some form of intelligence.
From Wooldridge and Jennings (1995):
“An agent is a computer system that is situated in some environment, and that is capable of autonomous action in this environment in order to meet its design objectives”.
So, intelligent agents:
- have autonomy
- act with a specific purpose;
- are situated in an environment.
Autonomy is an essential characteristic if we want to delegate complex tasks to intelligent agents. We want our agents to act in response to unforeseen and unpredictable events, though we still want to retain ultimate control over an agent if things go wrong.
An intelligent agent has the following properties:
- reactive: it provides a timely response to the sensed environment;
- proactive: the agent’s behaviour is directed towards a goal;
- autonomous: the agent will take the initiative when required;
- social: an agent will cooperate and coordinate with other agents;
- intelligent: the agent will be able to reason between its senses and its own knowledge base.
A rational agent is said to be able to balance reactive and proactive behaviours. We don’t want our agent to react to every situation, and conversely we don’t want an agent that procrastinates by constantly planning, though some human managers may recognise both of these behaviour in human staff!
Agency as a design metaphor
Agents and agency help us understand human societies at all levels as the assist us to abstract ourselves away from the complex detail.
Agents are perhaps the ultimate “black box” approach to encapsulation that is a feature of Object Oriented software development.
In the same way that a capable employee can be re-deployed onto a different task, a software agent is reusable in different settings.
Indeed, the new environment may not have been present when the agent was designed originally, and it is this level of adaptation that is required by a future CPS.
MAS also assist in the modelling of interactions within a system, and game theoretic models of interaction can be explored. Such modelling can allow us to observe the effects of more sophisticated emergent behaviours between agents, such as coalition forming, bargaining and negotiation.
In a sense, we take such behaviours for granted in human systems, but these are exactly the behaviours that a CPS must possess if we are to delegate any meaningful work to one.
Agent Oriented Software Engineering (AOSE) is an approach to the modelling and design of systems using the properties of agency. One example of a situation that involves the interaction between two agent actors is illustrated in the Contract Net protocol below:
This protocol defines the communicative acts that need to take place between the two actors (agents), and in itself creates a specification for the behaviours that each of the agents require to function correctly when negotiating a transaction.
Isn’t agency just Artificial Intelligence?
There is a a view that AI is limited to the study of the atomic elements that contribute to intelligence: reasoning, planning, learning and perceiving. Agency includes communication as a means by which the atomic components can be combined, and as such a MAS is actually distributed AI.