SlideShare a Scribd company logo
1 of 64
Download to read offline
MODULAR MODELING:
STANDARDS AND TOOLS
            LUCIAN SMITH
             SBML TEAM
           HTTP://SBML.ORG/

              CALTECH


    IMAG WEBINAR, MARCH 8TH, 2013
FORMS OF MODULARITY
FORMS OF MODULARITY



• WITHIN-MODEL
 ORGANIZATION
FORMS OF MODULARITY



• WITHIN-MODEL
 ORGANIZATION
FORMS OF MODULARITY



• MODEL IMPORT
FORMS OF MODULARITY



• MODEL IMPORT
FORMS OF MODULARITY



• MODEL IMPORT
FORMS OF MODULARITY



• MODEL IMPORT
FORMS OF MODULARITY



• MIMIC REALITY
FORMS OF MODULARITY



• SYNTHETIC DESIGN
FORMS OF MODULARITY


• LARGE-SCALE AND
  MULTI-SCALE MODEL
 DESIGN
FORMS OF MODULARITY


• LARGE-SCALE AND
  MULTI-SCALE MODEL
 DESIGN
FORMS OF MODULARITY


• LARGE-SCALE AND
  MULTI-SCALE MODEL
 DESIGN
FORMS OF MODULARITY


• LARGE-SCALE AND
  MULTI-SCALE MODEL
 DESIGN
FORMS OF MODULARITY


• LARGE-SCALE AND
  MULTI-SCALE MODEL
 DESIGN
BASIC MODULARITY REQUIREMENTS
BASIC MODULARITY REQUIREMENTS


• DEFINE/IMPORT MODULES
BASIC MODULARITY REQUIREMENTS


• DEFINE/IMPORT MODULES
• CONNECT ELEMENTS
BASIC MODULARITY REQUIREMENTS

• DEFINE/IMPORT MODULES
• CONNECT ELEMENTS
• RUN SIMULATION
DEFINE MODULES


         mod1    mod2




         mod3    mod4
IMPORT MODULES
                        extmodel


         mod1




         mod3    mod4
CONNECT ELEMENTS

              P
                          Q

                  A
          B           C       R

                  D
CONNECT ELEMENTS

              P
                          Q

                  A
          B           C       R

                  D
CONNECT ELEMENTS

              P
                          Q

                  A
          B           Q       R

                  D
CONNECT ELEMENTS

              P


                      Q
                  A
          B               R

                  D
SIMULATE: FLATTEN
SIMULATE MODULARLY
SIMULATE MODULARLY
SIMULATE MODULARLY
STANDARDS: CELLML
STANDARDS: CELLML

<component name="environment">
  <variable units="ms" public_interface="out" name="time" cmeta:id="environment_time"/>
</component>
<component name="membrane">
  <variable units="mV" public_interface="out" cmeta:id="membrane_V" name="V" initial_value="-84.624"/>
  <variable units="uF_per_mm2" cmeta:id="membrane_C" name="C" initial_value="0.01"/>
  <variable units="ms" public_interface="in" name="time"/>
  <variable units="uA_per_mm2" public_interface="in" name="i_Na"/>
  <variable units="uA_per_mm2" public_interface="in" name="i_s"/>
  <variable units="uA_per_mm2" public_interface="in" name="i_x1"/>
  <variable units="uA_per_mm2" public_interface="in" name="i_K1"/>
  <variable units="uA_per_mm2" public_interface="in" name="Istim"/>
  <math xmlns="http://www.w3.org/1998/Math/MathML" cmeta:id="membrane_voltage_diff_eq">
   <apply>
     <eq/>
     <apply>
       <diff/>
       <bvar>
STANDARDS: CELLML

<component name="environment">
  <variable units="ms" public_interface="out" name="time" cmeta:id="environment_time"/>
</component>
<component name="membrane">
  <variable units="mV" public_interface="out" cmeta:id="membrane_V" name="V" initial_value="-84.624"/>
  <variable units="uF_per_mm2" cmeta:id="membrane_C" name="C" initial_value="0.01"/>
  <variable units="ms" public_interface="in" name="time"/>
  <variable units="uA_per_mm2" public_interface="in" name="i_Na"/>
  <variable units="uA_per_mm2" public_interface="in" name="i_s"/>
  <variable units="uA_per_mm2" public_interface="in" name="i_x1"/>
  <variable units="uA_per_mm2" public_interface="in" name="i_K1"/>
  <variable units="uA_per_mm2" public_interface="in" name="Istim"/>
  <math xmlns="http://www.w3.org/1998/Math/MathML" cmeta:id="membrane_voltage_diff_eq">
   <apply>
     <eq/>
     <apply>
       <diff/>
       <bvar>
STANDARDS: CELLML

<component name="environment">
  <variable units="ms" public_interface="out" name="time" cmeta:id="environment_time"/>
