The erratic path towards complexity - Barton, Nicholas H; Zuidema, Willem (Current Biology)
Artificial Life models may shed new light on the long-standing challenge for evolutionary biology of explaining the origins of complex organs. Real progress on this issue, however, requires Artificial Life researchers to take seriously the tools and insights from population genetics.

The effects of genetic and geographic structure on neutral variation - Charlesworth, Brian; Charlesworth, Deborah; Barton, Nicholas H (Annual Review of Ecology and Systematics)
Variation within a species may be structured both geographically and by genetic background. We review the effects of such structuring on neutral variants, using a framework based on the coalescent process. Short-term effects of sex differences and age structure can be averaged out using fast timescale approximations, allowing a simple general treatment of effective population size and migration. We consider the effects of geographic structure on variation within and between local populations, first in general terms, and then for specific migration models. We discuss the close parallels between geographic structure and stable types of genetic structure caused by selection, including balancing selection and background selection. The effects of departures from stability, such as selective sweeps and population bottlenecks, are also described. Methods for distinguishing population history from the effects of ongoing gene flow are discussed. We relate the theoretical results to observed patterns of variation in natural populations.

On the maintenance of reproductive isolation in a mosaic hybrid zone between the toads Bombina bombina and B. variegata - Vines, Timothy; Kohler, S C; Thiel, M; Ghira, Ioan; Sands, T R; Maccallum, Catriona; Barton, Nicholas H; Nürnberger, Beate (Evolution)
Mosaic hybrid zones arise when ecologically differentiated taxa hybridize across a network of habitat patches. Frequent interbreeding across a small-scale patchwork can erode species differences that might have been preserved in a clinal hybrid zone. In particular, the rapid breakdown of neutral divergence sets an upper limit to the time for which differences at marker loci can persist. We present here a case study of a mosaic hybrid zone between the fire-bellied toads Bombina bombina and B. variegata (Anura: Discoglossidae) near Apahida in Romania. In our 20 × 20 km study area, we detected no evidence of a clinal transition but found a strong association between aquatic habitat and mean allele frequencies at four molecular markers. In particular, pure populations of B. bombina in ponds appear to cause massive introgression into the surrounding B. variegata gene pool found in temporary aquatic sites. Nevertheless, the genetic structure of these hybrid populations was remarkably similar to those of a previously studied transect near Pescenica (Croatia), which had both clinal and mosaic features: estimates of heterozygote deficit and linkage disequilibrium in each country are similar. In Apahida, the observed strong linkage disequilibria should stem from an imperfect habitat preference that guides most (but not all) adults into the habitats to which they are adapted. In the absence of a clinal structure, the inferred migration rate between habitats implies that associations between selected loci and neutral markers should break down rapidly. Although plausible selection strengths can maintain differentiation at those loci adapting the toads to either permanent or temporary breeding sites, the divergence at neutral markers must be transient. The hybrid zone may be approaching a state in which the gene pools are homogenized at all but the selected loci, not dissimilar from an early stage of sympatric divergence.

Stochastic mapping of morphological characters - Huelsenbeck, John; Nielsen, Rasmus; Bollback, Jonathan P (Systematic Biology)
Many questions in evolutionary biology are best addressed by comparing traits in different species. Often such studies involve mapping characters on phylogenetic trees. Mapping characters on trees allows the nature, number, and timing of the transformations to be identified. The parsimony method is the only method available for mapping morphological characters on phylogenies. Although the parsimony method often makes reasonable reconstructions of the history of a character, it has a number of limitations. These limitations include the inability to consider more than a single change along a branch on a tree and the uncoupling of evolutionary time from amount of character change. We extended a method described by Nielsen (2002, Syst. Biol. 51:729-739) to the mapping of morphological characters under continuous-time Markov models and demonstrate here the utility of the method for mapping characters on trees and for identifying character correlation.

