• No se han encontrado resultados

To address the second limitation the hierarchical organization (Southern et al., 2008) of biological systems needs to be represented explicitly in the models. Throughout we assume that biological systems can be decomposed in a top- down manner from coarse-grained (e.g. population/organism) to fine-grained (e.g. intracellular/molecular) scales. Moreover at each scale (e.g. organ) one or multiple biological subsystems (e.g. heart and kidney) could be explicitly considered. The number and type of biological subsystems and/or scales considered differs depending on the addressed biological question.

To formally encode this hierarchical top-down structure a rooted (directed) tree (Bondy and Murty, 2010, Chapter 4) is employed called the multiscale architecture graph MA = (VMA, EMA), where VMA represents the set of vertices

and EMA the set of directed edges. Each vertex v ∈ VMA is encoded as a tuple (sc, subsys) where subsys represents a particular biological subsystem (e.g. heart) and sc its corresponding scale (e.g. organ). The root vertex (e.g. (organism, human)) corresponds to the most coarse-grained representation of the biological system considered. Directed edges (v, vi) ∈ EMA, i = 1, m, link the biological subsystem represented by vertex v to all its m constituent subsystems from finer-grained scales represented by vertices vi.

The main reason for choosing the rooted directed tree representation is that its structure is inherently hierarchical and represents the organization of biological organisms. Moreover it can be used to encode how the behaviour of a subsystem from a higher scale is determined by the behaviour of one or multiple subsystems from lower scales.

Given a biological system BS the corresponding MA graph is constructed as follows; see Figure 5.2 for an illustrative example. First of all both BS and its corresponding subsystems relevant to the addressed biological question, together with their associated scale, are encoded as a set of vertices VMA (see Figure 5.2(a)). Secondly starting from the vertices at the most coarse-grained scales directed edges are added towards their constituent subsystems. This step is repeated for all finer-grained scales considered until the entire hierarchical structure of BS is explicitly represented. Depending on the hierarchical representation of BS, vertices at the same depth in MA could correspond to different scales (see Figure 5.2(b)). The resulting MA graph should be a directed connected rooted acyclic graph, which means there exists a unique path from the root to every vertex, respectively MA should not contain any cycles.

However for some systems it is possible that the resulting MA graph is a directed acyclic graph but not a rooted directed tree because it contains vertices that have multiple incoming directed edges, which means they are part of more than one biological subsystem. For instance in Figure 5.2(b) the vertex (Tissue, CardiacMuscle) has two parent vertices, namely (OrganSystem, Cardiovascular) and (OrganSystem, Musculoskeletal). Vertices having more than one parent vertex in a directed acyclic graph are similar to classes which inherit from multiple parent classes (i.e. multiple inheritance) in object oriented programming. In our approach multiple inheritance is resolved by transforming the directed acyclic graph in a rooted directed tree. Every vertex with n incoming directed edges is replicated n − 1 times such that each instance of the vertex has only one incoming directed edge. In order to distinguish between the n vertex instances either the associated scale or subsystem label needs to be renamed accordingly (see Figure 5.2(c)).

(d) Ensure there is only one root vertex

(c) Replicate and update vertices with more than one incoming directed edge (b) Add directed edges between vertices

OrganSystem, Cardiovascular OrganSystem, Musculoskeletal Organ, Liver

Tissue, CardiacMuscle

OrganSystem, Cardiovascular OrganSystem, Musculoskeletal Organ, Liver

CardiovascularTissue, CardiacMuscle MusculoskeletalTissue, CardiacMuscle

OrganSystem, Cardiovascular OrganSystem, Musculoskeletal Organ, Liver

Organism, Human

CardiovascularTissue, CardiacMuscle MusculoskeletalTissue, CardiacMuscle OrganSystem, Cardiovascular OrganSystem, Musculoskeletal Organ, Liver

Tissue, CardiacMuscle

(a) Encode biological subsystems as vertices

Figure 5.2: Illustrative example on how to construct a multiscale architecture graph. Let us assume that the biological subsystems considered are the human liver, the cardiac muscle tissue, and the car- diovascular and musculoskeletal organ systems. First of all (a) the biological subsystems and their asso- ciated scales are encoded as vertices (OrganSystem, Cardiovascular), (OrganSystem, Musculoskeletal), (Organ, Liver) and (Tissue, CardiacMuscle). Next (b) directed edges are added between each system

and its constituent subsystems. The considered directed edges are ((OrganSystem, Cardiovascular), (Tissue, CardiacMuscle)) and ((OrganSystem, Musculoskeletal), (Tissue, CardiacMuscle)). The next step (c) is to eliminate vertices with multiple incoming directed edges from the graph. Therefore the vertex (Tissue, CardiacMuscle) is duplicated, each resulting instance (i.e. (CardiovascularTissue, Car- diacMuscle) and (MusculoskeletalTissue, CardiacMuscle)) is renamed according to its corresponding parent vertex, and the directed edges are updated accordingly. The last step (d) is to ensure that the MA graph’s root vertex is unique. For this purpose the (Organism, Human) vertex and the corre- sponding directed edges ((Organism, Human), (OrganSystem, Cardiovascular)), ((Organism, Human), (OrganSystem, Musculoskeletal)) and ((Organism, Human), (Organ, Liver)) are added to MA.

directed acyclic graph in a rooted directed tree are clarity and simplicity because each vertex in the tree will have only one parent, and implicitly the path from the root of the tree to each vertex is unique. Conversely the main disadvantage is that vertices need to be replicated and this leads to an increase in the size of the MA graph. Alternative approaches for resolving multiple inheritance which do not require increasing the number of vertices in the graph are graph-oriented and linear solutions (Snyder, 1986). In graph-oriented solutions the structure of the directed acyclic graph is preserved, whereas in linear solutions the directed acyclic graph is flattened and transformed into a linear sequence of vertices such that each vertex has at most one parent and/or child vertex. However whenever employing graph-oriented and linear solutions vertex descriptions are lengthier because the parent vertex (i.e. context) considered for each vertex needs to be defined explicitly.

Finally it may happen that in the updated MA graph multiple vertices v1, v2, ..., vp do not have any incoming directed edge and should therefore be labelled as root vertices (see Figure 5.2(c)). However in a rooted directed tree there can only be one root vertex. To address this issue an artificial root vertex vroot can be created and added to VMA, whose corresponding scale is higher than that of v1, v2, ..., vp, and which will be connected via a directed outgoing edge with each vertex vi, i = 1, p. Although the vertex vroot will not be explicitly considered in the model it ensures that the structure of MA is tree-like (see Figure 5.2(d)). Considering that the resulting MA graph is a rooted directed tree, a strict partial order < can be defined over the set of vertices VMA, where v1 < v2, for all v1, v2 ∈ VMA, if the unique path from the root to v1 passes through v2. Similarly a non-strict partial order ≤ can be defined over VMA, where v1 ≤ v2 if the unique path from the root to v1 passes through v2, or v1 = v2. One of the main practical benefits of defining these partial orders is that they enable writing expressions for referring to all subsystems vi of a system vj (vi ≤ vj), and all ancestor/parent systems vk of a subsystem vl (vl < vk) in a concise manner. Therefore such expressions could be employed to write shorter formal specifications against which MSSpDES models are validated.

To enable mapping both numeric and spatial state variables to particular scales and subsystems encoded as vertices in the MA graph the state variable scale and subsystem assignment function SVSS is introduced:

SVSS : NSV ∪ SpSV → VMA,

and VMA is the set of vertices corresponding to MA.

Documento similar