</component>
<component name="membrane">
  <variable units="mV" public_interface="out" cmeta:id="membrane_V" name="V" initial_value="-84.624"/>
  <variable units="uF_per_mm2" cmeta:id="membrane_C" name="C" initial_value="0.01"/>
  <variable units="ms" public_interface="in" name="time"/>
  <variable units="uA_per_mm2" public_interface="in" name="i_Na"/>
  <variable units="uA_per_mm2" public_interface="in" name="i_s"/>
  <variable units="uA_per_mm2" public_interface="in" name="i_x1"/>
  <variable units="uA_per_mm2" public_interface="in" name="i_K1"/>
  <variable units="uA_per_mm2" public_interface="in" name="Istim"/>
  <math xmlns="http://www.w3.org/1998/Math/MathML" cmeta:id="membrane_voltage_diff_eq">
   <apply>
     <eq/>
     <apply>
       <diff/>
       <bvar>
STANDARDS: CELLML

<connection>
  <map_components component_2="environment" component_1="membrane"/>
  <map_variables variable_2="time" variable_1="time"/>
</connection>
<connection>
  <map_components component_2="environment" component_1="sodium_current"/>
  <map_variables variable_2="time" variable_1="time"/>
</connection>
<connection>
  <map_components component_2="environment" component_1="slow_inward_current"/>
  <map_variables variable_2="time" variable_1="time"/>
</connection>
<connection>
  <map_components component_2="environment" component_1="time_dependent_outward_current"/>
  <map_variables variable_2="time" variable_1="time"/>
</connection>
STANDARDS: CELLML

<connection>
  <map_components component_2="environment" component_1="membrane"/>
  <map_variables variable_2="time" variable_1="time"/>
</connection>
<connection>
  <map_components component_2="environment" component_1="sodium_current"/>
  <map_variables variable_2="time" variable_1="time"/>
</connection>
<connection>
  <map_components component_2="environment" component_1="slow_inward_current"/>
  <map_variables variable_2="time" variable_1="time"/>
</connection>
<connection>
  <map_components component_2="environment" component_1="time_dependent_outward_current"/>
  <map_variables variable_2="time" variable_1="time"/>
</connection>
STANDARDS: CELLML

<connection>
  <map_components component_2="environment" component_1="membrane"/>
  <map_variables variable_2="time" variable_1="time"/>
</connection>
<connection>
  <map_components component_2="environment" component_1="sodium_current"/>
  <map_variables variable_2="time" variable_1="time"/>
</connection>
<connection>
  <map_components component_2="environment" component_1="slow_inward_current"/>
  <map_variables variable_2="time" variable_1="time"/>
</connection>
<connection>
  <map_components component_2="environment" component_1="time_dependent_outward_current"/>
  <map_variables variable_2="time" variable_1="time"/>
</connection>
TOOLS: CELLML




• OPENCELL 0.8
TOOLS: CELLML




• OPENCOR V0.0
STANDARDS: SBML
STANDARDS: SBML
<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
 <model id="bistable">
  <listOfCompartments>
   <compartment id="default_compartment" size="1"/>
  </listOfCompartments>
  <listOfSpecies>
   <species id="s1" compartment="default_compartment"/>
   <species id="s2" compartment="default_compartment"/>
  </listOfSpecies>
  <listOfParameters>
   <parameter id="k1" value="1"/>
   <parameter id="k2" value="1"/>
  </listOfParameters>
  <listOfReactions>
   <reaction id="g1">
     <listOfProducts>
       <speciesReference species="s1"/>
     </listOfProducts>
     <listOfModifiers>
       <modifierSpeciesReference species="s2"/>
     </listOfModifiers>
STANDARDS: SBML
<sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4">
 <model id="bistable">
  <listOfCompartments>
   <compartment id="default_compartment" size="1"/>
  </listOfCompartments>
  <listOfSpecies>
   <species id="s1" compartment="default_compartment"/>
   <species id="s2" compartment="default_compartment"/>
  </listOfSpecies>
  <listOfParameters>
   <parameter id="k1" value="1"/>
   <parameter id="k2" value="1"/>
  </listOfParameters>
  <listOfReactions>
   <reaction id="g1">
     <listOfProducts>
       <speciesReference species="s1"/>
     </listOfProducts>
     <listOfModifiers>
       <modifierSpeciesReference species="s2"/>
     </listOfModifiers>
STANDARDS: SBML-COMPOSITION*
<model>
 <listOfParameters>
  <parameter id="timeconv" value="60" constant="true"/>
 </listOfParameters>
 <comp:listOfSubmodels>
  <comp:submodel comp:id="sub1" comp:modelRef="moddef2“ comp:timeConversionFactor="timeconv
 </comp:listOfSubmodels>