True and false gharials: A nuclear gene phylogeny of crocodylia - Harshman, John; Huddleston, Christopher; Bollback, Jonathan P; Parsons, Thomas; Braun, Michael (Systematic Biology)
The phylogeny of Crocodylia offers an unusual twist on the usual molecules versus morphology story. The true gharial (Gavialis gangeticus) and the false gharial (Tomistoma schlegelii), as their common names imply, have appeared in all cladistic morphological analyses as distantly related species, convergent upon a similar morphology. In contrast, all previous molecular studies have shown them to be sister taxa. We present the first phylogenetic study of Crocodylia using a nuclear gene. We cloned and sequenced the c-myc proto-oncogene from Alligator mississippiensis to facilitate primer design and then sequenced an 1,100-base pair fragment that includes both coding and noncoding regions and informative indels for one species in each extant crocodylian genus and six avian outgroups. Phylogenetic analyses using parsimony, maximum likelihood, and Bayesian inference all strongly agreed on the same tree, which is identical to the tree found in previous molecular analyses: Gavialis and Tomistoma are sister taxa and together are the sister group of Crocodylidae. Kishino-Hasegawa tests rejected the morphological tree in favor of the molecular tree. We excluded long-branch attraction and variation in base composition among taxa as explanations for this topology. To explore the causes of discrepancy between molecular and morphological estimates of crocodylian phylogeny, we examined puzzling features of the morphological data using a priori partitions of the data based on anatomical regions and investigated the effects of different coding schemes for two obvious morphological similarities of the two gharials.

Symbolic algorithms for verification and control - Majumdar, Ritankar
Methods for the formal specification and verification of systems are indispensible for the development of complex yet correct systems. In formal verification, the designer describes the system in a modeling language with a well-defined semantics, and this system description is analyzed against a set of correctness requirements. Model checking is an algorithmic technique to check that a system description indeed satisfies correctness requirements given as logical specifications. While successful in hardware verification, the potential for model checking for software and embedded systems has not yet been realized. This is because traditional model checking focuses on systems modeled as finite state-transition graphs. While a natural model for hardware (especially synchronous hardware), state-transition graphs often do not capture software and embedded systems at an appropriate level of granularity. This dissertation considers two orthogonal extensions to finite state-transition graphs making model checking techniques applicable to both a wider class of systems and a wider class of properties. The first direction is an extension to infinite-state structures finitely represented using constraints and operations on constraints. Infinite state arises when we wish to model variables with unbounded range (e.g., integers), or data structures, or real time. We provide a uniform framework of symbolic region algebras to study model checking of infinite-state systems. We also provide sufficient language-independent termination conditions for symbolic model checking algorithms on infinite state systems. The second direction supplements verification with game theoretic reasoning. Games are natural models for interactions between components. We study game theoretic behavior with winning conditions given by temporal logic objectives both in the deterministic and in the probabilistic context. For deterministic games, we provide an extremal model characterization of fixpoint algorithms that link solutions of verification problems to solutions for games. For probabilistic games we study fixpoint characterization of winning probabilities for games with omega-regular winning objectives, and construct (epsilon-)optimal winning strategies.

Giotto: A time-triggered language for embedded programming - Horowitz, Benjamin
Giotto provides a time-triggered programmer’s model for the implementation of embedded control systems with hard real-time constraints. Giotto’s precise semantics and predictabil- ity make it suitable for safety-critical applications. Giotto is based around the idea that time-triggered task invocation together with time-triggered mode switching can form a useful programming model for real-time systems. To substantiate this claim, we describe the use of Giotto to refactor the software of a small, autonomous helicopter. The ease with which Giotto expresses the existing software provides evidence that Giotto is an appropriate programming language for control systems. Since Giotto is a real-time programming language, ensuring that Giotto programs meet their deadlines is crucial. To study precedence-constrained Giotto scheduling, we first examine single-mode, single-processor scheduling. We extend to an infinite, periodic setting the classical problem of meeting deadlines for a set of tasks with release times, deadlines, precedence constraints, and preemption. We then develop an algorithm for scheduling Giotto programs on a single processor by representing Giotto programs as instances of the extended scheduling problem. Next, we study multi-mode, single-processor Giotto scheduling. This problem is different from classical scheduling problems, since in our precedence-constrained approach, the deadlines of tasks may vary depending on the mode switching behavior of the program. We present conditional scheduling models which capture this varying-deadline behavior. We develop polynomial-time algorithms for some conditional scheduling models, and prove oth- ers to be computationally hard. We show how to represent multi-mode Giotto programs as instances of the model, resulting in an algorithm for scheduling multi-mode Giotto programs on a single processor. Finally, we show that the problem of scheduling Giotto programs for multiple net- worked processors is strongly NP-hard.

