Vertical Integration Across Biological Scales A New Framework for the Systematic Integration of Models in Systems Biology University College London CoMPLEX.

Slides:



Advertisements
Similar presentations
Integration of MBSE and Virtual Engineering for Detailed Design
Advertisements

Improving Learning Object Description Mechanisms to Support an Integrated Framework for Ubiquitous Learning Scenarios María Felisa Verdejo Carlos Celorrio.
A Workflow Engine with Multi-Level Parallelism Supports Qifeng Huang and Yan Huang School of Computer Science Cardiff University
Agenda Definitions Evolution of Programming Languages and Personal Computers The C Language.
Crucial Patterns in Service- Oriented Architecture Jaroslav Král, Michal Žemlička Charles University, Prague.
Programming Languages for End-User Personalization of Cyber-Physical Systems Presented by, Swathi Krishna Kilari.
Component Oriented Programming 1 Chapter 2 Theory of Components.
Architecture Representation
Lecture # 2 : Process Models
CS487 Software Engineering Omar Aldawud
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
UNCERTML - DESCRIBING AND COMMUNICATING UNCERTAINTY Matthew Williams
0 General information Rate of acceptance 37% Papers from 15 Countries and 5 Geographical Areas –North America 5 –South America 2 –Europe 20 –Asia 2 –Australia.
L4-1-S1 UML Overview © M.E. Fayad SJSU -- CmpE Software Architectures Dr. M.E. Fayad, Professor Computer Engineering Department, Room #283I.
Business Process Orchestration
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. WSMX Data Mediation Adrian Mocan
Introduction to Software Design Chapter 1. Chapter 1: Introduction to Software Design2 Chapter Objectives To become familiar with the software challenge.
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
GMD German National Research Center for Information Technology Innovation through Research Jörg M. Haake Applying Collaborative Open Hypermedia.
February Semantion Privately owned, founded in 2000 First commercial implementation of OASIS ebXML Registry and Repository.
Enterprise Systems & Architectures. Enterprise systems are mainly composed of information systems. Business process management mainly deals with information.
Software Engineering Muhammad Fahad Khan
WP.5 - DDI-SDMX Integration
WP.5 - DDI-SDMX Integration E.S.S. cross-cutting project on Information Models and Standards Marco Pellegrino, Denis Grofils Eurostat METIS Work Session6-8.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.
Service-enabling Legacy Applications for the GENIE Project Sofia Panagiotidi, Jeremy Cohen, John Darlington, Marko Krznarić and Eleftheria Katsiri.
Introduction to MDA (Model Driven Architecture) CYT.
Scientific Workflow Interchanging Through Patterns: Reversals and Lessons Learned Bruno Fernandes Bastos Regina Maria Maciel Braga Antônio Tadeu Azevedo.
Workflow Early Start Pattern and Future's Update Strategies in ProActive Environment E. Zimeo, N. Ranaldo, G. Tretola University of Sannio - Italy.
Chapter 1 Introduction to Structured Design. Introduction  System  A combination of people, equipment, and procedures that work together to perform.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Component Technology. Challenges Facing the Software Industry Today’s applications are large & complex – time consuming to develop, difficult and costly.
Issues in (Financial) High Performance Computing John Darlington Director Imperial College Internet Centre Fast Financial Algorithms and Computing 4th.
I Power Higher Computing Software Development The Software Development Process.
SCIRun and SPA integration status Steven G. Parker Ayla Khan Oscar Barney.
Software Design Patterns (1) Introduction. patterns do … & do not … Patterns do... provide common vocabulary provide “shorthand” for effectively communicating.
Design Concepts By Deepika Chaudhary.
GSFL: A Workflow Framework for Grid Services Sriram Krishnan Patrick Wagstrom Gregor von Laszewski.
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
Distribution and components. 2 What is the problem? Enterprise computing is Large scale & complex: It supports large scale and complex organisations Spanning.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
1 CSCD 326 Data Structures I Software Design. 2 The Software Life Cycle 1. Specification 2. Design 3. Risk Analysis 4. Verification 5. Coding 6. Testing.
Enabling Grids for E-sciencE Astronomical data processing workflows on a service-oriented Grid architecture Valeria Manna INAF - SI The.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Enabling Components Management and Dynamic Execution Semantic.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
CPSC 873 John D. McGregor Session 9 Testing Vocabulary.
OOP (Object Oriented Programming) Lecture 1. Why a new paradigm is needed? Complexity Five attributes of complex systems –Frequently, complexity takes.
Review of Parnas’ Criteria for Decomposing Systems into Modules Zheng Wang, Yuan Zhang Michigan State University 04/19/2002.
MNP1163/MANP1163 (Software Construction).  Minimizing complexity  Anticipating change  Constructing for verification  Reuse  Standards in software.
Secure middleware patterns E.B.Fernandez. Middleware security Architectures have been studied and several patterns exist Security aspects have not been.
Information Design Trends Unit 4 : Sources and Standards Lecture 1: Content Management Part 1.
Research Word has a broad spectrum of meanings –“Research this topic on ….” –“Years of research has produced a new ….”
Model Based Systems Engineering Visualization Steven Corns Missouri University of Science & Technology.
Statistical process model Workshop in Ukraine October 2015 Karin Blix Quality coordinator
 System Requirement Specification and System Planning.
