What contribution can automated reasoning make to e-Science? Marta Kwiatkowska School of Computer Science www.cs.bham.ac.uk/~mzk ARW’05 panel Let’s begin with definitions Science: a method of learning about the physical universe by applying the principles of the scientific method, which includes making empirical observations, proposing hypotheses to explain those observations, and testing those hypotheses in valid and reliable ways; also refers to the organized body of knowledge that results from scientific study e-Science computationally intensive science. It is also the type of science that is carried out in highly distributed network environments, or science that uses immense data sets that require grid computing. Examples of this include social simulations, particle physics, earth sciences and bioinformatics. So it is about a transition from… To this… What enables e-Science? Data sharing: distribution, query searches, curation – Distributed databases – Web-services – Ontologies Collaboration: coordination, concurrency control – Collaborative protocols – Workflow – Web-service orchestration Compute power: scheduling, , load-balancing, performance – Computer clusters – Campus Grids – Large-scale grids The e-Scientist of the future Will this work? The Internet Remote access to high-performance computers, via Internet Remote access to visualisation facilities, via Internet Computational steering from anywhere, via PDA Visualisation, on your laptop Fast, online, accurate, … The pi-calculus example Biztalk – Based on pi-calculus Verification of security policies – Use ProVerif, pi-calculus tool Biological processes – Stochastic pi-calulcus What is special about pi-calculus? – About processes and dynamics – Formal semantics, rigour – Matches the software/systems trends: dynamic, mobile, interacting, reconfigurable – Automated tools! Contribution from automated reasoning Computer systems-related – More of what is already being done – databases, distributed systems, collaborative environments – but larger scale! – Distributed coordination, concurrency control, databases, performance, etc – New challenges Science-related – Rigorous computational foundation for modelling process dynamics, e.g. biological systems – Study of fundamental principles – Modelling – process calculi, automata, logics – Analysis, simulation, model checking, – Theory and tools Modelling and Analysis Iterative cycle of – Hypothesis forming, modelling, analysis – Experimental validation, feedback Methods of analysis – – – – Simulation Automated verification, e.g. model checking Probabilistic verification Formal reasoning Key goals – Realisation, when model consistently produces outputs that cannot be falsified by biological experiment – In-silico prediction of organism’s response – Automation of the analysis process What is computer science? Computer science The systematic study of computing systems and computation. The body of knowledge resulting from this discipline contains theories for understanding computing systems and methods; design methodology, algorithms, and tools; methods for the testing of concepts; methods of analysis and verification; and knowledge representation and implementation. Computer Science contribution Formal languages and models – Principles and interaction primitives specific for biological processes – Hybrid models for continuous and discrete dynamics – Reasoning frameworks to establish important properties – Control-theoretic techniques for robustness Automation of analysis: research leading to the tools – Efficient algorithms, for bioinformatics, analysis – Quantitative and qualitative model checking – Grid computing, e-Science Scalability – Model reductions, abstraction – Hierachical decomposition – Compositionality