From pre-historic to post-modern symbolic model checking - Henzinger, Thomas A; Kupferman, Orna; Qadeer, Shaz (Formal Methods in System Design)
Symbolic model checking, which enables the automatic verification of large systems, proceeds by calculating expressions that represent state sets. Traditionally, symbolic model-checking tools are based on back- ward state traversal; their basic operation is the function pre, which, given a set of states, returns the set of all predecessor states. This is because specifiers usually employ formalisms with future-time modalities, which are naturally evaluated by iterating applications of pre. It has been shown experimentally that symbolic model checking can perform significantly better if it is based, instead, on forward state traversal; in this case, the basic operation is the function post, which, given a set of states, returns the set of all successor states. This is because forward state traversal can ensure that only parts of the state space that are reachable from an initial state and relevant for the satisfaction or violation of the specification are explored; that is, errors can be detected as soon as possible. In this paper, we investigate which specifications can be checked by symbolic forward state traversal. We formulate the problems of symbolic backward and forward model checking by means of two μ-calculi. The pre-μ calculus is based on the pre operation, and the post-μ calculus is based on the post operation. These two μ-calculi induce query logics, which augment fixpoint expressions with a boolean emptiness query. Using query logics, we are able to relate and compare the symbolic backward and forward approaches. In particular, we prove that all ω-regular (linear-time) specifications can be expressed as post-μ queries, and therefore checked using symbolic forward state traversal. On the other hand, we show that there are simple branching-time specifications that cannot be checked in this way.

Counterexample-guided control - Henzinger, Thomas A; Jhala, Ranjit; Majumdar, Ritankar (Proceedings of the 30th International Colloquium on Automata, Languages and Programming)
A major hurdle in the algorithmic verification and control of systems is the need to find suitable abstract models, which omit enough details to overcome the state-explosion problem, but retain enough details to exhibit satisfaction or controllability with respect to the specification. The paradigm of counterexample-guided abstraction refinement suggests a fully automatic way of finding suitable abstract models: one starts with a coarse abstraction, attempts to verify or control the abstract model, and if this attempt fails and the abstract counterexample does not correspond to a concrete counterexample, then one uses the spurious counterexample to guide the refinement of the abstract model. We present a counterexample-guided refinement algorithm for solving ω-regular control objectives. The main difficulty is that in control, unlike in verification, counterexamples are strategies in a game between system and controller. In the case that the controller has no choices, our scheme subsumes known counterexample-guided refinement algorithms for the verification of ω-regular specifications. Our algorithm is useful in all situations where ω-regular games need to be solved, such as supervisory control, sequential and program synthesis, and modular verification. The algorithm is fully symbolic, and therefore applicable also to infinite-state systems.

Thread-modular abstraction refinement - Henzinger, Thomas A; Jhala, Ranjit; Majumdar, Ritankar; Qadeer, Shaz (Proceedings of the 15th International Conference on Computer Aided Verification)
We present an algorithm called TAR (“Thread-modular Abstraction Refinement”) for model checking safety properties of concurrent software. The TAR algorithm uses thread-modular assume-guarantee reasoning to overcome the exponential complexity in the control state of multithreaded programs. Thread modularity means that TAR explores the state space of one thread at a time, making assumptions about how the environment can interfere. The TAR algorithm uses counterexample-guided predicate-abstraction refinement to overcome the usually infinite complexity in the data state of C programs. A successive approximation scheme automatically infers the necessary precision on data variables as well as suitable environment assumptions. The scheme is novel in that transition relations are approximated from above, while at the same time environment assumptions are approximated from below. In our software verification tool BLAST we have implemented a fully automatic race checker for multithreaded C programs which is based on the TAR algorithm. This tool has verified a wide variety of commonly used locking idioms, including locking schemes that are not amenable to existing dynamic and static race checkers such as ERASER or WARLOCK.

