Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

48
Autonomy, Interaction & Complexity in Computational Systems Preliminary Notes Andrea Omicini [email protected] Dipartimento di Informatica: Scienza e Ingegneria (DISI) Alma Mater Studiorum—Universit` a di Bologna a Cesena Law and Policy for Autonomous Military Systems Workshop European University Institute in Florence, Italy – 6 March 2013 Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 1 / 48

description

The issues of autonomy do not end with autonomous components. Autonomous systems are complex self-organising systems where interaction plays an essential role. Here we discuss some early thoughts on autonomy, interaction, and complexity in artificial systems, and suggest that nature-inspired coordination models should work as the main sources of technologies.

Transcript of Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Page 1: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy, Interaction & Complexityin Computational Systems

Preliminary Notes

Andrea [email protected]

Dipartimento di Informatica: Scienza e Ingegneria (DISI)Alma Mater Studiorum—Universita di Bologna a Cesena

Law and Policy for Autonomous Military Systems WorkshopEuropean University Institute in Florence, Italy – 6 March 2013

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 1 / 48

Page 2: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Outline

1 Autonomy in Programming Languages

2 Autonomy for Multi-Agent Systems

3 Autonomy in Complex Artificial Systems

4 Conclusion

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 2 / 48

Page 3: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

Outline

1 Autonomy in Programming Languages

2 Autonomy for Multi-Agent Systems

3 Autonomy in Complex Artificial Systems

4 Conclusion

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 3 / 48

Page 4: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

Evolution of Programming Languages: The Picture

[Odell, 2002]

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 4 / 48

Page 5: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

Evolution of Programming Languages: Dimensions

Historical evolution

Monolithic programming

Modular programming

Object-oriented programming

Agent programming

Degree of modularity & encapsulation

Unit behaviour

Unit state

Unit invocation

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 5 / 48

Page 6: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

Monolithic Programming

The basic unit of software is the whole program

Programmer has full control

Program’s state is responsibility of the programmer

Program invocation determined by system’s operator

Behaviour could not be invoked as a reusable unit under differentcircumstances

modularity does not apply to unit behaviour

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 6 / 48

Page 7: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

Evolution of Programming Languages: The Picture

Monolithic Programming

Encapsulation? There is no encapsulation of anything, in the very end

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 7 / 48

Page 8: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

The Prime Motor of Evolution

Motivations

Larger memory spaces and faster processor speed allowed program tobecame more complex

Results

Some degree of organisation in the code was required to deal with theincreased complexity

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 8 / 48

Page 9: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

Modular Programming

The basic unit of software are structured loops / subroutines /procedures / . . .

this is the era of procedures as the primary unit of decomposition

Small units of code could actually be reused under a variety ofsituations

modularity applies to subroutine’s code

Program’s state is determined by externally supplied parameters

Program invocation determined by CALL statements and the likes

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 9 / 48

Page 10: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

Evolution of Programming Languages: The Picture

Modular Programming

Encapsulation? Encapsulation applies to unit behaviour only

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 10 / 48

Page 11: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

Object-Oriented Programming

The basic unit of software are objects & classes

Structured units of code could actually be reused under a variety ofsituations

Objects have local control over variables manipulated by their ownmethods

variable state is persistent through subsequent invocationsobject’s state is encapsulated

Object are passive—methods are invoked by external entities

modularity does not apply to unit invocationobject’s control is not encapsulated

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 11 / 48

Page 12: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

Evolution of Programming Languages: The Picture

Object-Oriented Programming

Encapsulation? Encapsulation applies to unit behaviour & state

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 12 / 48

Page 13: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

Agent-Oriented Programming

The basic unit of software are agentsencapsulating everything, in principle

by simply following the pattern of the evolution

whatever an agent is

we do not need to define them now, just to understand their desiredfeatures

Agents could in principle be reused under a variety of situations

Agents have control over their own state

Agents are active

they cannot be invokedagent’s control is encapsulated

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 13 / 48

Page 14: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

Evolution of Programming Languages: The Picture

Agent-Oriented Programming

Encapsulation? Encapsulation applies to unit behaviour, state &invocation

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 14 / 48

Page 15: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

Features of Agents

Before we define agents. . .

. . . agents are autonomous entities

encapsulating their thread of controlthey can say “Go!”

. . . agents cannot be invoked

they can say “No!”they do not have an interface, nor do they have methods

. . . agents need to encapsulate a criterion for their activity

to self-govern their own thread of control

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 15 / 48

Page 16: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

Dimensions of Agent Autonomy

Dynamic autonomy

Agents are dynamic since they can exercise some degree of activity

they can say “Go!”

From passive through reactive to active

Unpredictable / non-deterministic autonomy

Agents are unpredictable since they can exercise some degree ofdeliberation

they can say “Go!”, they can say “No!”and also because they are “opaque”—may be unpredictable to externalobservation, not necessarily to design

From predictable through partially predictable to unpredictable

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 16 / 48

Page 17: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

Objects vs. Agents: Interaction & Control

Message passing in object-oriented programming

Data flow along with control

data flow cannot be designed as separate from control flow

A too-rigid constraint for complex distributed systems. . .

Message passing in agent-oriented programming

Data flow through agents, control does not

data flow can be designed independently of control

Complex distributed systems can be designed by designinginformation flow

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 17 / 48

Page 18: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

Philosophical Differences [Odell, 2002] I

Decentralisation

Object-based systems are completely pre-determined in control;control is centralised, and defined at design time

Agent-oriented systems are essentially decentralised in control

Small in impact

Losing an object in an object-oriented system makes the whole systemfail, or at least raise an exception

Losing an agent in a multi-agent system may lead to decreases inperformance, but agents are not necessarily single points of failure

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 18 / 48

Page 19: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Programming Languages

Philosophical Differences [Odell, 2002] II

Emergence

Object-based systems are essentially predictable

Multi-agent systems are intrinsically unpredictable andnon-formalisable and typically give raise to emergent phenomena

Analogies from nature and society

Object-oriented systems have not an easy counterpart in nature

Multi-agent systems closely resembles existing natural and socialsystems

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 19 / 48

Page 20: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy for Multi-Agent Systems

Outline

1 Autonomy in Programming Languages

2 Autonomy for Multi-Agent Systems

3 Autonomy in Complex Artificial Systems

4 Conclusion

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 20 / 48

Page 21: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy for Multi-Agent Systems

Autonomy as the Foundation of the Definition of Agent

Lex Parsimoniae: Autonomy

Autonomy as the only fundamental and defining feature of agentsLet us see whether other typical agent features follow / descend fromthis somehow

Computational Autonomy

Agents are autonomous as they encapsulate (the thread of) controlControl does not pass through agent boundaries

only data (knowledge, information) crosses agent boundaries

Agents have no interface, cannot be controlled, nor can they beinvokedLooking at agents, MAS can be conceived as an aggregation ofmultiple distinct loci of control interacting with each other byexchanging information

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 21 / 48

Page 22: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy for Multi-Agent Systems

(Autonomous) Agents (Pro-)Act

Action as the essence of agency

The etimology of the word agent is from the Latin agens

So, agent means “the one who acts”

Any coherent notion of agency should naturally come equipped with amodel for agent actions

Autonomous agents are pro-active

Agents are literally active

Autonomous agents encapsulate control, and the rule to govern it

→ Autonomous agents are pro-active by definition

where pro-activity means “making something happen”, rather thanwaiting for something to happen

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 22 / 48

Page 23: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy for Multi-Agent Systems

Agents are Situated

The model of action depends on the context

Any “ground” model of action is strictly coupled with the contextwhere the action takes place

An agent comes with its own model of action

Any agent is then strictly coupled with the environment where it livesand (inter)acts

Agents are in this sense are intrinsically situated

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 23 / 48

Page 24: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy for Multi-Agent Systems

Agents are Reactive I

Situatedness and reactivity come hand in hand

Any model of action is strictly coupled with the context where theaction takes place

Any action model requires an adequate representation of the world

Any effective representation of the world requires a suitable balancebetween environment perception and representation

→ Any effective action model requires a suitable balance betweenenvironment perception and representation

however, any non-trivial action model requires some form of perceptionof the environment—so as to check action pre-conditions, or to verifythe effects of actions on the environment

Agents in this sense are supposedly reactive to change

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 24 / 48

Page 25: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy for Multi-Agent Systems

Agents are Reactive II

Reactivity as a (deliberate) reduction of proactivity

An autonomous agent could be built / choose to merely react toexternal events

It may just wait for something to happen, either as a permanentattitude, or as a temporary opportunistic choice

In this sense, autonomous agents may also be reactive

Reactivity to change

Reactivity to (environment) change is a different notion

This mainly comes from early AI failures, and from robotics

It stems from agency, rather than from autonomy

However, this issue will be even clearer when facing the issue ofartifacts and environment design

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 25 / 48

Page 26: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy for Multi-Agent Systems

(Autonomous) Agents Change the World

Action, change & environment

Whatever the model, any model for action brings along the notion ofchange

an agent acts to change something around in the MAS

Two admissible targets for change by agent action

agent an agent could act to change the state of another agent

since agents are autonomous, and only data flow amongthem, the only way another agent can change their stateis by providing them with some informationchange to other agents essentially involvescommunication actions

environment an agent could act to change the state of theenvironment

change to the environment requires pragmatical actionswhich could be either physical or virtual depending onthe nature of the environment

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 26 / 48

Page 27: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy for Multi-Agent Systems

Autonomous Agents are Social

From autonomy to society

From a philosophical viewpoint, autonomy only makes sense when anindividual is immersed in a society

autonomy does not make sense for an individual in isolationno individual alone could be properly said to be autonomous

This also straightforwardly explain why any program in any sequentialprogramming language is not an autonomous agent per se[Graesser, 1996, Odell, 2002]

Autonomous agents live in a MAS

Single-agent systems do not exist in principleAutonomous agents live and interact within agent societies & MASRoughly speaking, MAS are the only “legitimate containers” ofautonomous agents

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 27 / 48

Page 28: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy for Multi-Agent Systems

Autonomous Agents are Interactive

Interactivity follows, too

Since agents are subsystems of a MAS, they interact within the globalsystem

by essence of systems in general, rather than of MAS

Since agents are autonomous, only data (knowledge, information)crosses agent boundaries

Information & knowledge is exchanged between agents

leading to more complex patterns than message passing betweenobjects

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 28 / 48

Page 29: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy for Multi-Agent Systems

Autonomous Agents Do not Need a Goal

Agents govern MAS computation

By encapsulating control, agents are the main forces governing andpushing computation, and determining behaviour in a MASAlong with control, agent should then encapsulate the criterion forregulating the thread(s) of control

Autonomy as self-regulation

The term “autonomy”, at its very roots, means self-government,self-regulation, self-determination

“internal unit invocation” [Odell, 2002]

This does not imply in any way that agents needs to have a goal, or atask, to be such—to be an agent, thenHowever, this does imply that autonomy captures the cases ofgoal-oriented and task-oriented agents

where goals and tasks play the role of the criteria for governing control

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 29 / 48

Page 30: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy for Multi-Agent Systems

Summing Up

Definition (Agent)

Agents are autonomous computational entities

genus agents are computational entitiesdifferentia agents are autonomous, in that they encapsulate control

along with a criterion to govern it

Agents are autonomous

From autonomy, many other features stem

autonomous agents are interactive, social, proactive, and situated;they might have goals or tasks, or be reactive, intelligent, mobilethey live within MAS, and interact with other agents throughcommunication actions, and with the environment with pragmaticalactions

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 30 / 48

Page 31: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Complex Artificial Systems

Outline

1 Autonomy in Programming Languages

2 Autonomy for Multi-Agent Systems

3 Autonomy in Complex Artificial Systems

4 Conclusion

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 31 / 48

Page 32: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Complex Artificial Systems

Complex Systems

. . . by a complex system I mean one made up of a large numberof parts that interact in a non simple way [Simon, 1962]

Which “parts” for complex systems?

is autonomy of “parts” a necessary precondition?

is it also sufficient?

Which kind of systems are we looking for?

what is autonomy for a system as a whole?

where could we find significant examples?

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 32 / 48

Page 33: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Complex Artificial Systems

Nature-inspired Models

Complex natural systems

such as physical, chemical, biochemical, biological, social systems

natural system exhibit features

such as distribution, opennes, situation, fault tolerance, robustness,adaptiveness, . . .

which we would like to understand, capture, then bring tocomputational systems

Nature-Inspired Computing (NIC)

For instance, NIC [Liu and Tsui, 2006] summarises decades ofresearch activities

putting emphasis on

autonomy of componentsself-organisation of systems

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 33 / 48

Page 34: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Complex Artificial Systems

Autonomy & Interaction I

Self-organisation

Autonomy of systems requires essentially the same features thatself-organising systems exhibit

. . . such as opennes, situation, fault tolerance, robustness,adaptiveness, . . .

(say it again)

. . . by a complex system I mean one made up of a large numberof parts that interact in a non simple way [Simon, 1962]

Autonomy & Interaction

“parts” should be autonomous

interaction is essential as well

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 34 / 48

Page 35: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Complex Artificial Systems

MAS & Complexity I

Autonomy & Interaction

Multi-Agent Systems (MAS) are built around autonomouscomponents

How can MAS deal with self-organisation, properly handlinginteraction among components?

The observation of self-organising termite societies led to the followingobservation:

The coordination of tasks and the regulation of constructions arenot directly dependent from the workers, but from constructionsthemselves [Grasse, 1959]

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 35 / 48

Page 36: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Complex Artificial Systems

MAS & Complexity II

Coordination as the key issue

many well-known examples of natural systems – and, more generally,of complex systems – seemingly rely on simple yet powerfulcoordination mechanisms for their key features—such asself-organisation

it makes sense to focus on coordination models as the core ofcomplex MAS

. . . since they are conceived to deal with the complexity ofinteraction [Omicini, 2013]

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 36 / 48

Page 37: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Complex Artificial Systems

Basic Issues of Nature-inspired Coordination I

Environment

environment is essential in nature-inspired coordination

it works as a mediator for component interaction — through which thecomponents of a distributed system can communicate and coordinateindirectlyit is active — featuring autonomous dynamics, and affectingcomponent coordinationit has a structure — requiring a notion of locality, and allowingcomponents of any sort to move through a topology

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 37 / 48

Page 38: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Complex Artificial Systems

Basic Issues of Nature-inspired Coordination II

Stochastic behaviour

complex systems typically require probabilistic models

don’t know / don’t care non-deterministic mechanisms are notexpressive enough to capture all the properties of complex systems suchas biochemical and social systemsprobabilistic mechanisms are required to fully capture the dynamics ofcoordination in nature-inspired systemscoordination models should feature (possibly simple yet) expressivemechanisms to provide coordinated systems with stochastic behaviours

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 38 / 48

Page 39: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Complex Artificial Systems

Coordination Middleware I

Middleware

Coordination middleware to build complex software environment

Coordination abstractions to embed situatedness and stochasticbehaviours

Coordination abstractions to embed social rules–such as norms, andlaws

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 39 / 48

Page 40: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy in Complex Artificial Systems

Coordination Middleware II

Nature-inspired middleware

starting from early chemical and stigmergic approaches,nature-inspired models of coordination evolved to become the core ofcomplex distributed systems—such as pervasive, knowledge-intensive,intelligent, and self-* systems

this particularly holds for tuple-based coordination models[Omicini and Viroli, 2011]

tuple-based middleware as a perspective technology for complexautonomous systems

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 40 / 48

Page 41: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Conclusion

Outline

1 Autonomy in Programming Languages

2 Autonomy for Multi-Agent Systems

3 Autonomy in Complex Artificial Systems

4 Conclusion

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 41 / 48

Page 42: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Conclusion

Conclusion I

Autonomy

Components should be autonomous in autonomous systems

Agent models and technologies are the most likely answers to theissues of autonomy of components

Interaction

Autonomous systems require self-organisation patterns

Interaction is another essential dimension of self-organisation

Coordination

Coordination models and technologies for governing interaction

. . . including social norms and laws

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 42 / 48

Page 43: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Conclusion

Conclusion II

Nature-inspired coordination

Nature-inspired coordination models for autonomous systems

Tuple-based coordination models are the most likely candidates toface the issues of autonomy of complex systems

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 43 / 48

Page 44: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Outline

1 Autonomy in Programming Languages

2 Autonomy for Multi-Agent Systems

3 Autonomy in Complex Artificial Systems

4 Conclusion

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 44 / 48

Page 45: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Bibliography

Bibliography I

Graesser, S. F. A. (1996).Is it an agent, or just a program?: A taxonomy for autonomousagents.In Muller, J. P., Wooldridge, M. J., and Jennings, N. R., editors,Intelligent Agents III Agent Theories, Architectures, and Languages:ECAI’96 Workshop (ATAL) Budapest, Hungary, August 12–13, 1996Proceedings, volume 1193 of Lecture Notes In Computer Science,pages 21–35. Springer.

Grasse, P.-P. (1959).La reconstruction du nid et les coordinations interindividuelles chezBellicositermes natalensis et Cubitermes sp. la theorie de la stigmergie:Essai d’interpretation du comportement des termites constructeurs.Insectes Sociaux, 6(1):41–80.

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 45 / 48

Page 46: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Bibliography

Bibliography II

Liu, J. and Tsui, K. C. (2006).Toward nature-inspired computing.Communications of the ACM, 49(10):59–64.

Odell, J. (2002).Objects and agents compared.Journal of Object Technologies, 1(1):41–53.

Omicini, A. (2013).Nature-inspired coordination models: Current status, future trends.ISRN Software Engineering, 2013.Article ID 384903, Review Article.

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 46 / 48

Page 47: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Bibliography

Bibliography III

Omicini, A. and Viroli, M. (2011).Coordination models and languages: From parallel computing toself-organisation.The Knowledge Engineering Review, 26(1):53–59.Special Issue 01 (25th Anniversary Issue).

Simon, H. A. (1962).The architecture of complexity.Proceedings of the American Philosophical Society, 106(6):467–482.

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 47 / 48

Page 48: Autonomy, Interaction & Complexity in Computational Systems. Preliminary Notes

Autonomy, Interaction & Complexityin Computational Systems

Preliminary Notes

Andrea [email protected]

Dipartimento di Informatica: Scienza e Ingegneria (DISI)Alma Mater Studiorum—Universita di Bologna a Cesena

Law and Policy for Autonomous Military Systems WorkshopEuropean University Institute in Florence, Italy – 6 March 2013

Andrea Omicini (DISI, Univ. Bologna) Autonomy, Interaction & Complexity LaPfAMS – 6/3/2013 48 / 48