Overview on the work performed during EPIKH Training Faiza MEDJEK /INFN, CATANIA 1.
Creativity of Algorithms & Simple JavaScript Commands
System Design.
Web Ontology Language for Service (OWL-S)
Outline Pursue Interoperability: Digital Libraries
CS/ECE Computer Systems Analysis
Presented By: Darlene Banta
Applying Use Cases (Chapters 25,26)
Applying Use Cases (Chapters 25,26)
Software Architecture & Design
Presentation transcript:

Vertical Integration Across Biological Scales A New Framework for the Systematic Integration of Models in Systems Biology University College London CoMPLEX DTI Beacon Project

Talk Outline 1. The Need for a new Computational Framework in Systems Biology 2. Main Features of our suggested Framework 3. An example: Neta’s sleeping and feeding patterns 4. Framework proposal in detail 5. Next steps (Items 3 and 4 only if time permits)

Status of biological modelling Cornucopia of models Different paradigms Different assumptions Based on different experimental evidence Created in ‘foreign’ languages Documented without standardisation “Manual integration”, often at the code level No repository of models

Two Main Challenges The Processing Challenge Model Integration Tool Support Visualization Automatic model generation The Information Management Challenge Cataloguing existing models Linking to experimental results and previous modeling results

A unified modeling language or framework - The need Currently existing modeling languages: Were developed in other fields, then applied to Systems Biology. Address only a certain aspect of biological systems, completely ignoring other aspects. Do not address the need for model integration. No language was developed, as a result of an analysis of the requirements for modeling in Systems biology.

Requirement Survey Diversity of biological processes to be modeled Biological Organization Different modeling Schemes ODE’s, Stochastic, Process algebra Many different tools for available for each scheme Iterative Modelling Process Model verification: One should be able to use the model to make predictions, which would later be verified by further experiments The model would then be modified, in light of the new experimental results.

Requirements Survey - Conclusion The main features of the new modeling approach should be: Modularity – probably through componentization Modularity also serves to support gradual, piece wise development Heterogeneity - Integration of models created in different schemes. Support for Meaningful Integration Care for Semantics (Probably through use of Ontologies) Representation and observance of assumptions and constraints

Suggested Component Based, MiddleWare Framework Consists of a component middleware and a set of supporting services Context/Interpretation Repository, Model Repository Models are executed in their original language, using their native environment, in a distributed manner Instantiated models are exposed as components, having well defined interfaces. A new language enables one to create composite models. An orchestrator executes a composite model, by calling the different engines to execute the submodels it is composed of, and integrating the computational results