Schedule-carrying code - Henzinger, Thomas A; Kirsch, Christoph; Matic, Slobodan (Proceedings of the 3rd International Conference on Embedded Software)
We introduce the paradigm of schedule-carrying code (SCC). A hard real-time program can be executed on a given platform only if there exists a feasible schedule for the real-time tasks of the program. Traditionally, a scheduler determines the existence of a feasible schedule according to some scheduling strategy. With SCC, a compiler proves the existence of a feasible schedule by generating executable code that is attached to the program and represents its schedule. An SCC executable is a real-time program that carries its schedule as code, which is produced once and can be revalidated and executed with each use. We evaluate SCC both in theory and practice. In theory, we give two scenarios, of nonpreemptive and distributed scheduling for Giotto programs, where the generation of a feasible schedule is hard, while the validation of scheduling instructions that are attached to the programs is easy. In practice, we implement SCC and show that explicit scheduling instructions can reduce the scheduling overhead up to 35% and can provide an efficient, flexible, and verifiable means for compiling Giotto programs on complex architectures, such as the TTA.

Embedded control systems development with Giotto - Henzinger, Thomas A; Horowitz, Benjamin; Kirsch, Christoph (Software-Enabled Control: Information Technology for Dynamical Systems)
Giotto is a principled, tool-supported design methodology for implementing embedded control systems on platforms of possibly distributed sensors, actuators, CPUs, and networks. Giotto is based on the principle that time-triggered task invocations plus time-triggered mode switches can form the abstract essence of programming real-time control systems. Giotto consists of a programming language with a formal semantics, and a retargetable compiler and runtime library. Giotto supports the automation of control system design by strictly separating platform-independent functionality and timing concerns from platform-dependent scheduling and communication issues. The time-triggered predictability of Giotto makes it particularly suitable for safety-critical applications with hard real-time constraints. We illustrate the platform independence and time-triggered execution of Giotto by coordinating a heterogeneous flock of Intel x86 robots and Lego Mindstorms robots.

On the universal and existential fragments of the mu-calculus - Henzinger, Thomas A; Kupferman, Orna; Majumdar, Ritankar (Proceedings of the 9th International Conference on Tools and Algorithms for the Construction and Analysis of Systems)
One source of complexity in the μ-calculus is its ability to specify an unbounded number of switches between universal (AX) and existential (EX) branching modes. We therefore study the problems of satisfiability, validity, model checking, and implication for the universal and existential fragments of the μ-calculus, in which only one branching mode is allowed. The universal fragment is rich enough to express most specifications of interest, and therefore improved algorithms are of practical importance. We show that while the satisfiability and validity problems become indeed simpler for the existential and universal fragments, this is, unfortunately, not the case for model checking and implication. We also show the corresponding results for the alternationfree fragment of the μ-calculus, where no alternations between least and greatest fixed points are allowed. Our results imply that efforts to find a polynomial-time model-checking algorithm for the μ-calculus can be replaced by efforts to find such an algorithm for the universal or existential fragment.

Software verification with BLAST - Henzinger, Thomas A; Jhala, Ranjit; Majumdar, Ritankar; Sutre, Grégoire (Proceedings of the 10th International SPIN Workshop)
BLAST (the Berkeley Lazy Abstraction Software verification Tool) is a verification system for checking safety properties of C programs using automatic property-driven construction and model checking of software abstractions. Blast implements an abstract-model check-refine loop to check for reachability of a specified label in the program. The abstract model is built on the fly using predicate abstraction. This model is then checked for reachability. If there is no (abstract) path to the specified error label, Blast reports that the system is safe and produces a succinct proof. Otherwise, it checks if the path is feasible using symbolic execution of the program. If the path is feasible, Blast outputs the path as an error trace, otherwise, it uses the infeasibility of the path to refine the abstract model. Blast short-circuits the loop from abstraction to verification to refinement, integrating the three steps tightly through “lazy abstraction” [5]. This integration can offer significant advantages in performance by avoiding the repetition of work from one iteration of the loop to the next.