</model>
<comp:listOfModelDefinitions>
 <comp:modelDefinition id="moddef2">
  <listOfParameters>
    <parameter id="timeconv" value="60" constant="true"/>
  </listOfParameters>
  <comp:listOfSubmodels>
    <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv
  </comp:listOfSubmodels>
 </comp:modelDefinition>
 <comp:modelDefinition id="moddef1">
  <listOfParameters>
    <parameter id="t1" constant="false"/>
                                                          *HIERARCHICAL MODEL COMPOSITION
  </listOfParameters>
STANDARDS: SBML-COMPOSITION*
<model>
 <listOfParameters>
  <parameter id="timeconv" value="60" constant="true"/>
 </listOfParameters>
 <comp:listOfSubmodels>
  <comp:submodel comp:id="sub1" comp:modelRef="moddef2“ comp:timeConversionFactor="timeconv
 </comp:listOfSubmodels>
</model>
<comp:listOfModelDefinitions>
 <comp:modelDefinition id="moddef2">
  <listOfParameters>
    <parameter id="timeconv" value="60" constant="true"/>
  </listOfParameters>
  <comp:listOfSubmodels>
    <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv
  </comp:listOfSubmodels>
 </comp:modelDefinition>
 <comp:modelDefinition id="moddef1">
  <listOfParameters>
    <parameter id="t1" constant="false"/>
                                                          *HIERARCHICAL MODEL COMPOSITION
  </listOfParameters>
STANDARDS: SBML-COMPOSITION*
<model>
 <listOfParameters>
  <parameter id="timeconv" value="60" constant="true"/>
 </listOfParameters>
 <comp:listOfSubmodels>
  <comp:submodel comp:id="sub1" comp:modelRef="moddef2“ comp:timeConversionFactor="timeconv
 </comp:listOfSubmodels>
</model>
<comp:listOfModelDefinitions>
 <comp:modelDefinition id="moddef2">
  <listOfParameters>
    <parameter id="timeconv" value="60" constant="true"/>
  </listOfParameters>
  <comp:listOfSubmodels>
    <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv
  </comp:listOfSubmodels>
 </comp:modelDefinition>
 <comp:modelDefinition id="moddef1">
  <listOfParameters>
    <parameter id="t1" constant="false"/>
                                                          *HIERARCHICAL MODEL COMPOSITION
  </listOfParameters>
STANDARDS: SBML-COMPOSITION*
<model>
 <listOfParameters>
  <parameter id="timeconv" value="60" constant="true"/>
 </listOfParameters>
 <comp:listOfSubmodels>
  <comp:submodel comp:id="sub1" comp:modelRef="moddef2“ comp:timeConversionFactor="timeconv
 </comp:listOfSubmodels>
</model>
<comp:listOfModelDefinitions>
 <comp:modelDefinition id="moddef2">
  <listOfParameters>
    <parameter id="timeconv" value="60" constant="true"/>
  </listOfParameters>
  <comp:listOfSubmodels>
    <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv
  </comp:listOfSubmodels>
 </comp:modelDefinition>
 <comp:modelDefinition id="moddef1">
  <listOfParameters>
    <parameter id="t1" constant="false"/>
                                                          *HIERARCHICAL MODEL COMPOSITION
  </listOfParameters>
STANDARDS: SBML-COMPOSITION*
<model>
 <listOfParameters>
  <parameter id="timeconv" value="60" constant="true"/>
 </listOfParameters>
 <comp:listOfSubmodels>
  <comp:submodel comp:id="sub1" comp:modelRef="moddef2“ comp:timeConversionFactor="timeconv
 </comp:listOfSubmodels>
</model>
<comp:listOfModelDefinitions>
 <comp:modelDefinition id="moddef2">
  <listOfParameters>
    <parameter id="timeconv" value="60" constant="true"/>
  </listOfParameters>
  <comp:listOfSubmodels>
    <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv
  </comp:listOfSubmodels>
 </comp:modelDefinition>
 <comp:modelDefinition id="moddef1">
  <listOfParameters>
    <parameter id="t1" constant="false"/>
                                                          *HIERARCHICAL MODEL COMPOSITION
  </listOfParameters>
STANDARDS: SBML-COMPOSITION
<model id="foo" name="foo">
 <listOfParameters>
  <parameter id=“Q" value="3" constant="true">
    <comp:listOfReplacedElements>
      <comp:replacedElement comp:idRef=“C" comp:submodelRef=“sub1"/>
    </comp:listOfReplacedElements>
  </parameter>
 </listOfParameters>
 <comp:listOfSubmodels>
  <comp:submodel comp:id=“sub1" comp:modelRef="bar"/>
 </comp:listOfSubmodels>
