Formal Methods in System Design - Special issue on The First Federated Logic Conference (FLOC'96), part II
Symbolic Model Checking of Biochemical Networks
CMSB '03 Proceedings of the First International Workshop on Computational Methods in Systems Biology
Formal Modeling of C. elegans Development: A Scenario-Based Approach
CMSB '03 Proceedings of the First International Workshop on Computational Methods in Systems Biology
The Immune System as a Reactive System: Modeling T Cell Activation With Statecharts
HCC '01 Proceedings of the IEEE 2001 Symposia on Human Centric Computing Languages and Environments (HCC'01)
Combinatorial sketching for finite programs
Proceedings of the 12th international conference on Architectural support for programming languages and operating systems
Probabilistic model checking of complex biological pathways
Theoretical Computer Science
Deriving linearizable fine-grained concurrent objects
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Sketching concurrent data structures
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Bounded Asynchrony: Concurrency for Modeling Cell-Cell Interactions
FMSB '08 Proceedings of the 1st international workshop on Formal Methods in Systems Biology
Programming in Scala: A Comprehensive Step-by-step Guide
Programming in Scala: A Comprehensive Step-by-step Guide
IJCAI'05 Proceedings of the 19th international joint conference on Artificial intelligence
From program verification to program synthesis
Proceedings of the 37th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Abstract interpretation of cellular signalling networks
VMCAI'08 Proceedings of the 9th international conference on Verification, model checking, and abstract interpretation
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
Learning Genetic Regulatory Network Connectivity from Time Series Data
IEEE/ACM Transactions on Computational Biology and Bioinformatics (TCBB)
Automating string processing in spreadsheets using input-output examples
Proceedings of the 38th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Communications of the ACM
Scala to the power of Z3: integrating SMT and programming
CADE'11 Proceedings of the 23rd international conference on Automated deduction
CAV'12 Proceedings of the 24th international conference on Computer Aided Verification
Hi-index | 0.00 |
Executable biology presents new challenges to formal methods. This paper addresses two problems that cell biologists face when developing formally analyzable models. First, we show how to automatically synthesize a concurrent in-silico model for cell development given in-vivo experiments of how particular mutations influence the experiment outcome. The problem of synthesis under mutations is unique because mutations may produce non-deterministic outcomes (presumably by introducing races between competing signaling pathways in the cells) and the synthesized model must be able to replay all these outcomes in order to faithfully describe the modeled cellular processes. In contrast, a "regular" concurrent program is correct if it picks any outcome allowed by the non-deterministic specification. We developed synthesis algorithms and synthesized a model of cell fate determination of the earthworm C. elegans. A version of this model previously took systems biologists months to develop. Second, we address the problem of under-constrained specifications that arise due to incomplete sets of mutation experiments. Under-constrained specifications give rise to distinct models, each explaining the same phenomenon differently. Addressing the ambiguity of specifications corresponds to analyzing the space of plausible models. We develop algorithms for detecting ambiguity in specifications, i.e., whether there exist alternative models that would produce different fates on some unperformed experiment, and for removing redundancy from specifications, i.e., computing minimal non-ambiguous specifications. Additionally, we develop a modeling language and embed it into Scala. We describe how this language design and embedding allows us to build an efficient synthesizer. For our C. elegans case study, we infer two observationally equivalent models expressing different biological hypotheses through different protein interactions. One of these hypotheses was previously unknown to biologists.