From control models to real-time code using Giotto - Henzinger, Thomas A; Kirsch, Christoph; Sanvido, Marco; Pree, Wolfgang (IEEE Control Systems Magazine)
Giotto is a high-level programming language for time-triggered control applications. The authors begin with a conceptual overview of its methodology, discuss the Giotto helicopter project, and summarize available Giotto implementations.

Giotto: A time-triggered language for embedded programming - Henzinger, Thomas A; Horowitz, Benjamin; Kirsch, Christoph (Proceedings of the IEEE)
Giotto provides an abstract programmer's model for the implementation of embedded control systems with hard real-time constraints. A typical control application consists of periodic software tasks together with a mode-switching logic for enabling and disabling tasks. Giotto specifies time-triggered sensor readings, task invocations, actuator updates, and mode switches independent of any implementation platform. Giotto can be annotated with platform constraints such as task-to-host mappings, and task and communication schedules. The annotations are directives for the Giotto compiler, but they do not alter the functionality and timing of a Giotto program. By separating the platform-independent from the platform-dependent concerns, Giotto enables a great deal of flexibility in choosing control platforms as well as a great deal of automation in the validation and synthesis of control software. The time-triggered nature of Giotto achieves timing predictability, which makes Giotto particularly suitable for safety-critical applications.

Resource interfaces - Chakrabarti, Arindam; De Alfaro, Luca; Henzinger, Thomas A; Stoelinga, Mariëlle (Third International Conference on Embedded Software)
We present a formalism for specifying component interfaces that expose component requirements on limited resources. The formalism permits an algorithmic check if two or more components, when put together, exceed the available resources. Moreover, the formalism can be used to compute the quantity of resources necessary for satisfying the requirements of a collection of components. The formalism can be instantiated in several ways. For example, several components may draw power from the same source. Then, the formalism supports compatibility checks such as: can two components, when put together, achieve their tasks without ever exceeding the available amount of peak power? or, can they achieve their tasks by using no more than the initially available amount of energy (i.e., power accumulated over time)? The corresponding quantitative questions that our algorithms answer are the following: what is the amount of peak power needed for two components to be put together? what is the corresponding amount of initial energy? To solve these questions, we model interfaces with resource requirements as games with quantitative objectives. The games are played on state spaces where each state is labeled by a number (representing, e.g., power consumption), and a play produces an infinite path of labels. The objective may be, for example, to minimize the largest label that occurs during a play. We illustrate our approach by modeling compatibility questions for the components of robot control software, and of wireless sensor networks.

Expression of the metabotropic glutamate receptor, mGluR4a, in the taste hairs of taste buds in rat gustatory papillae - Toyono, Takashi; Seta, Yuji; Sataoka, Shinji; Harada, Harumi; Morotomi, Takahiko; Kawano, Shintaro; Shigemoto, Ryuichi; Toyoshima, Kuniaki (Archives of Histology and Cytology)
Taste-mGluR4, cloned from taste tissues, is a truncated variant of brain-expressed mGluR4a (brain-mGluR4), and is known to be a candidate for the receptor involved in the umami taste sense. Although the expression patterns of taste- and brain-mGluR4 mRNAs have been demonstrated, no mention has so far been made of the expression of these two mGluR4 proteins in taste tissues. The present study examined the expression of taste-mGluR4 and brain-mGluR4 proteins in rat taste tissues by using a specific antibody for mGluR4a which shared a C-terminus of both taste- and brain-mGluR4, for immunoblot analysis and immunohistochemistry. Immunoblot analysis showed that both brain-mGluR4 and taste-mGluR4 were expressed in the taste tissues. Taste-mGluR4 was not detected in the cerebellum. The immunoreactive band for brain-mGluR4 protein was much stronger than that for taste-mGluR4 protein. In the cryosections of fungiform, foliate and circumvallate papillae, the antibody against taste-mGluR4 exhibited intense labeling of the taste pores and taste hairs in all the taste buds of gustatory papillae examined; the immunoreaction to the antibody against brain-mGluR4 was more intense at the same sites of the taste buds. The portions of the taste bud cells below the taste pore and surrounding keratinocytes did not show any immunoreactivities. The results of the present study strongly suggest that, in addition to taste-mGluR4, brain-mGluR4 may function even more importantly than the former as a receptor for glutamate, i.e. the umami taste sensation.