Proposed Middleware Architecture Orchestrator Interpretation Service Context Service Compounder Engine Wrapper Mathematica (Running model C) Engine Wrapper Xppaut (running model B) Engine Wrapper C++ (Running model A)

Neta’s Sleeping and feeding patterns

Neta’s Sleeping and Feeding Patterns – A model Assume: x(t) - Neta’s sleepiness at any given time (1- very alert, 10 very sleepy), y(t) - Neta’s hunger level at any given time (1 – bottle rejected in disgust, 10 – had been screaming for a bottle for the last 10 minutes) z(t) - Neta’s interest level in the current activity provided her, at any given time (1 – not interested, up to 10, very interested) a and b are parameters for the model: a is Neta’s daily nutritional requirement, and b is Neta’s daily sleep requirement. Then: dx/dt = b  x(t) - y(t) – z(t) dy/dt = -x(t)+a  y(t) + z(t)

One Model, Different Interfaces: A single model can support a diverse range of functionality, or interfaces: Each possible interface has its own required context “If you provide me with …., I will be able to tell you …. Thus, each model’s meta-data, should specify a context/provided interface table

The context/provided interface table for Neta’s model:

Proprietry and Standard Engines Models are interpreted using engines. The engine actually implements the interfaces (functionality), according to the model specs. An engine can be seen as a Model Instance Factory

Engine – A Model Instance Factory Model Instance Factory O. Margo Neta’s Model Context 1 (a,b,polytrack z(t)) Model Instance ‘yellow’ (supports yellow methods) Creates

Engine – A Model Instance Factory Model Instance Factory O. Margo Neta’s Model Context 2 (a,b) Model Instance ‘green’ (supports green methods) Creates

Proprietary & Standard Engines How does one exploit a model’s functionality - How does one communicate with the model? Usually this is done in a proprietary, specific way, provided and specified by the engine on which the model is interpreted. But we would like this communication, or model usage, to be performed in a standard way, in order to enable model integration The solution: Use wrappers. Wrappers also expose the Engine’s Model Instance Factory functionality in a standard way We have already written such wrappers for Xppaut and Mathematica.

Standard Engines and Engine Wrappers Proprietry Engine Very_weird_call1(input in proprietry format, output in proprietry format) Wrapper Standard_call1(in put, output in standard format) Outside World Standard Engine

The Orchestrator The Orchestrator is an Engine, that can interpret composite models It is mainly a coordinator, or a workflow execution service. May run models either sequentially or concurrently May use a compounder to solve concurrently two or more models, which form a feedback loop Composite Models are specified in the Composite Models Language – BeCMolla (Beacon Composite Models Language)

A Simple Example(1) Assume we also have : Liat’s Neta model, depicting Neta’s interest level in the current activity: dz/dt = C(i) – k*(a*x(t-t 0 )+y(t-t 0 )) The NHS standard feeding calculator When provided when Neta’s age and weight, gives you Neta’s daily feeding requirements (a) and hours of sleep required (b)

A Simple Example (2) We can now create a composite model, to predict Neta’s feeding, sleeping, and interest level patterns: This composite model would provide the following functionality:

A Simple Example(3) This model is composed, and will be solved, as follows: The NHS model would be run first, and then Ofer and Liat’s model would be solved together, using a compounder NHS Ofer Liat

A Simple Example (4) Orchestrator Interpretation Service Context Service Compounder Engine Wrapper Mathematica (Running model C) Engine Wrapper Xppaut (running model B) Engine Wrapper C++ (Running model A)

Where now? We need to define the ‘model components’ interface language Select an underlying middleware architecture we would like to use: Web Services? Web Services + (OGSA|BEPL|XLANG|W3C Choreography)? Java objects? CCA? SBW? Devise the numerical algorithms which can be used to integrate models together Actually build a framework (an implementation)