Glycolysis: The first stage of the CO process, glycolysis converts one molecule ..... TipoFerm enta zione : int ... +O ssi da zi on eP arzi ale Acid oP iruvi co.
A Multi-Agent System for Modelling Carbohydrate Oxidation in Cell? Flavio Corradini, Emanuela Merelli, and Marco Vita Universit` a di Camerino, Dipartimento di Matematica e Informatica Camerino, 62032, Italy, {flavio.corradini,emanuela.merelli,marco.vita}@unicam.it
Abstract. A cell consists of a large number of components interacting in a dynamic environment. The complexity of interaction among cell components and functions makes design of cell simulations a challenging task for biologists. We posit that the paradigm of agent-oriented software engineering (AOSE), in which complex systems are organized as autonomous software entities (agents) situated in an environment and communicating via high-level languages and protocols (ontologies), may be a natural approach for such models. To evaluate this approach, we constructed a model of cell components involved in the metabolic pathway of carbohydrate oxidation. The agent-oriented organization proved natural and useful in representing three different views of the cell system (functional, dynamic, and static structural) and in supporting bioscientists querying a system very close to their mental model.
1
Introduction
A biological cell is a complex system. It consists of a large number of components interacting with each other to perform cell functions. Each cell is a self-contained and self-maintaining entity: It can take in nutrients, convert these nutrients into energy, carry out specialized functions, and reproduce itself. The modelling and simulation of cell behaviour belongs to an emerging research area, Systems Biology [7], whose aim is to understand how biological systems function, by studying at different abstraction levels the relationships and interactions between various parts of a biological system, e.g. organelles, cells, physiological systems, organisms etc., and producing a model as close as possible to the biological reality. The modelling of complex systems, as suggested in Kitano [7], implies a deep understanding of the biological system both in terms of its structure and its behaviour. Cells grow through the functioning of cell metabolism. Cell metabolism is the process by which individual cells process nutrient molecules. In particular, carbohydrate oxidation is the process by which a cell produces ?
This work was supported by Center of Excellence for Research ‘DEWS: Architectures and Design Methodologies for Embedded Controllers, Wireless Interconnect and System-on-chip’ and Italian CIPE project ’Sistemi Cooperativi Multiagente’. Work completed while the second author was on Fulbright leave at University of Oregon.
energy through chemical transformation of carbohydrates [5]. In biochemistry, those cell processes, which imply a series of chemical reactions within a cell, are called metabolic pathways. In this paper, we propose a multi-agent system (MAS) [6] to model carbohydrate oxidation cell metabolism, to evaluate how agent-based computing paradigm in modelling three different views of the cell system: functional, dynamic and structural. The first view shows the cell’s functionalities and who are the components (actors) that perform cell functions, i.e the agent society and agents’ roles. The second view shows when and how any components, within its role, participates to cell functions, i.e. the agents communication protocols and tasks flow description. The third view shows what concepts describe the conceptual model of cell system behaviour. A set of variables and a set of relationships, comprise the agents’ domain ontology knowledge. The multi-agent approach allows one to design systems very close to the mental model of its user. The resulting multi-agent system is very flexible. It supports changes to the model during simulation time, by adding and removing components, by changing the behaviour of components, and by moving, cloning and consuming components as happens naturally in the cell. Furthermore, the agents’ autonomy and pro-activity allow one to easily represent the non-deterministic behavioural model of the cell as in nature. Thus, one is allowed to progressively refine components and develop the simulation system. We have designed the cell simulation system using the PASSI ToolKit 1 and we have implemented it on the Hermes platform [3]. For lack of space, many details are omitted. The full description of the system can be found in [4]. In the next section of the paper, we summarize the cell process of carbohydrate oxidation. In Section 3, we introduce AOSE and describe the PASSI methodology. In Section 4, we present our MAS for modelling carbohydrate oxidation. Section 5 concludes.
2
Introduction to the Cell System Structure and Behaviour
The cell consists of a large number of components interacting in a dynamic environment. We study the process of carbohydrate oxidation (CO), i.e the energy production process, that happens inside a cell through the transformation of carbohydrates [5]. We have considered the case of fructose, glucose, mannose, maltose, lactose, saccharose, glycogen and starch. Each kind of carbohydrate has its metabolic pathway, i.e. a series of chemical reactions, that can happen in presence of oxygen (aerobic respiration in mitochondria) or anaerobic metabolism (fermentation). The CO process is performed by two main cell components: Cytoplasm and Mitochondria. Cytoplasm is the viscid, semifluid component between the cell membrane and the nuclear envelope, where the first stage of carbohydrate molecule transformation takes place. It consists primarily of water. It also contains various organelles 1
http://mozart.csai.unipa.it/passi
(e.g. mitochondria) as well as salts, dissolved gasses and metabolites. During the CO process, the following metabolic pathways take place. Glycolysis: The first stage of the CO process, glycolysis converts one molecule of Glucose into two molecules of P yruvate 2 w.r.t. Glucose + 2AT P + 4ADP + 2P i + 2N ADox → 2P yruvate + 2ADP + 4AT P + 2N ADrid + 2H2 O
where AT P , ADP , P i, N ADox and N ADrid are energy packets. Depending on the cell typology and under anaerobic conditions the P yruvate is processed differently by Lactic Fermentation or by Alcoholic Fermentation. Lactic Fermentation: In absence of oxygen, lactic fermentation reduces the Pyruvate to Lactate. It occurs in anaerobic microorganisms (sour milk) and animal cells (muscle pain). Alcoholic Fermentation: In the absence of oxygen, alcoholic fermentation reduces Pyruvate to Ethanol. It occurs in yeast (Saccharomyces) causing the transformation of carbohydrates present in grapes and malted barley into Ethanol. Mitochondrion consists of two sub-components, the Inner Mitochondrial Membrane (IMM) and the Mitochondrial Matrix (MM), where the aerobic respiration takes place via four processes. Transportation: In IMM, transportation process transports Pyruvate from the Cytoplasm to MM. Electron Transport Chain: In IMM, electron transport chain transfers electrons from reduced NAD and FAD (energy packets) to the final electron acceptor, molecular oxygen. The function of this chain is to permit the controlled release of free energy to drive the synthesis of ATP (oxidative phosphorylation). Partial oxidation of Pyruvate: In MM, partial oxidation of Pyruvate degrades the Pyruvate w.r.t. 2P yruvate + 2N ADox + 2CoA → 2acetylCoA + 2N ADrid + 2CO2
Kreb’s Cycle: In MM, Kreb’s cycle forms part of the break down of carbohydrates, fats and proteins into carbon dioxide and water in order to generate energy, w.r.t. Acetil − CoA + 3N ADox + F ADox + GDP + P i → CoA + 3N ADrid + F ADrid + GT P + 2CO2
Following the Kitano suggestion [7], to model a biological system, we need to identify (1) the cell structure, to analyse (2) the cell behaviour, to control (3) the system simulation and to design (4) systems. In the next section, we introduce the PASSI methodology used to instantiate the Kitano’s approach.
3
Agent Oriented Software Engineering
Agent oriented software engineering (AOSE) is a new discipline [2, 8] which provides development methodologies and modelling techniques to support multiagent systems (MAS) engineering. Based on the agent computing paradigm, it 2
http://www.genome.jp/kegg/pathway/map/map00010.html
represents a guide for software engineers whose aim is to analyze, to model and to implement a complex system. In fact, by a multi-agent system we can simulate complex systems whose modelling becomes almost impossible without a rigorous guide. Several methodologies have been proposed in literature, among these, we have used the PASSI methodology because it is made up of many models, concerning different design levels. It supports the identification of a huge amount of variables, different system’s components behaviours, and the UML definition of different communications protocols by means of domain ontologies. Further, the PASSI ToolKit provides all the system specification by UML diagrams very helpful for the implementation. For our purposes, we have considered two design models: The System Requirements Model is an anthropomorphic model of the system requirements in terms of system functionalities (target) and system actors (agency). It is specified through four steps: 1. Domain Description: a functional description of the system, using conventional use-case diagrams. 2. Agent Identification: separation of responsibilities among actors (agents), represented by stereotyped packages. 3. Role Identification: a functional description of agent roles respect to the system functionalities and agents responsibilities, using sequence diagrams. 4. Task Specification: specification of the agent behaviour, using activity diagrams. The Agent Society Model is the social organization in terms of interactions and dependencies among agents. It is specified by three more steps: 5. Ontology Description: a description of the knowledge given to individual agents and the high-level language for their interactions, using of class diagrams and OCL constraints. 6. Role Description: a description of agent roles respect to the system functionalities, and the agent tasks, using class diagrams. 7. Protocol Description: a grammar of each pragmatic communication protocol in terms of performative speech-act, using sequence diagrams.
4
Modelling Carbohydrate Oxidation with a MAS
The PASSI methodology naturally leads to the identification of structure and behaviour of the cell and its components, in modelling the carbohydrate oxidation. In fact, the first two steps (1-2) of the system requirements model provide the functional view of the cell system; the next two steps (3-4) the dynamic view of the cell system and the last three steps (5-7) the structural view of the cell system. The model is summarized below; a full detailed description can be fund in [4]. Functional Model It defines the cell functionalities, the cell components and their roles by performing the first two UML diagrams. Domain Description Diagram: in Section 2, we have listed seven functions the cell system during the carbohydrate oxidation, known as metabolic pathways. Thus, it is natural to define the cell functional description by a UML diagram with seven use cases: Glycolysis, Lactic Fermentation, Alcoholic Fermentation, Transportation, Partial oxidation of Pyruvate, Krebs Cycle, Electron Transport
Utente AgCitosol
FermentazioneLattica
Gl icol isi
(from 01-Domain Des...)
AgInterfaccia
FermentazioneAlcol ica
(from Ag Citosol) (from Ag Citosol)
(from Ag Citosol)
INIZIALIZZAZIONEM ostraQuantitàAttuali (from Ag Interfaccia)
(from Ag Interfaccia)
M ostraAT PCi tosol (from Ag Interfaccia)
AgMembranaMitocondri aleInterna
Trasporto (from Ag MembranaMitocondrialeInter...
CatenaRespi ratoria (from Ag MembranaMitocondrialeInter...
AgStatoAttuale
AgMatriveMi tocondriale
AggiornaDati Condivisi (from Ag StatoAttua...
OssidazioneParzialeAcidoPiruvico Ci cloAcidoCi trico (from Ag MatriveM itocondria...
(from Ag MatriveM itocondria...
Fig. 1. Agent Identification: the Cell Components Stereotypes
Chain. To the final diagram, we have added four more functionalities, to support the execution environment and user interaction: Data Updating, Initialization, Quantitative Analysis and User Interface. Agent Identification Diagram: the agent-based simulation system aims to be close as much as possible to the mental model of its user, in our case the bioscientist, we have decided that every reactive cell component has been represented as an agent. In Section 2, we have identified that Cytoplasm and the Mitochondrion with its two sub-components Inner Mitochondrial Membrane (IMM) and Mitochondrial Matrix (MM) are involved in the seven cell functionalities. Since every functionality of the cell is associated with one of its components, it is natural to associate agents with their roles. Figure 1 3 shows the UML diagram where the cell components are agents. Note that component has different roles consistently with their cell functionalities. The agents can communicate with each other through a high-level communication protocol, and can change the environment state by modifying the environmental variables. Beside the three cell agent components we have defined two more agents as it follows: 3
The diagram is part of the real implementation and thus the labels are in Italian the native language of the designers. Glicolisi=Glycolysis; Fermentazione Lattica=Lactic Fermentation; Fermentazione Alcolica=Alcoholic Fermentation; Trasporto=Transportation; Catena Respiratoria=Electron Transport Chain; Acido Citrico=Kreb’s cycle; INIZIALIZZAZIONE=Initialization; AggiornaDatiCondivisi=updating; MostraATPCtosol=ATP; MostraQuantitaAttuali=Environment; Utente=User
: Utente
Inizializzazione : AgInterfaccia
AggiornaDatiCondivisi : AgStatoAttuale
Glicolisi : AgCitosol
FermentazioneLattica : AgCitosol
MostraATPCitosol : AgInterfaccia
DatiUtente ParametriIniziali InizializzazioneOK Richiesta ZuccheroINput + Dati Necessari ZuccheroINput + Dati Necessari AggiornaStatoDopoGlicolisi GlicolisiOK
Richiesta Piruvato + DatiNecessari Piruvato + DatiNecessari AggiornaStatoDopoFermentazioneLattica Stampa ATP + Tutti i dati ATP
Fig. 2. Roles Identification Diagram: the Lactic Fermentation Sequence Diagram
AgCytoplasm: an agent that simulates Cytoplasm. It plays the AlcholicFermentation, LacticFermentation, Glycolysis roles. AgMitocondrialInnerMembran: an agent that simulates the IMM. It plays the Transport, Electron Transport Chain roles. AgMitocondrialMatrix: an agent that simulates the MM. It plays the Oxidative Decarboxilation Of Pyruvate, Citric Acid Cycle i.e. the Kreb’s cycle roles. AgEnvironment: an agent that simulates the execution environment in which any cell process occurs. AgInterface: an user assistant agent. It embodies the interface between the user and the cell simulation system. Dynamic Model A dynamic model describes the cell components behaviours during the OC process, by means of third and fourth type of PASSI diagrams. Role Identification Diagrams: through these diagrams we describe the temporal order by which the agents activities are executed w.r.t. the communication protocol. For any metabolic pathway we have a sequences diagram which describes the temporal order of the communication acts occurring among agents undertaking a role in that pathway. Figure 2 shows only the diagram related to the Lactic Fermentation pathway, all others are described in [4]. Note that the AgCitosol agent undertakes two different roles in this pathway, that related to the Glycolise functionality, and that of the Lactic Fermentation. Any invoked action primitive that, like “Richiesta di Zucchero” (Sugar Request), belongs to the coordination protocol is described within the Ontology Description Diagram. Task Specification Diagrams: In the cell system, each component has its own behaviour for each of its roles. Thus, every agent of the system has its own activity diagram that specifies its behaviour within any of its roles. Figure 3 shows
AgMembranaMitocondrialeInterna .OssidazionePiruv ato
TrasportoInputOK( Fase = 2 )
Listener
RequestData Aconitasi AgStatoAttuale.SendData Isocitrato Citrato IsocitratoDeidrogenasi
GetData CitratoSintasi Controllo Fase
alf a-Chetoglutarato [ Fase == 3 ]
Piruv ato Deidrogenasi OK
MalatoDeidrogenasi
alf a-ChetoglutaratoDeidrogenasi
Malato Succinil-CoA
[ Fase == 2 ] Fumarasi
Succinil-CoASintetasi Fumarato
Piruv atoDeidrogena si
Ossalacetato
AgStatoAttuale.AggiornamentoStatus
Inv io Dati Aggiornati
Succinato SuccinatoDeidrogenasi
Acetil-CoA
SendData
Aggiorna dati
AgMembranaMitocondrialeInterna.Listener
Fase = 4
ConteggioQuantità
Fig. 3. Task Specification: the Mitochondrial Matrix Activity Diagram
the behaviour of the AgMitocondrialInnerMembrane agent, which simulates the Mitochondrial Matrix component. On the right hand side of the figure we can see the tasks comprising the Kreb’s Cycle, while the other activities are related to Partial oxidation of Pyruvate. The diagrams are fully described in [4]. Static Structural Model The static structural model is a conceptual model of the cell system. Following the PASSI methodology, it corresponds to the ontological description of the cell components and their interaction language, which gives rise to the agents’ knowledge and agents’ communication language. In this first version of the work, we have defined our cell ontology in terms of concepts, attributes (variables), relations, actions and predicates. In the future, we aim to include the standard notation provides by KEGG and SBML specification 4 . Ontology Description Diagram: Our domain is the cell. Thus, the ontology description relates to each metabolic pathway and substance used within the OC process. A metabolic pathway is described in terms of variables of the chemical reactions, by its relations with other pathways, and by actions, all those allowed in the pathway. A substance, as the carbohydrate, is described both in terms of its attributes and its predicates. Figure 4 shows only part of the ontology, the complete description is available in [4]. Beside, the description of cell components, the Communication Ontology Diagram describes the components interaction i.e. the agents communication language. The communication lan4
http://www.genome.jp/kegg/pathway.html
http://sbml.org
< < c o n c e p t> > F e rm e n ta zio n e L a ttic a
< < c o n c e p t> > F e rm e n ta zio n e Alc o lic a N AD rid : in t N AD o x : in t C O 2 : in t E ta n o lo : in t P iru va to : in t
< < c o n c e p t> > G ru p p o D a ti C ic lo K re b s
P iru va to : in t N AD rid : in t N AD o x : in t Ac id o L a ttic o : in t
1
1
N AD o x : in t N AD rid : in t H 2 O : in t AT P : in t AD P : in t F AD : in t F AD H 2 : in t C O 2 : in t Ac e tilC o A : in t C o A : in t
1
1 1 < < c o n c e p t> > G ru p p o D a ti C o n d ivis i
< < c on c e p t> > G ru p p o D a ti G lico lis i O s s ig e n o : B o o le a n C a rb o id ra to : in t Pi : in t AT P : in t AD P : in t N AD rid : in t N AD ox : in t Pi ru v a to : in t H 2 O : in t T ip o F e rm e n ta zio n e : in t
1
1
1 1
< < c o n c e p t> > G ru p p o D a ti O P P
< < c o n c ep t >> Fa s e
1
ID : in t N o m e : S trin g
1
1
Pi ru v a to : in t C O 2 : in t N AD rid : in t N AD o x : in t C o A : i nt Ac e tilC o A : in t
1
< < c o n c e p t> > G ru p p o D a ti R e s p ira zio n e C e llu la re 0 ..* < < c on c e p t> > C a rb o id ra t o ID _ T ip o : in t
N AD ox : i nt N AD rid : in t F AD H 2 : in t AT P : in t AD P : in t
Fig. 4. Ontology Description: the Cell Conceptual Model Class Diagram
guage consists of a set of primitives. Each primitive specifies the sender and its role, the receiver and its role and the type of message. Figure 5 shows part of the communication language, that occurs between two agents, AgStatoAttuale (i.e. environment) and AgMitocondrialMatrix. The communication primitive identified by AgMatriceMitochondriale-AgStatoAttuale, it is sent by the agent AgMitocondrialMatrix in its role CicloAcitiCitrico (i.e. Kreb’s Cycle), to the agent AgStatoAttuale in its role of AggiornaDatiCondivisi (i.e. environment); the message is described w.r.t the GruppoDatiCicloKreb ontology (see Figure4, it is coded by XML and it is sent by the FIPA communication protocol5 . Roles Description Diagram: it allows to define, for every agent w.r.t. its roles, the set of tasks and communications primitives the agent can use. Protocol Description Diagram: it describes the communication protocol shared among agents during the ontological communication at higher level. The system has been implemented by using the FIPA Request protocol. The simulation system, we have implemented, takes in input a carbohydrate fructose, glucose, mannose, maltose, lactose, saccharose, glycogenous and starch and behaves as a cellulae process, either aerobic (aerobic respiration in mitochondria) or anaerobic (fermentation). It supports query as “Which is the amount of ATP formed when a determined enzyme is inhibited or lack in the system?”, “Monitoring the metabolic pathway (the level of intermediate metabolites during 5
http://www.fipa.org
AgMatriceMitocondriale - AgStatoAttuale1 AgMatriceMitocondriale - AgStatoAttuale4
Ontology : Gruppo Dati OPP Language : XML Protocol : FIPARequest
Ontology : Gruppo Dati Ciclo Krebs Language : XML Protocol : FIPARequest
AgMatriceMitocondriale - AgStatoAttuale3 Ontology : Gruppo Dati OPP Language : XML Protocol : FIPARequest
Ag Matrice Mito co nd ria le - Ag St ato Attu al e1
+OssidazioneParzialeAcidoPiruvico
+Agg iorna DatiCo nd ivi si AgMatriceMitocondriale - AgStatoAttuale3
AgMatriceMitocondriale
+Aggiorna DatiCo nd ivi si AgStatoAttuale
+Ossida zi on eParzi ale Acid oP iruvico
Ossidazione Piruvato : Gruppo Dati OPP +CicloA ci do Ci tri co CiclodiKrebs : Gruppo Dati Ciclo Krebs Fase : Fase +OssidazioneParzialeAcidoPiruvico
AgMatriceMitocondriale - AgStatoAttuale4
+A gg iorna Dati Co nd ivi si
DatiCondivisi : Gruppo Dati Condivisi +AggiornaDatiCondivisi AgStatoAttuale - AgMatriceMitocondriale1
+Aggiorna DatiCond ivi si
+CicloAcidoCitrico +Aggiorna DatiCond ivi si
+CicloAcidoCitrico AgStatoAttuale - AgMatriceMitocondriale2
AgMatriceMitocondriale - AgStatoAttuale2 AgStatoAttuale - AgMatriceMitocondriale2 Ontology : Gruppo Dati Ciclo Krebs Language : XML Protocol : FIPARequest
AgMatriceMitocondriale AgStatoAttuale2 Ontology : Gruppo Dati Ciclo Krebs Language : XML Protocol : FIPARequest
AgStatoAttuale - AgMatriceMitocondriale1 Ontology : Gruppo Dati OPP Language : XML Protocol : FIPARequest
Fig. 5. Communication Ontology: the Cell Relationship Model Class Diagram
the pathways)”, “Establish the best carbohydrate source in terms of ATP production”, “Monitoring the ratio of NADrid/NADox and FADrid/Fadox during the oxidation process”. Table 1 summarizes some experimental cases in presence or in absence of oxygen; it is important to observe as M altose, Lactose and Saccharose are very more energetic than the other carbohydrates; Also Glycogen and Starch should be considered because they are polysaccharides; they are quantified in table with the quantity of P olysaccharides (length of each polysaccharides). It is important to notice that there is always equilibrium among ATP and ADP; NADox and NADrid, FADox and FADrid because the use of one, provokes the creation of the other and vice versa. The P yruvate and Acetyl − CoA are important intermediates substances that are created and used during the process. The value zero of that substances meaning that they are completely consumed.
5
Conclusion and Future Work
We found the close correspondence of system views to models natural and helpful in producing a simulation system, in contrast to a conventional mathematical model which lacks this modular structure. We expect the transparency and
Carbohydrate Quantity Oxygen Fermen-
ATP ADP NA
tation
Glucose Fructose Mannose Maltose Lactose Saccharose Glycogen Starch Glycogen Glucose Lactose Glucose
1 1 1 1 1 1 1(1) 1(1) 3(2) 3 1 1
yes yes yes yes yes yes yes yes yes No No No
/ / / / / / / / / Lactic Lactic Alcoholic
38 38 38 76 77 76 39 39 234 6 5 2
-38 -38 -38 -76 -77 -76 -39 -39 -234 -6 -5 -2
NA FA
FA
Acetil Pyru- CO2 Ethanol Lactic
Drid Dox Drid Dox -CoA
vate
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0
Acid
6 6 6 12 12 12 6 6 36 0 0 2
0 0 0 0 0 0 0 0 0 0 0 2
0 0 0 0 0 0 0 0 0 6 4 0
Table 1. CellMAS simulation results for the oxidation of carbohydrate. For each listed Carbohydrate,note, that there is always equilibrium among ATP and ADT because the use of one provokes the creation of the other.
modularity of the system to be helpful in accommodating elaboration with new components and functionality, in collaboration with domain experts. The simulation studies have encouraged us to exploit the agent paradigm to model the cell system at a finer grain. We will exploit mobility to simulate cell components movement [1], which will be possible because the system has been implemented with Hermes middleware for mobile computing [3]. We also aim to use biological ontologies, like those in KEGG, to specify the domain description model, and use a formal notation like SBML for system behavioral analysis. Acknowledgements We would like to thank Michal Young and Nicola Cannata for valuable comments on a preliminary version of this paper.
References [1] L. Cardelli. Abstract machines of systems biology. In Transaction on Computation System Biology, LNCS. Springer-Verlag, 2005. to appear. [2] P. Ciancarini and M. Wooldridge. Agent-oriented software engineering. In S. Verlag, editor, 1st International Workshop on Agent-Oriented Software Engineering, volume 1957 of LNCS, pages 1–24, 2001. [3] F. Corradini and E. Merelli. Hermes: agent-based middleware for mobile computing. In Tutorial Book of SFM-05, LNCS. Springer-Verlag, 2005. to appear. [4] F. Corradini, E. Merelli, and M. Vita. Cell-mas: ATP production from carbohydrates oxydation. Technical Report TR05-2004, Universit` a di Camerino, Dicember 2004. [5] R. Garret and C. Grisham. Biochemistry. Sunder College Publishing, 1995. [6] N. Jennings. An agent-based approach for building complex software systems. Communication of ACM, 44(6):35–41, Apr. 2001. [7] H. Kitano. Foundations of Systems Biology. MIT Press, 2002. [8] F. Zambonelli and A. Omicini. Challenges and research directions in agent-oriented software engineering. In JAAMAS, 2004.