Differential distribution of group I metabotropic glutamate receptors during rat cortical development - López Bendito, Guillermina; Shigemoto, Ryuichi; Fairén, Alfonso; Luján, Rafael (Cerebral Cortex)
Neurons in the rat cerebral cortex are enriched in group I metabotropic glutamate receptor (mGluR) subtypes and respond to their activation during development. To understand better the mechanisms by which mGluR1 and mGluR5 mediate these effects, the goal of this study was to elucidate the expression pattern and to determine the cellular and the precise subcellular localization of these two receptor subtypes in the rat neocortex and hippocampus during late prenatal and postnatal development. At the light microscopic level, mGluR1 α and mGluR5 were first detected in the cerebral cortex with different expression levels at embryonic day E18. Thus, mGluR5 had a moderate expression, whereas mGluR1 α was detected as a diffuse and weak labeling. mGluR5 was localized in some Cajal-Retzius cells as well as in other cell types, such as pioneer neurons of the marginal zone. During postnatal development, the distribution of the receptors dramatically changed. From P0 to around P10, mGluR1α was localized in identified, transient Cajal-Retzius cells of neocortex and hippocampus, until these cells disappear. In addition, a population of interneurons localized the receptor from the second/third postnatal week. In contrast, mGluR5 was localized mainly in pyramidal cells and in some interneurons, with a neuropilar staining throughout the cerebral cortex. At the electron microscopic level, the immunoreactivity for both group I mGluR subtypes was expressed postsynaptically. Using immunogold methods, mGluR1α and mGluR5 immunoreactivities were found throughout postnatal development at the edge of postsynaptic specialization of asymmetrical synapses. These results show that the two group I mGluRs have a differential expression pattern in neocortex and hippocampus that may suggest roles for the receptors in the early processing of cortical information and in the control of cortical developmental events.

Cell type dependence and variability in the short-term plasticity of EPSCs in identified mouse hippocampal interneurones - Losonczy, Attila; Zhang, Limei; Ryuichi Shigemoto; Somogyi, Péter; Nusser, Zoltán (Journal of Physiology)
Synapses exhibit different short-term plasticity patterns and this behaviour influences information processing in neuronal networks. We tested how the short-term plasticity of excitatory postsynaptic currents (EPSCs) depends on the postsynaptic cell type, identified by axonal arborizations and molecular markers in the hippocampal CA1 area. Three distinct types of short-term synaptic behaviour (facilitating, depressing and combined facilitating-depressing) were defined by fitting a dynamic neurotransmission model to the data. Approximately 75 % of the oriens-lacunosum-moleculare (O-LM) interneurones received facilitating EPSCs, but in three of 12 O-LM cells EPSCs also showed significant depression. Over 90 % of the O-LM cells were immunopositive for somatostatin and mGluR1α and all tested cells were decorated by strongly mGluR7a positive axon terminals. Responses in eight of 12 basket cells were described well with a model involving only depression, but the other cells displayed combined facilitating-depressing EPSCs. No apparent difference was found between the plasticity of EPSCs in cholecystokinin- or parvalbumin-containing basket cells. In oriens-bistratified cells (O-Bi), two of nine cells showed facilitating EPSCs, another two depressing, and the remaining five cells combined facilitating-depressing EPSCs. Seven of 10 cells tested for somatostatin were immunopositive, but mGluR1α was detectable only in two of 11 tested cells. Furthermore, most O-Bi cells projected to the CA3 area and the subiculum, as well as outside the hippocampal formation. Postsynaptic responses to action potentials recorded in vivo from a CA1 place cell were modelled, and revealed great differences between and within cell types. Our results demonstrate that the short-term plasticity of EPSCs is cell type dependent, but with significant heterogeneity within all three interneurone populations.