</model>
STANDARDS: SBML-COMPOSITION
<model id="foo" name="foo">
 <listOfParameters>
  <parameter id=“Q" value="3" constant="true">
    <comp:listOfReplacedElements>
      <comp:replacedElement comp:idRef=“C" comp:submodelRef=“sub1"/>
    </comp:listOfReplacedElements>
  </parameter>
 </listOfParameters>
 <comp:listOfSubmodels>
  <comp:submodel comp:id=“sub1" comp:modelRef="bar"/>
 </comp:listOfSubmodels>
</model>
TOOLS: ANTIMONY
TOOLS: ANTIMONY
TOOLS: ANTIMONY
TOOLS: ANTIMONY
TOOLS: ANTIMONY


• TRANSLATION TO
  CELLML
TOOLS: ANTIMONY


• TRANSLATION TO
  SBML
TOOLS: ANTIMONY


• TRANSLATION TO
  FLATTENED SBML
TOOLS: ANTIMONY


• TRANSLATION TO
  FLATTENED SBML
TOOLS: IBIOSIM


• CREATION OF
  MODULAR
  MODELS
TOOLS: TINKERCELL


• CREATION OF
  MODULAR
 SYNTHETIC
 CIRCUITS
TOOLS: JIGCELL


• HAD CUSTOM
  MODULAR SBML
  IN 2007
REFERENCES

• CELLML, OPENCELL, OPENCOR:         HTTP://CELLML.ORG

• SBML:                               HTTP://SBML.ORG

• ANTIMONY:                     HTTP://ANTIMONY.SF.NET

• IBIOSIM:      HTTP://WWW.ASYNC.ECE.UTAH.EDU/IBIOSIM

• JIGCELL:                     HTTP://JIGCELL.CS.VT.EDU

• TINKERCELL:              HTTP://WWW.TINKERCELL.COM
QUESTIONS?
BLACK-BOX VS. WHITE-BOX

• CELLML IS ‘BLACK-BOX’
  • CANNOT MODIFY NON-INTERFACE ELEMENTS WITHOUT
   CHANGING MODEL
• SBML-COMPOSITION IS ‘WHITE-BOX’
  • AN INTERFACE IS SUGGESTED, BUT YOU ARE ALLOWED TO
   ACCESS ANY INTERNAL ELEMENT
BLACK-BOX VS. WHITE-BOX

                                • WHITE BOX
 • BLACK BOX
                                   • EASIER TO RE-USE MODELS
    • STRICTER CONTROL
                                     IN NEW CONTEXTS
    • MORE PREDICTABLE
                                   • CAN RE-USE INTERNAL
     BEHAVIOR
                                     CONSTANTS MORE READILY


ULTIMATELY SMALL DIFFERENCES: EDITS CAN CHANGE ONE TO THE OTHER
PROCESS VS. MATH

More Related Content

Similar to Lucian Smith - Modular Modeling: Standards and Tools (IMAG)

Advanced RESTful Rails
Advanced RESTful RailsAdvanced RESTful Rails
Advanced RESTful RailsViget Labs
 
Advanced RESTful Rails
Advanced RESTful RailsAdvanced RESTful Rails
Advanced RESTful RailsBen Scofield
 
AngularJS in 60ish Minutes
AngularJS in 60ish MinutesAngularJS in 60ish Minutes
AngularJS in 60ish MinutesDan Wahlin
 
Java Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom TagsJava Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom TagsIMC Institute
 
Ruby on Rails + AngularJS + Twitter Bootstrap
Ruby on Rails + AngularJS + Twitter BootstrapRuby on Rails + AngularJS + Twitter Bootstrap
Ruby on Rails + AngularJS + Twitter BootstrapMarcio Marinho
 
Most important "trick" of performance instrumentation
Most important "trick" of performance instrumentationMost important "trick" of performance instrumentation
Most important "trick" of performance instrumentationCary Millsap
 
Angular presentation
Angular presentationAngular presentation
Angular presentationMatus Szabo
 
Summer Training 2015 at Alternate Hydro Energy Center
Summer Training 2015 at Alternate Hydro Energy CenterSummer Training 2015 at Alternate Hydro Energy Center
Summer Training 2015 at Alternate Hydro Energy CenterKhusro Kamaluddin
 
Performance measurement and tuning
Performance measurement and tuningPerformance measurement and tuning
Performance measurement and tuningAOE
 
Angular Deep Directive
Angular Deep DirectiveAngular Deep Directive
Angular Deep DirectiveHenry Tao
 
AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014
AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014
AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014FalafelSoftware
 
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical UniversityASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical UniversitySyed Shanu
 
Angular Performance: Then, Now and the Future. Todd Motto
Angular Performance: Then, Now and the Future. Todd MottoAngular Performance: Then, Now and the Future. Todd Motto
Angular Performance: Then, Now and the Future. Todd MottoFuture Insights
 
