COSMELLI ET AL. Biol Res 40, 2007, 503-515 503 Biol Res 40: 503-515, 2007 BR Programming Paradigms and Mind Metaphors: Convergence and Cross-fertilization in the Study of Cognition

DIEGO COSMELLI1, JORGE SOTO-ANDRADE2 and ERIC TANTER3

1 Laboratorio de Neurociencias, Facultad de Ciencias Sociales, Escuela de Psicología, and Laboratorio de Ciencias Cognitivas, Departamento de Psiquiatría, Escuela de Medicina, Pontificia Universidad Católica de Chile, Santiago, Chile. -Mail: [email protected] 2 Mathematics Department, Faculty of Sciences, Universidad de Chile, Santiago, Chile. Email: [email protected] 3 PLEIAD Lab, Computer Science Department (DCC), Universidad de Chile, Santiago, Chile. Email: [email protected]

ABSTRACT

This paper describes a notable convergence between biological organization and abstractions. Our aim is to explore possibilities of cross-fertilization, at both conceptual and empirical levels, towards the understanding of what cognition and cognitive systems might be.

Key terms: Programming Paradigms, Biologically Inspired Computing, Cognitive Systems, Software Agents, Regional Ontologies.

What does an essay on programming (http: //bluebrain.epfl.ch/), machine paradigms have to do with the study of the consciousness (Aleksander, 2005), brain, nervous systems and cognition? One computational correlates of consciousness straightforward answer would be that (Cleeremans, 2005), and so on. through the development of ever more The motivation of this paper is to complex programs and sophisticated navigate in the less-explored relation computational systems one could expect between biological theory and producing proper models of system such as programming paradigms (OOPSLA 2006, neurons, neural networks, brains and 2006), with the aim of highlighting a series ultimately nervous systems. While this is of converging ideas. We will argue that in indeed an important part, it is obviously not the interphase of these two domains resides the only case, as the computation-biology an important metaphorical pool to deal with interface is an active research domain. some basic questions regarding Notable developments include, but are not understanding and modeling systems which limited to, modeling living beings (Varela can make sense of their current situation. et al., 1974) and their sub-processes It is no news that software development (Fernandez-Ballester & Serrano,2006), faces a challenge with the explosion of genetic algorithms (Burtsev & Turchin, highly extended, pervasive, and ultra-large 2006), cellular automata (Wolfram, 1984), scale computational systems (The Software robotics (Steels & Brooks, 1995)], artificial Engineering Institute (SEI), 2006). The intelligence and intelligent agent-design proliferation of mobile devices and highly [McDermott, 2007; Sun & Franklin, 2007), interconnected systems in the face of neuronal-prosthetics (Fromherz, 2006), multiple users in changing conditions large-scale modeling of nervous systems represents a radically dynamic context.

Corresponding Author: Dr. Diego Cosmelli [email protected] Received: October 10, 2007. Accepted: March 3, 2008 504 COSMELLI ET AL. Biol Res 40, 2007, 503-515

Because programming paradigms and can act as powerful cognitive tools (Soto- languages deal with the nature of and Andrade, 2007). While we do not pretend to interaction among computational entities – answer the question of cognition or and by extension with the interactions meaning we do contend that, on this rather between computational systems and human thorny issue, the search for cross- beings–, research in these areas deals in a fertilization is not only necessary and very concrete manner with the question of beneficial in theory, but already at work making sense out of a context of interaction and worth taking into account seriously. or a certain environmental situation; a We will begin with the question of challenge that resembles the general issue defining cognition as a way of setting a of cognition. common conceptual background. To this The brain and the nervous system have end we will review three well-known historically been recognized as playing a approaches to this problem, namely fundamental role in supporting what we cognitivism, connectionism and understand as cognitive capacities embodiment. We will follow with a brief (Ashby,1952; Maturana, 1970b; Kandel & survey of the history of programming Jessell, 2000). As living beings paradigm research, with special attention to incorporated nervous systems into their the underlying process of abstraction. We repertoire of biological tools, autonomous will then present some examples of movement and perception made its full- convergence between the development of fledged appearance, and with it, the programming paradigms and some themes enormous cognitive possibilities of in biologically-oriented approaches to sensorimotor animated beings. However, cognition. We will argue that these understanding how this role is played in the examples suggest relevant lines for cross- context of the living animal is far from fertilization between disciplines. We end clear. The question for the mechanisms of with a brief conclusion and round-up. human and animal cognition, of how such systems appear to be able to establish meaningful points of view in an apparently FROM COMPUTATIONAL COGNITIVISM TO objective world, is a challenge that has been EMBODIMENT: THE PROBLEM OF COGNITION called the “holy grail” of contemporary science (Dennett, 1991; Niedermeyer, What is cognition? or to be more precise, 2005). what do we understand by cognition so that Drawing on an analogy between a cognitive system can be defined or programming paradigms and biology could distinguished in some operative way? It is be considered far-fetched: meaning for a obvious that dealing with this question is software agent has nothing to do with not trivial. Ramifications into almost any meaning for a rabbit. In other words, a mere domain of human study can be found1, so as-if would have no use in explanatory no simple answer will do. The following attempts at a given problem. We wish to brief discussion in terms of different take stance against such argument. paradigms is therefore intended only as a Throughout history, technological working ground (see also Varela et al., metaphors have been one of the main 1997; Dupuy, 1999; Cisek, 1999; explanatory bases for the understanding of Thompson, 2007). natural phenomena (Freeman, personal communication). Similarly, natural systems Cognitivism: into the inner workings serve systematically as models for technological development. Even more than For classical cognitivism cognition consists through deductive reasoning, it is through essentially in the manipulation of discrete metaphors and analogies that insight often symbolic representational entities, comes to be, usually for the benefit of many sides of the problem. Metaphors do not 1 Think of the number of disciplines that converge in the simply enable illustrative comparisons but so-called Cognitive Sciences. COSMELLI ET AL. Biol Res 40, 2007, 503-515 505 according to predefined rules. The delocalized, depending crucially on quintessential theoretical account within interactions (connections) among parts. The this tradition is the Computational Theory paradigmatic example is a neural network of Mind. It is claimed that the mind is which through interconnected simple units literally a digital computer, so that (model neurons) is said to recognize cognition is equivalent to computation2. complex patterns, discriminate, learn and so From here numerous metaphors are on. In addition to already adopting and available and play an important role in profiting from cognitive, intentional guiding further experiments and terminology for the description of such theorization: when we perceive and act we systems, connectionism opens the place for receive information from a world, process it novel metaphorical tools that work the and respond according to a sets of rules of other way. Symbolic entities can free evaluation, matching, decision making, etc; themselves from discreteness, and cognition memory is a storage of something; attention can be understood as a distributed, is a matter of administering limited historical and interdependent process. processing resources; consciousness, access Numerous approaches benefit some way or to a widespread broadcast message (Baars, another from the conceptual tools that are 2002). Accounting for felt meaning available within this framework (Clark, (Gendlin, 1997), as we human beings live it 1997), including the one presented in through, has always been a difficult task section below. Cognition is now the within this paradigm3. Nevertheless, it is dynamic emergence of coherent global noteworthy that a computational automated states that are reached, upon a given email response system built on the global environmental situation, through distributed workspace hypothesis (which implements cooperative interaction rather than through basic computational cognitivist central, sequential processing. Importantly, assumptions) could be capable of passing a in such systems, for global behavior to (naive) Turing test (Sun & Franklin, 2007). persist, the behavior of the parts is constrained reducing their degrees of Delocalizing the process: connectionism freedom (i.e. ‘enslavement’ Haken,1983)5.

Through the study of complex natural and In flesh and blood: the embodied mind artificial systems, in particular model neural networks, the notion of distributed, Embodied, enactive, and situated cognition non-localized, systemic processes has approaches are in a way a mixture of become well known (Prigogine & Nicolis, heritages from cybernetics, biology and 1989). From self-organization in liquid philosophy and take a more radical media to social insects, the core idea is that naturalistic perspective on cognition (Varela through a set of local rules among simple et al., 1997; Thompson, 2007; Noe, 2004; components a global property obtains4. Clark, 1997; Cosmelli & Thompson, In Such so-called emergent property pertains Press). For embodiment6, cognitive systems to the totality and is not localized in any are systems that bring forth a contextually subsystem of it (Shewmon, 2001). valid (ecological) world of meaning. This In connectionist and related neo- connectionist approaches (Feldman & Ballard, 1982), properties of the system are 5 In line with Cisek (1999), we would tend to see connectionism in this sense as a sophisticated variant of the more classical computational cognitivism: symbols are now simply dynamical and distributed 2 Under a given technical definition of what computation representations, but which nevertheless are and a computer is ( [Horst (Fall 2005 Edition); Putnam manipulated according to rules such as synaptic (1975); Fodor (1979)]. weights. However, we single it out because it opens the 3 Interested readers might wish to see for example John way to the notion of emergent distributed processes Searle’s Chinese Room argument [Searle (1980)] and which have played an important role in both computer the discussion in [Thompson (1997)]. science [Bonabeau et al. (1999)] and neurobiology 4 The actual mechanism of this obtaining is not [Freeman (1999); Gelder (1998)] necessarily understood. 6 Used here as a synonym of all three terms above. 506 COSMELLI ET AL. Biol Res 40, 2007, 503-515 happens through a history of structural (n.d.); Thompson, 2004). We will suspend coupling between systems that actively for the moment the question of whether a maintain a self-asserted identity with an synthetic virtual or physical model will be (only) partially predictable environment. cognizant in the sense of being able to Living systems and living organization is experience a shared world of meaning the paradigmatic cognitive system under this (Varela et al., 1997). perspective (Maturana, 1970a; Maturana & We invite the reader to keep in mind the Varela, 1973; Varela, 1979)7. For the different approaches to cognition that we embodied approaches, the self-sustained have sketched above as we turn in the body and the always present life-death following to revise tension is precedent to any symbol research development. This will set the manipulation and foundational of any value stage for discussing the three lines of whatsoever. Cognition is therefore convergence we propose can be relevant to endogenously motivated, exploratory and both the way further programming necessarily risky (Jonas, (2001(1979). In paradigms are developed and how mind and general, embodiment considers meaning as cognitive systems are understood. contextual, perspectival, and a matter of staying alive here and now: the world makes sense to me because whatever comes from it, PROGRAMMING ABSTRACTIONS: FROM I still have to stay alive. In other words, that PROCEDURES TO AMBIENT ACTORS which is not the system, i.e. the world, is now of the system’s vital concern. While the Abstraction in programming language has intuitive appeal of this approach is been the driving force behind research in considerable, operationalizations into actual programming paradigms (Hayes, 2003): the experimental settings are still lacking. definition of a set of basic concepts and their rules of composition and interaction. A qualification: Hard and soft notions of For instance, in functional programming, a cognition program is built up of functions calling other functions and returning values, pretty The study of cognition is undoubtedly an much like mathematical functions. On open question. It appears that meaning, another trend, logic programming promotes sense making and knowledge are at the the decomposition of a problem into a set of heart of it, yet defining these three concepts logic facts and rules, and uses inference as is again a huge challenge we do not mean to a means to compose these pieces together. attempt. One aspect does need to be pointed In a procedural programming language, a out, however. From an embodiment program is made up of a set of data perspective, cognition is usually understood structures manipulated by procedures that as dependent on physically being there, ‘in can affect the state of the system as defined flesh and blood’, and any virtual model can by the data structures. An object-oriented only highlight structural determinants but programming language adopts yet another not become or produce a cognitive agent. means of structuring programs, as discussed Alternatively, this phenomenon could be later on. exhibited by synthetic virtual entities of The recurrent problems in the software some kind as long as certain conditions are industry have always pushed researchers to fulfilled. Here we rejoin a long-standing study new abstractions and paradigms for debate in Artificial Intelligence and programming, with objectives such as Artificial Life (Varela & Bourgine, 1992; conciseness of written code, McDermott, 2007; Steward & Mossio, understandability, extensibility, reusability, maintainability, etc. The ever-increasing and widespread use of information technology 7 In this sense it is a rather strong framework as it continuously brings new challenges and new equates cognition with a given way of being rather than an internal or external process of some kind, as was the degrees of complexity for software case for the previous approaches. development. This pressure calls for new COSMELLI ET AL. Biol Res 40, 2007, 503-515 507 paradigms addressing limitations of the (2003). For instance, the procedure that established ones. Interestingly, as the level draws shapes on the screen is coupled with of abstraction rises, the degrees of freedom the types and representation of shape of the programmer get more and more structures; updates to one imply updates to restricted, because behind abstractions are a the other. set of rules enforced by the language In the early 1970s, building upon his processor. But these very rules are in fact the education as a biologist, Turing-award enablers of abstractions, which make it winner Alan Kay and colleagues came up possible for programs to address more and with a fundamentally new abstraction for more complex tasks in a practical way. We programming, using a clear inspiration from now illustrate the interest of abstraction at cells in living organisms: objects (Kay, the level of the programming language by 1993). In object-oriented programming, an giving a brief overview of the evolution of executing program is made up of self- abstractions. We will start from procedural contained capsules, called objects, which programming and work our way to the very provide a number of well-defined services recent paradigm of ambient-oriented available to the outside world, and programming, a paradigm that aims at encapsulate their own internal state and addressing the challenging context of actual implementation of the services they programming applications for a multitude of provide (Fig. 1). Objects only communicate lightweight mobile devices carried by by sending messages to each other. mobile users facing varying connectivity due From a conservative viewpoint, this is to network limitations (Dedecker et al., nothing more than just packing data 2006), resulting in a highly dynamic network structures and procedures in the same units, topology. and this model can be implemented using a The illustration of the power of procedural language. Yes, it is true that this programming language abstractions that is “just” such a packing, but precisely, it is follows is at best partial and incomplete: nothing less. This paradigm shift then gave one cannot resume forty years of research rise to a number of what could be called in programming languages that briefly. Our accidental abstractions, such as classes – aim is demonstrating in a concise manner describing the common structure and that there are fundamental gains in tackling behavior of a set of similar objects–, a given problem with a programming inheritance –defining classes as incremental paradigm that integrates the appropriate variations and extensions of more basic, abstractions, rather than building ad-hoc abstract definitions–, polymorphism –the abstractions without adopting a paradigm possibility to manipulate different types of shift. objects uniformly–, etc.

Step 1: From Procedures to Objects

In traditional procedural programming languages, like C, Fortran, Pascal, and the like, a program is structured as a set of data structures on the one hand, which represent the state of the program, and procedures on the other. Procedures are composed by invoking each other and possibly returning values after performing some computation, which may depend on and affect the data structures. History has shown that the separation of data structures and procedures is Figure 1: An object provides a set of services unfortunate because there is an inherent and encapsulates its internal state and need for consistency between both (Hayes, implementation details. 508 COSMELLI ET AL. Biol Res 40, 2007, 503-515

All these accidental abstractions are, as a Concurrency refers to the (at least simulated) matter of fact, very hard to implement using simultaneous execution of different flows of a procedural language. The shift at the computation within a program. In the programming language level therefore traditional model of concurrency, objects are brings new abstractions at a cost zero for passive entities, and activity is driven by the programmer; it is the implementor of threads of control (Fig. 3) Birrell, 1989). A the language processor that bears the classic manner of explaining this model is increase of complexity. Programmers can that of bees (threads) flying around and then enjoy a convenient dedicated syntax to visiting flowers (objects). This kind of concisely define objects (Fig. 2), without concurrency model is easy to understand necessarily knowing how an object-oriented provided there are very few threads, or that program is reduced to a set of machine code the coordination between activities is kept to instructions. a strict minimum. However, as soon as some coordination between concurrent activities is needed, managing this kind of concurrency is a nightmare. Concurrent programming is notorious for its intricacies and it is very common that most computer science graduates do not get even a simple concurrency problem right. The thread-based concurrency model clearly diverges from the biological metaphor of cells: cells are not passive entities that wait for some thread of control to activate them and then stop meanwhile they exchange some chemicals with the outside world. The comes as an abstraction whereby threads and objects are not separate anymore. Instead, an actor is an active object with its own activity. The activity of an actor Figure 2: An object-oriented programming consists of processing the messages it language offers dedicated syntax for receives from the outside world, in addition conveniently defining objects, their state (p, s) to its own goals, if any (much like we deal and behavior (scale, moveTo, draw). with our mail every day while pursuing some objectives of our own). Here an important shift has taken place: a first degree of Later on, as experience with these functional autonomy, going beyond the abstractions and mechanisms grows, previous passive encapsulation, is at work. higher-level programming idioms and The use of “actor” metaphor to refer to such patterns appear (Gamma et al., 1994). A constructs is illustrative of this fact. Indeed, typical industrial business application today one of the most important determinants of easily has several hundreds of thousands recognizing agenthood is the inference of objects dwelling within and makes heavy inner purpose as a consequence of use of object-oriented idioms and patterns. apparently self-initiated actions on the environment (Frith & Frith, 2007). Step 2: From Objects to Actors An actor language gives the linguistic means to define such active objects, the A further level of abstraction based on way they have to handle the messages they objects is the model of actors, also known as receive and emit their own, as well as their active objects (Agha, 1986; Briot et al., own pro-activity. Again, all the complexity 1998). This model appeared as a response to entailed by the actor abstraction (i.e. the problem of managing concurrent synchronization matters) are handled by the activities, in an object-oriented program. language processor, not the programmer. COSMELLI ET AL. Biol Res 40, 2007, 503-515 509

Figure 3: Thread-based concurrency with objects: each thread of activity traverses objects following the flow of computation.

Figure 4: Actor-based concurrency: each actor has its own activity, communication between actors is asynchronous.

Step 3: From Actors to Ambient Actors Another model has therefore been proposed, called the ambient actor model, Considering the peculiarities of the which complements the above actor model modern computing infrastructure, which is with several characteristics. First and made up of a variety of mobile devices held foremost, an ambient actor cannot be blind by mobile users, a number of strong to its environment, which is dynamically challenges come up for software changing: it needs to be able to sense and development: how to deal with a highly- adapt to the ambient. To this end, an dynamic topology, disconnections, failures, ambient actor explicitly states what services and volatility of resources? Here again, one it provides to other actors in the ambient, can build up an ad-hoc solution whenever and what services it requires from the needed, but at which cost? Ambient-oriented ambient. It is also able to know which programming (AmOP) (Dedecker et al., required services are bound in the current 2005) proposes to consider these issues as ambient, and when they are not bound recurrent and complex enough to address anymore (e.g. because an actor was running them appropriately at the language level. on a machine that moved away). Similarly, 510 COSMELLI ET AL. Biol Res 40, 2007, 503-515 in order to rollback some actions upon following subsections present three failure, an ambient actor has access to its examples. communication history (Fig. 5). On Computability, Abstractions and Reduction

From a computability point of view, most programming languages are equivalent in the sense that they are Turing-complete, that is to say, they can all express the same computations (Brainerd & Landweber, 1974). Therefore, the abstractions embraced by a given programming language are, in the end, of no use in terms of computational power. It is true that eventually, a program Figure 5: An ambient actor is an actor extended in a high-level language is interpreted with a number of mailboxes: four are used to (possibly after being compiled) by a device give access to the communication history or program, called a language processor, (pending messages, processed messages, that is at most equivalent in computational messages to send, sent messages); four are used power to a Turing machine. to sense the environment (required services, However, the theoretical argument of provided services, services joined, and Turing equivalence does not take practical disjoined). considerations into account (nor does it claim to), such as efficiency, difficulty, or time needed to address a particular problem A very notable feature of an AmOP with a given set of abstractions. Software language like AmbientTalk (Dedecker et programming is an engineering discipline, al., 2006), is the provision of a when and as such must respond to criteria of construct (Fig. 6). This construct makes it feasibility. If it is true that even very huge possible to easily specify that when some software used today could have been condition is fulfilled (e.g. by the ambient), programmed in assembly language or some action should be done. Programming directly in machine code; however it is not languages typically do not have such a so in practice. construct, rather they have an if construct. Although a when construct does not make it possible to compute something that is impossible to do without it, it does make it possible for a non-specialist to express such a statement. Manually implementing an equivalent of the when construct requires an in-depth knowledge of concurrency management, in order to avoid any subtle issue that would lead to program errors, and would be much less convenient to use.

CONVERGING METAPHORS Figure 6: Ambient actors in a programming Apart from the evident inspiration on language: specific syntax is there to declare a cells, actors and agents, there are a number required service, what to do when it becomes of not so obvious lines of convergence available and not, to ask for an ambient between programming paradigm research reference, and to specify actions to perform and the study of mind and cognition. The when a result becomes available. COSMELLI ET AL. Biol Res 40, 2007, 503-515 511

Now what happens in biological are absent in the gas or mechanical systems, systems? From an orthodox physicalist but seem essential for the emergence of perspective biology is a sub-ensemble of behaviors that are considered cognitive physics. This means that one should be able (Bell, 1999; Thompson & Varela, 2001). to reduce every biological phenomenon to physical laws (which do not need to be Domains of Interaction and Regional limited to the ones we know now) (Kim, Ontologies 2000). One could be inclined, drawing from the previous discussion, to distinguish Living systems sustain a (paradoxically) theoretical and practical reducibility: as you insubstantial identity in time. How they do try to program (and therefore understand) a so is an open question, but it appears that pervasive computing system using only maintaining global identity depends to assembler, imagine trying to study the some extent on restricting the behavioral nervous system of a relatively simple possibilities of the parts (Haken, 1983; organism in terms of atomic interactions. In Thompson, 2007). The degrees of freedom other words, while reduction might be of the ensemble of macromolecules in the possible in theory, this does not mean it is most humble bacteria is astronomical. practical when trying to understand the Maintaining organization through the workings of composite complex systems as continuous change in components entails a these. Two important factors that might reduction of degrees of freedom of the play a role in this being the case are, on the constituents (a paradigmatic phenomenon in one hand, the nature of the relations highly interconnected complex systems, see established within such systems, and on the section “Delocalizing the process: other, the casual efficacy of the systems’ connectionism”). Importantly, as long as organization, whether it is abstraction in the system has to be kept organized by programming or organismic in biology (for itself, a domain of behavioral interaction a convergent idea see (Abbott, submitted). (i.e. of viability) for the ensuing whole will The latter is further discussed in the next exist (Maturana & Varela, 1973). In this subsection. sense, biological organization is causally Keeping here to the nature of the effective in the appearance of a world to be relations established in complex systems, known. one could argue that the above question is Self-organization through enslavement is close to the problem of statistical therefore at the basis of the appearance of mechanics where a macroscopic coherent what we will call regional ontologies. behavior emerges from microscopic random Regional ontologies, in a general sense, are interactions. The only difference would domains of meaning which depend on the reside in how much more numerous and particular organization of the making-sense diverse its ‘parts’ are so that our system8. In biology it is common to find understanding of it is hampered only by such domains, or cognitive horizons, across resolving power. Indeed, mathematical multiple levels. The ‘world’ of a cell is not models are quite successful in predicting commensurable with that of the entire the behavior of, say, a volume of a gas animal it is part of, however interdependent based on microscopic effects. However, they might be. Nevertheless, both ‘worlds’ what makes the difference is that both in share the structural feature of being nervous systems and pervasive computing relevant for the cell or the animal. As systems, the degree of interaction and long- stressed in the embodied perspectives both range interrelation is radically different. This is notoriously exemplified in the 8 This notion of regional ontologies is comparable to the appearance of effective causal loops (what notion of cognitive domains [Maturana & Varela you see/request is dependent on how you (1973); Varela et al. (1997)], and similar to the move/provide and how you move/provide is Gibsonian approach [Gibson (1979)]. By stressing both the “regional” and the “ontological” we wish to dependent on what you see/request). These highlight its local validity and world-enactive elements of circularity and self reference structure. 512 COSMELLI ET AL. Biol Res 40, 2007, 503-515 units can be considered as establishing a they bring forth quasi-cognitive domains domain of concern due to their particular that are structurally coupled to the organization and situation. They make sense implementation of the abstraction. of the environment they encounter. In a very concrete way, they constitute a Evolutionary Dynamics perspective in the world9. As we have seen, a similar process As we have seen, both in natural and happens in programming paradigms computational systems, a certain research through abstractions. Abstractions organization is to be actively maintained in constrain the degrees of freedom of the face of dynamical environmental computational entities, upon which certain challenge. As both environments realize rules are imposed. Most importantly, some level of reproduction (generations) of successive abstractions through objects, parent organizations, both systems are actors, etc. enable successive domains of candidates for evolutionary dynamics. practical competence that were previously We have seen how, in the rapid and impossible, from a practitioner’s unpredictable unfolding of the perspective. Although such domains of computational environment, abstractions interaction are still far from being accomplish efficient solutions. In many meanningful in the strong sense described cases these are local, specific solutions to above, several very explicit primitives are problems that arise precisely because of recognizable: Object-oriented programming recently acquired possibilities of (Figure 1) enables a simple encapsulation interaction. The latter are, in turn, of data and behavior that already facilitates dependent on previous abstractions, and so collective functional interaction, but is on. Moreover, abstractions usually have as radically passive; actors and active objects a consequence novel possibilities that were (Figure 4) incorporate an activity into the not pursued when attempting to solve the objects, and a certain level of self-motivated initial problem. This is strongly reminiscent action in addition to processing requests of an evolutionary drift (Maturana & and offering services; ambient actors Varela, 1984; Maturana & Mpodozis, (Figure 5) push further towards autonomous 2000). behavior by adapting to given environments The evolutionary setting in programming through basic ‘sensing’10. paradigm research is obviously not that of What this suggests is that abstractions in organisms in natural ecological contexts. programming paradigms have similar Yet it is notable that in the very short consequences to those of different existence of the discipline of programming organizations in biological, natural systems; paradigms, already a trend towards increasing autonomy is clearly evident (section “Programming abstractions: from 9 The same goes for different animals. While we have a procedures to ambient actors”). Because of three-pigment visual system, the pigeon has a four- pigment based one [Thompson et al. (1992)]. It is not the nature of the problem posed to the as if pigeons see more colors, it is rather that their programmer, this suggests, conversely, that color world probably has a different meaning for them autonomous organization might be an apt than it has for us. This is, at least in part, because four dimensions are needed to specify their color spaces solution to the problem of dealing and (while only three are needed for human beings, namely making sense out of unpredictable, highly hue, saturation and brightness). Regional ontologies interactive contexts in effective ways. This are not mappable unto one another, even if overlapping exists (which is obviously the case since actual necessarily falls back on our experiments on the pigeon visual system can be done conceptualization of cognitive systems by human beings). lending a ‘plausibility’ support to the main 10 Interestingly, the capacity to deal with the notion of ‘when’ in these software agents can also be seen as a underlying assumption of embodied and primitive of a flexible, dynamical temporality going enactive approaches to cognition (see beyond the dichotomous ‘if’. It is notable that the section “In flesh and blood: the embodied philosophical phenomenological tradition considers temporality to be fundamentally constitutive of mind”). Under this perspective the meaningful experience (Cosmelli & Thompson, 2007). workings of the nervous system (or any COSMELLI ET AL. Biol Res 40, 2007, 503-515 513 subsystem) has to be understood first and novel possibilities of interaction. This is foremost in terms of how it enables, or one of the main tenets of biological facilitates, autonomous behavior and not as systems, whereby alternative organizations how it captures a pre-given world, as bring forth the notorious variety of several researchers have insistently pointed cognitive horizons found in nature. This out (Maturana, 1970b; Steels & Brooks, issue is strongly interrelated with the last 1995; Varela, 1979; Thompson, 2007). example where we pointed out the apparent evolutionary dynamics in programming paradigms. It is obviously only the CONCLUSIONS AND PERSPECTIVES beginning of this discipline, so time will tell. Yet, given the type of situation The guiding metaphorical relation we have programmers and programs have to cope developed links abstractions in with, this ‘natural’ tendency towards programming paradigms and organization autonomy might be relevant to consider as a in natural, biological systems. The three matter of fact. examples we have put forth are intended to Computational cognitivism has deeply illustrate this convergence. permeated our way of thinking about what But what difference could this it is to perceive and act on-and in-a world; convergence make to our conceptualization conceptualization in terms of input of of cognitive systems? Or in other words, in information, processing, encoding, storing, what sense could this rapprochement help retrieving and output of responses is us in advancing our understanding of what commonplace when dealing with cognitive cognition might be? We believe there are systems. But computation is much more both theoretical and empirical consequences than computational cognitivism as the of the exercise. development of programming paradigms The first example (section “On shows. Fishing in the metaphorical pool, computability, abstractions and reduction”) what seems to come out is how certain type supports the idea that theoretical reduction of organizations make novel behavioral to bits and pieces is not the only way of domains available. This suggests a understanding something, and that this plausible path to the emergence of might be particularly important for meaningful worlds and therefore, cognition. cognitive systems. As programming paradigms show, sometimes it might be necessary to go in the other direction so ACKNOWLEDGEMENTS that system-level behavior and organization is brought into focus. If this is evident for DC acknowledges support from the PBCT/ modestly complex structures such as CONICYT Sensory Neuroscience Ring, pervasive computing systems, one could ACT-45, and partial funding by contend that it will be all the more critical FONDECYT Postdoctoral Project 3060094. when the myriad of effective causal loops JSA is partially supported by the Centro de present in living beings is considered. Estudios Avanzados en Educación PBCT/ Importantly, it is through causal CONICYT and by FONDEF Project sensorimotor loops that perception seems to D06I1023. ET acknowledges partial funding be sustained in such systems (Noe, 2004). from FONDECYT Project 11060493. On a more implementation-related level, the question of degrees of freedom reduction seems quite pertinent. Systems REFERENCES abound, from lasers to tribes, where the ABBOTT R (Submitted). Reductionism, emergence and degrees of freedom of the components are levels of abstractions. Communications of the ACM restricted for the consistency of the whole. AGHA G (1986) ACTORS: a model of concurrent What is interesting is that in programming computation in distributed systems. The MIT Press: Cambridge, MA paradigms this takes place through ALEKSANDER I (2005) Machine consciousness. Progress abstractions which, as we have seen, enable in Brain Research 150: 99-108 514 COSMELLI ET AL. Biol Res 40, 2007, 503-515

ASHBY WR (1952) Design for a brain: The origin of 450). Portland, Oregon, USA: ACM Press (ACM adaptive behavior. London: Chapman and Hall SIGPLAN Notices, 41(10)) BAARS B (2002) The conscious access hypothesis: origins GAMMA E, HELM R, JOHNSON R & VLISSIDES J and recent evidence. Trends Cogn Sci 6: 47-52 (1994) Design patterns: Elements of reusable object- BELL A (1999) Levels and loops: The future of artificial oriented software. Addison-Wesley intelligence and neuroscience. Philos Trans R Soc GELDER T VAN (1998) The dynamical hypothesis in Lond B Biol Sci 354: 2013-20 cognitive science. Behavioral and Brain Sciences 21: BIRRELL A (1989) An introduction to programming with 1-14 threads (Technical Report No 35). Digital Systems GENDLIN E (1997) Experiencing and the creation of Research Center meaning: A philosophical and psychological approach BONABEAU E, DORIGO M, & THERAULAZ, G (1999) to the subjective. Boston: Northwestern University Swarm intelligence - from natural to artificial systems. Press Oxford University Press GIBSON J (1979) The ecological approach to visual BRAINERD WS & LANDWEBER LH (1974) Theory of perception. Boston: Houghton Mifflin computation. Wiley & Sons HAKEN H (1983) Synergetics, an introduction: BRIOT J-P, GUERRAOUI R, & LOHR K-P (1998) Nonequilibrium phase transitions and self-organization Concurrency and distribution in object-oriented in physics, chemistry, and biology (3rd ed.). New programming. ACM Computing Surveys 30: 291-329 York: Springer-Verlag BURTSEV M & TURCHIN P (2006) Evolution of HAYES B (2003) The post-OOP paradigm. American cooperative strategies from first principles. Nature 440: Scientist 91: 106-110 1041-1044 HORST S (2005). The computational theory of mind. The CISEK P (1999) Beyond the computer metaphor: Stanford Encyclopedia of Philosophy, Edward N. Zalta Behaviour as interaction. Journal of Consciousness (ed.) Studies 6: 125-142 JONAS H (2001(1979)) The phenomenon of life: Towards CLARK A (1997) Being there: Putting brain, body and a philosophical biology. Northwestern University Press world together again. MIT Press KANDEL E, SCHWARTZ J & JESSELL, T (2000). CLEEREMANS A (2005) Computational correlates of Principles of neural science (Fourth ed.). Mc Graw-Hill. consciousness. Progress in Brain Research 150: 81-98 KAY AC (1993) The early history of . ACM COSMELLI D & THOMPSON E (2007) Mountains and SIGPLAN Notices 28: 69-95 valleys: Human experience and the flow of KIM J (2000) Mind in a physical world: an essay on the consciousness. Consciousness and Cognition, doi: mind-body problem and mental causation. Cambridge, 10.1016/j.concog.2007.06.013, In Press. MA: The MIT Press COSMELLI D & THOMPSON E (In Press) Enaction: MATURANA H (1970a) Biology of cognition (Tech. Towards a new paradigm for cognitive science. In J. Rep.). Urbana IL: University of Illinois: Biological Stewart, O. GAPENNE, & E. DI PAOLO (Eds.), (chap. Computer Laboratory Research Report BCL 9.0 Embodiment or envatment? Reflections on the bodily MATURANA H (1970b) Cognition: A multiple view. In P. basis of consciousness.). MIT Press Garvin (Ed.), (p. 3-23). New York/Washington DEDECKER J, MOSTINCKX S, VAN CUTSEM T, DE MATURANA H & MPODOZIS J (2000). The origin of MEUTER W, & D’HONDT T (2005) Ambient-oriented species by means of natural drift. Revista Chilena de programming. In Oopsla 2005 onward! track. Historia Natural 73: 261-310 DEDECKER J, VAN CUTSEM T, MOSTINCKX S, MATURANA H & VARELA F (1973) De máquinas y D’HONDT T & DE MEUTER, W (2006) Ambient- seres vivos: Una teoría sobre la organización biológica. oriented programming in AmbientTalk. In D. Thomas Santiago de Chile: Editorial Universitaria (Ed.), Proceedings of the 20th European conference on MATURANA H & VARELA F (1984) El árbol del object-oriented programming (ecoop 2006) (p. 230- conocimiento. Santiago de Chile: Editorial 254) Nantes, France: Springer-Verlag Universitaria DENNETT D (1991) Consciousness explained. Boston: MCDERMOTT D (2007) The Cambridge Handbook of Back Bay Books Consciousness. In M M P Zelazo & E Thompson DUPUY J (1999) Aux origines des sciences cognitives. (Eds.), (p. 117-150). Cambridge University Press Paris: La Découverte NIEDERMEYER E (2005) Electroencephalography: Basic FELDMAN J & BALLARD D (1982) Connectionist principles, clinical applications, and related fields. In E models and their properties. Cognitive Science 6: 205- Niedermeyer & F L da Silva (Eds.), (p. 1-15). 254 Philadelphia, USA: Lippincott Williams and Wilkins FERNANDEZ-BALLESTER G & SERRANO L (2006) NOE A (2004) Action in perception. MIT Press Prediction of protein-protein interaction based on PRIGOGINE I & NICOLIS G (1989) Exploring structure. Methods Mol Biol 340: 207-34 complexity: An introduction. W.H. Freeman & FODOR J (1979) Representations; essays on the foundation Company of cognitive science. UK: Harvester Press PUTNAM H (1975) Mind, language and reality. FREEMAN W (1999) Consciousness, intentionality, and philosophical papers (Vol. 2). Cambridge University causality. Journal of Consciousness Studies 6: 143-172 Press FRITH C & FRITH U (2007) Social cognition in humans. SEARLE J (1980) Minds, brains, and programs. Behavioral Current Biology 17: R724-R732 and Brain Sciences, 3, 417-458 FROMHERZ P (2006) Three levels of neuroelectronic SHEWMON A (2001) The brain and somatic integration: interfacing: silicon chips with ion channels, nerve insights into the standard biological rationale for cells, and brain tissue. Annals of the New York equating “brain death” with death. The Journal of Academy of Sciences, 1093: 143-160 Medicine and Philosophy 26: 457-78 GABRIEL R P & GOLDMAN R (2006). Conscientious SOTO-ANDRADE J (2007) Metaphors and cognitive styles software. In Proceedings of the 21st ACM SIGPLAN in the teaching-learning of mathematics. In Proc. conference on object-oriented programming systems, CERME 5 Fifth conference of the European society for languages and applications (oopsla 2006) (pp. 433- research in mathematics education), lrnaca, Cyprus COSMELLI ET AL. Biol Res 40, 2007, 503-515 515

STEELS L & BROOKS R (1995) The artificial life route to THOMPSON E, PALACIOS A & VARELA F (1992) Ways artificial intelligence: Building embodied situated of coloring: Comparative color vision as a case study agents. (L. Steels & R. Brooks, Eds.). Hillsdale, NJ: in cognitive science. Behavioral Brain Sciences 15: 1- Lawrence Erlbaum Associates, Inc 45 STEWARD J & MOSSIO M (n.d.). Is life computable? THOMPSON E & VARELA F (2001) Radical embodiment: (Personal Communication) Neural dynamics and consciousness. Trends in SUN R & FRANKLIN S (2007) The Cambridge Handbook Cognitive Science 5: 418-425 of Consciousness. In M M P Zelazo & E Thompson VARELA F (1979) Principles of biological autonomy. New (Eds.), (p. 151-174). Cambridge University Press York: Elsevier North Holland The Software Engineering Institute (SEI)(2006). The VARELA J F & BOURGINE P (Eds.) (1992) Towards a software challenge of the future: Ultra-large scale practice of autonomous systems. Cambridge: The MIT systems Press THOMPSON E (1997) Symbol grounding: a bridge from VARELA F, MATURANA H & URIBE R (1974) artificial life, to artificial intelligence. Brain and Autopoiesis: the organization of living systems, its Cognition 34: 48-71 characterization and a model. Biosystems 5: 187-196 THOMPSON E (2004) Life and mind: From autopoiesis to VARELA F, THOMPSON E & ROSCH E (1997) The neurophenomenology. a tribute to Francisco Varela. embodied mind: Cognitive science and human Phenomenology and the Cognitive Sciences 3: 381-398 experience. Cambridge, MA: The MIT Press THOMPSON E (2007) Mind in life: Biology, WOLFRAM S (1984) Computation theory of cellular phenomenology and the sciences of mind. Harvard automata. Communications in Mathematical Physics University Press 96: 15-57 516 COSMELLI ET AL. Biol Res 40, 2007, 503-515