BPM-1 Introduction to Advanced Workflows
BPM-1 Introduction to Advanced WorkflowsBPM-1 Introduction to Advanced Workflows
BPM-1 Introduction to Advanced WorkflowsAlfresco Software
 
Write Once, Run Everywhere - Ember.js Munich
Write Once, Run Everywhere - Ember.js MunichWrite Once, Run Everywhere - Ember.js Munich
Write Once, Run Everywhere - Ember.js MunichMike North
 
Contoh program c++ kalkulator
Contoh program c++ kalkulatorContoh program c++ kalkulator
Contoh program c++ kalkulatorJsHomeIndustry
 

Similar to Lucian Smith - Modular Modeling: Standards and Tools (IMAG) (20)

Advanced RESTful Rails
Advanced RESTful RailsAdvanced RESTful Rails
Advanced RESTful Rails
 
Advanced RESTful Rails
Advanced RESTful RailsAdvanced RESTful Rails
Advanced RESTful Rails
 
AngularJS.part1
AngularJS.part1AngularJS.part1
AngularJS.part1
 
AngularJS in 60ish Minutes
AngularJS in 60ish MinutesAngularJS in 60ish Minutes
AngularJS in 60ish Minutes
 
Java Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom TagsJava Web Programming [5/9] : EL, JSTL and Custom Tags
Java Web Programming [5/9] : EL, JSTL and Custom Tags
 
Ruby on Rails + AngularJS + Twitter Bootstrap
Ruby on Rails + AngularJS + Twitter BootstrapRuby on Rails + AngularJS + Twitter Bootstrap
Ruby on Rails + AngularJS + Twitter Bootstrap
 
Most important "trick" of performance instrumentation
Most important "trick" of performance instrumentationMost important "trick" of performance instrumentation
Most important "trick" of performance instrumentation
 
Angular presentation
Angular presentationAngular presentation
Angular presentation
 
Summer Training 2015 at Alternate Hydro Energy Center
Summer Training 2015 at Alternate Hydro Energy CenterSummer Training 2015 at Alternate Hydro Energy Center
Summer Training 2015 at Alternate Hydro Energy Center
 
Performance measurement and tuning
Performance measurement and tuningPerformance measurement and tuning
Performance measurement and tuning
 
AngularJS
AngularJSAngularJS
AngularJS
 
Angular Deep Directive
Angular Deep DirectiveAngular Deep Directive
Angular Deep Directive
 
Spring Web MVC
Spring Web MVCSpring Web MVC
Spring Web MVC
 
Jgrass newage-water
Jgrass newage-waterJgrass newage-water
Jgrass newage-water
 
AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014
AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014
AngularJS in 60ish Minutes - Dan Wahlin | FalafelCON 2014
 
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical UniversityASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
ASP.NET MVC, AngularJS CRUD for Azerbaijan Technical University
 
Angular Performance: Then, Now and the Future. Todd Motto
Angular Performance: Then, Now and the Future. Todd MottoAngular Performance: Then, Now and the Future. Todd Motto
Angular Performance: Then, Now and the Future. Todd Motto
 
BPM-1 Introduction to Advanced Workflows
BPM-1 Introduction to Advanced WorkflowsBPM-1 Introduction to Advanced Workflows
BPM-1 Introduction to Advanced Workflows
 
Write Once, Run Everywhere - Ember.js Munich
Write Once, Run Everywhere - Ember.js MunichWrite Once, Run Everywhere - Ember.js Munich
Write Once, Run Everywhere - Ember.js Munich
 
Contoh program c++ kalkulator
Contoh program c++ kalkulatorContoh program c++ kalkulator
Contoh program c++ kalkulator
 

Recently uploaded

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsNanddeep Nachan
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CVKhem
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?Igalia
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdflior mazor
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 

Recently uploaded (20)

EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot ModelNavi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Navi Mumbai Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 

Lucian Smith - Modular Modeling: Standards and Tools (IMAG)

  • 1. MODULAR MODELING: STANDARDS AND TOOLS LUCIAN SMITH SBML TEAM HTTP://SBML.ORG/ CALTECH IMAG WEBINAR, MARCH 8TH, 2013
  • 3. FORMS OF MODULARITY • WITHIN-MODEL ORGANIZATION
  • 4. FORMS OF MODULARITY • WITHIN-MODEL ORGANIZATION
  • 5. FORMS OF MODULARITY • MODEL IMPORT
  • 6. FORMS OF MODULARITY • MODEL IMPORT
  • 7. FORMS OF MODULARITY • MODEL IMPORT
  • 8. FORMS OF MODULARITY • MODEL IMPORT
  • 9. FORMS OF MODULARITY • MIMIC REALITY
  • 10. FORMS OF MODULARITY • SYNTHETIC DESIGN
  • 11. FORMS OF MODULARITY • LARGE-SCALE AND MULTI-SCALE MODEL DESIGN
  • 12. FORMS OF MODULARITY • LARGE-SCALE AND MULTI-SCALE MODEL DESIGN
  • 13. FORMS OF MODULARITY • LARGE-SCALE AND MULTI-SCALE MODEL DESIGN
  • 14. FORMS OF MODULARITY • LARGE-SCALE AND MULTI-SCALE MODEL DESIGN
  • 15. FORMS OF MODULARITY • LARGE-SCALE AND MULTI-SCALE MODEL DESIGN
  • 17. BASIC MODULARITY REQUIREMENTS • DEFINE/IMPORT MODULES
  • 18. BASIC MODULARITY REQUIREMENTS • DEFINE/IMPORT MODULES • CONNECT ELEMENTS
  • 19. BASIC MODULARITY REQUIREMENTS • DEFINE/IMPORT MODULES • CONNECT ELEMENTS • RUN SIMULATION
  • 20. DEFINE MODULES mod1 mod2 mod3 mod4
  • 21. IMPORT MODULES extmodel mod1 mod3 mod4
  • 22. CONNECT ELEMENTS P Q A B C R D
  • 23. CONNECT ELEMENTS P Q A B C R D
  • 24. CONNECT ELEMENTS P Q A B Q R D
  • 25. CONNECT ELEMENTS P Q A B R D
  • 31. STANDARDS: CELLML <component name="environment"> <variable units="ms" public_interface="out" name="time" cmeta:id="environment_time"/> </component> <component name="membrane"> <variable units="mV" public_interface="out" cmeta:id="membrane_V" name="V" initial_value="-84.624"/> <variable units="uF_per_mm2" cmeta:id="membrane_C" name="C" initial_value="0.01"/> <variable units="ms" public_interface="in" name="time"/> <variable units="uA_per_mm2" public_interface="in" name="i_Na"/> <variable units="uA_per_mm2" public_interface="in" name="i_s"/> <variable units="uA_per_mm2" public_interface="in" name="i_x1"/> <variable units="uA_per_mm2" public_interface="in" name="i_K1"/> <variable units="uA_per_mm2" public_interface="in" name="Istim"/> <math xmlns="http://www.w3.org/1998/Math/MathML" cmeta:id="membrane_voltage_diff_eq"> <apply> <eq/> <apply> <diff/> <bvar>
  • 32. STANDARDS: CELLML <component name="environment"> <variable units="ms" public_interface="out" name="time" cmeta:id="environment_time"/> </component> <component name="membrane"> <variable units="mV" public_interface="out" cmeta:id="membrane_V" name="V" initial_value="-84.624"/> <variable units="uF_per_mm2" cmeta:id="membrane_C" name="C" initial_value="0.01"/> <variable units="ms" public_interface="in" name="time"/> <variable units="uA_per_mm2" public_interface="in" name="i_Na"/> <variable units="uA_per_mm2" public_interface="in" name="i_s"/> <variable units="uA_per_mm2" public_interface="in" name="i_x1"/> <variable units="uA_per_mm2" public_interface="in" name="i_K1"/> <variable units="uA_per_mm2" public_interface="in" name="Istim"/> <math xmlns="http://www.w3.org/1998/Math/MathML" cmeta:id="membrane_voltage_diff_eq"> <apply> <eq/> <apply> <diff/> <bvar>
  • 33. STANDARDS: CELLML <component name="environment"> <variable units="ms" public_interface="out" name="time" cmeta:id="environment_time"/> </component> <component name="membrane"> <variable units="mV" public_interface="out" cmeta:id="membrane_V" name="V" initial_value="-84.624"/> <variable units="uF_per_mm2" cmeta:id="membrane_C" name="C" initial_value="0.01"/> <variable units="ms" public_interface="in" name="time"/> <variable units="uA_per_mm2" public_interface="in" name="i_Na"/> <variable units="uA_per_mm2" public_interface="in" name="i_s"/> <variable units="uA_per_mm2" public_interface="in" name="i_x1"/> <variable units="uA_per_mm2" public_interface="in" name="i_K1"/> <variable units="uA_per_mm2" public_interface="in" name="Istim"/> <math xmlns="http://www.w3.org/1998/Math/MathML" cmeta:id="membrane_voltage_diff_eq"> <apply> <eq/> <apply> <diff/> <bvar>
  • 34. STANDARDS: CELLML <connection> <map_components component_2="environment" component_1="membrane"/> <map_variables variable_2="time" variable_1="time"/> </connection> <connection> <map_components component_2="environment" component_1="sodium_current"/> <map_variables variable_2="time" variable_1="time"/> </connection> <connection> <map_components component_2="environment" component_1="slow_inward_current"/> <map_variables variable_2="time" variable_1="time"/> </connection> <connection> <map_components component_2="environment" component_1="time_dependent_outward_current"/> <map_variables variable_2="time" variable_1="time"/> </connection>
  • 35. STANDARDS: CELLML <connection> <map_components component_2="environment" component_1="membrane"/> <map_variables variable_2="time" variable_1="time"/> </connection> <connection> <map_components component_2="environment" component_1="sodium_current"/> <map_variables variable_2="time" variable_1="time"/> </connection> <connection> <map_components component_2="environment" component_1="slow_inward_current"/> <map_variables variable_2="time" variable_1="time"/> </connection> <connection> <map_components component_2="environment" component_1="time_dependent_outward_current"/> <map_variables variable_2="time" variable_1="time"/> </connection>
  • 36. STANDARDS: CELLML <connection> <map_components component_2="environment" component_1="membrane"/> <map_variables variable_2="time" variable_1="time"/> </connection> <connection> <map_components component_2="environment" component_1="sodium_current"/> <map_variables variable_2="time" variable_1="time"/> </connection> <connection> <map_components component_2="environment" component_1="slow_inward_current"/> <map_variables variable_2="time" variable_1="time"/> </connection> <connection> <map_components component_2="environment" component_1="time_dependent_outward_current"/> <map_variables variable_2="time" variable_1="time"/> </connection>
  • 40. STANDARDS: SBML <sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4"> <model id="bistable"> <listOfCompartments> <compartment id="default_compartment" size="1"/> </listOfCompartments> <listOfSpecies> <species id="s1" compartment="default_compartment"/> <species id="s2" compartment="default_compartment"/> </listOfSpecies> <listOfParameters> <parameter id="k1" value="1"/> <parameter id="k2" value="1"/> </listOfParameters> <listOfReactions> <reaction id="g1"> <listOfProducts> <speciesReference species="s1"/> </listOfProducts> <listOfModifiers> <modifierSpeciesReference species="s2"/> </listOfModifiers>
  • 41. STANDARDS: SBML <sbml xmlns="http://www.sbml.org/sbml/level2/version4" level="2" version="4"> <model id="bistable"> <listOfCompartments> <compartment id="default_compartment" size="1"/> </listOfCompartments> <listOfSpecies> <species id="s1" compartment="default_compartment"/> <species id="s2" compartment="default_compartment"/> </listOfSpecies> <listOfParameters> <parameter id="k1" value="1"/> <parameter id="k2" value="1"/> </listOfParameters> <listOfReactions> <reaction id="g1"> <listOfProducts> <speciesReference species="s1"/> </listOfProducts> <listOfModifiers> <modifierSpeciesReference species="s2"/> </listOfModifiers>
  • 42. STANDARDS: SBML-COMPOSITION* <model> <listOfParameters> <parameter id="timeconv" value="60" constant="true"/> </listOfParameters> <comp:listOfSubmodels> <comp:submodel comp:id="sub1" comp:modelRef="moddef2“ comp:timeConversionFactor="timeconv </comp:listOfSubmodels> </model> <comp:listOfModelDefinitions> <comp:modelDefinition id="moddef2"> <listOfParameters> <parameter id="timeconv" value="60" constant="true"/> </listOfParameters> <comp:listOfSubmodels> <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv </comp:listOfSubmodels> </comp:modelDefinition> <comp:modelDefinition id="moddef1"> <listOfParameters> <parameter id="t1" constant="false"/> *HIERARCHICAL MODEL COMPOSITION </listOfParameters>
  • 43. STANDARDS: SBML-COMPOSITION* <model> <listOfParameters> <parameter id="timeconv" value="60" constant="true"/> </listOfParameters> <comp:listOfSubmodels> <comp:submodel comp:id="sub1" comp:modelRef="moddef2“ comp:timeConversionFactor="timeconv </comp:listOfSubmodels> </model> <comp:listOfModelDefinitions> <comp:modelDefinition id="moddef2"> <listOfParameters> <parameter id="timeconv" value="60" constant="true"/> </listOfParameters> <comp:listOfSubmodels> <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv </comp:listOfSubmodels> </comp:modelDefinition> <comp:modelDefinition id="moddef1"> <listOfParameters> <parameter id="t1" constant="false"/> *HIERARCHICAL MODEL COMPOSITION </listOfParameters>
  • 44. STANDARDS: SBML-COMPOSITION* <model> <listOfParameters> <parameter id="timeconv" value="60" constant="true"/> </listOfParameters> <comp:listOfSubmodels> <comp:submodel comp:id="sub1" comp:modelRef="moddef2“ comp:timeConversionFactor="timeconv </comp:listOfSubmodels> </model> <comp:listOfModelDefinitions> <comp:modelDefinition id="moddef2"> <listOfParameters> <parameter id="timeconv" value="60" constant="true"/> </listOfParameters> <comp:listOfSubmodels> <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv </comp:listOfSubmodels> </comp:modelDefinition> <comp:modelDefinition id="moddef1"> <listOfParameters> <parameter id="t1" constant="false"/> *HIERARCHICAL MODEL COMPOSITION </listOfParameters>
  • 45. STANDARDS: SBML-COMPOSITION* <model> <listOfParameters> <parameter id="timeconv" value="60" constant="true"/> </listOfParameters> <comp:listOfSubmodels> <comp:submodel comp:id="sub1" comp:modelRef="moddef2“ comp:timeConversionFactor="timeconv </comp:listOfSubmodels> </model> <comp:listOfModelDefinitions> <comp:modelDefinition id="moddef2"> <listOfParameters> <parameter id="timeconv" value="60" constant="true"/> </listOfParameters> <comp:listOfSubmodels> <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv </comp:listOfSubmodels> </comp:modelDefinition> <comp:modelDefinition id="moddef1"> <listOfParameters> <parameter id="t1" constant="false"/> *HIERARCHICAL MODEL COMPOSITION </listOfParameters>
  • 46. STANDARDS: SBML-COMPOSITION* <model> <listOfParameters> <parameter id="timeconv" value="60" constant="true"/> </listOfParameters> <comp:listOfSubmodels> <comp:submodel comp:id="sub1" comp:modelRef="moddef2“ comp:timeConversionFactor="timeconv </comp:listOfSubmodels> </model> <comp:listOfModelDefinitions> <comp:modelDefinition id="moddef2"> <listOfParameters> <parameter id="timeconv" value="60" constant="true"/> </listOfParameters> <comp:listOfSubmodels> <comp:submodel comp:id="sub1" comp:modelRef="moddef1" comp:timeConversionFactor="timeconv </comp:listOfSubmodels> </comp:modelDefinition> <comp:modelDefinition id="moddef1"> <listOfParameters> <parameter id="t1" constant="false"/> *HIERARCHICAL MODEL COMPOSITION </listOfParameters>
  • 47. STANDARDS: SBML-COMPOSITION <model id="foo" name="foo"> <listOfParameters> <parameter id=“Q" value="3" constant="true"> <comp:listOfReplacedElements> <comp:replacedElement comp:idRef=“C" comp:submodelRef=“sub1"/> </comp:listOfReplacedElements> </parameter> </listOfParameters> <comp:listOfSubmodels> <comp:submodel comp:id=“sub1" comp:modelRef="bar"/> </comp:listOfSubmodels> </model>
  • 48. STANDARDS: SBML-COMPOSITION <model id="foo" name="foo"> <listOfParameters> <parameter id=“Q" value="3" constant="true"> <comp:listOfReplacedElements> <comp:replacedElement comp:idRef=“C" comp:submodelRef=“sub1"/> </comp:listOfReplacedElements> </parameter> </listOfParameters> <comp:listOfSubmodels> <comp:submodel comp:id=“sub1" comp:modelRef="bar"/> </comp:listOfSubmodels> </model>
  • 55. TOOLS: ANTIMONY • TRANSLATION TO FLATTENED SBML
  • 56. TOOLS: ANTIMONY • TRANSLATION TO FLATTENED SBML
  • 57. TOOLS: IBIOSIM • CREATION OF MODULAR MODELS
  • 58. TOOLS: TINKERCELL • CREATION OF MODULAR SYNTHETIC CIRCUITS
  • 59. TOOLS: JIGCELL • HAD CUSTOM MODULAR SBML IN 2007
  • 60. REFERENCES • CELLML, OPENCELL, OPENCOR: HTTP://CELLML.ORG • SBML: HTTP://SBML.ORG • ANTIMONY: HTTP://ANTIMONY.SF.NET • IBIOSIM: HTTP://WWW.ASYNC.ECE.UTAH.EDU/IBIOSIM • JIGCELL: HTTP://JIGCELL.CS.VT.EDU • TINKERCELL: HTTP://WWW.TINKERCELL.COM
  • 62. BLACK-BOX VS. WHITE-BOX • CELLML IS ‘BLACK-BOX’ • CANNOT MODIFY NON-INTERFACE ELEMENTS WITHOUT CHANGING MODEL • SBML-COMPOSITION IS ‘WHITE-BOX’ • AN INTERFACE IS SUGGESTED, BUT YOU ARE ALLOWED TO ACCESS ANY INTERNAL ELEMENT
  • 63. BLACK-BOX VS. WHITE-BOX • WHITE BOX • BLACK BOX • EASIER TO RE-USE MODELS • STRICTER CONTROL IN NEW CONTEXTS • MORE PREDICTABLE • CAN RE-USE INTERNAL BEHAVIOR CONSTANTS MORE READILY ULTIMATELY SMALL DIFFERENCES: EDITS CAN CHANGE ONE TO THE OTHER