CCAMNRCAM NewsNRCAM Published ModelsNRCAM Modeling ResourcesNRCAM TechnologyVCell SoftwareAbout NRCAMNRCAM
Terms of UseContactLinksApplicationsTechnologyVirtual Cell SoftwareUser InformationAbout NRCAMHome
Technology
Software technology


Modeling Process
Brief overvew of the Virtual Cell modeling scheme.


Message Architecture
Explanation of the Virtual Cell messaging scheme.


Modeling Framework
Provides the biological abstractions necessary to model cellular physiology.


Math Framework
Provides general purpose solver for mathematical problems.


User Interface
Java based biological interface.


Testing Framework
Numerics and Expression Testing, Math Verifier.


Virtual Cell Grammar
Formal definition of language in BNF grammar.



Virtual Cell Grammar

BNF for Parser.jj

Non-terminals

::= <NAME> Name ( Declaration )+ Domain ( SubDomain )+ ( Mesh )? Task
::= <CONSTANT> Name Expression
| <FUNCTIONLABEL> Name Expression
| <VOLUMEVARIABLE> Name
::= <CARTESIANDOMAIN> "{" ( <DIMENSION> Integer ) ( <SIZE> Float Float Float ) ( <ORIGIN> Float Float Float ) ( Geometry ) "}"
::= ( <COMPARTMENT> Name Expression )+
| ( ( <IMAGE> <FILENAME> ) ( <IMAGECOMPARTMENT> Name Color )+ )
::= Integer Integer Integer
::= <COMPARTMENTSUBDOMAIN> Name "{" ( <HANDLE> Integer )? ( <PRIORITY> Integer )? ( <BOUNDARY_TYPE> ( <DIRICHLET> | <NEUMANN> ) )* ( ODEEquation | PDEEquation )+ ( FastSystem )? "}"
| <MEMBRANESUBDOMAIN> Name Name "{" ( ODEEquation | JumpCondition )* ( FastSystem )? "}"
::= <ODEEQUATION> Name "{" ( <RATE> Expression ) ( ( <INITIAL> Expression ) | ( <EXACT> Expression ) | ( <CONSTRUCTED> Expression ) ) "}"
::= <PDEEQUATION> Name "{" ( ( <DIFFUSION> Expression ) | ( <RATE> Expression ) | ( <BOUNDARY_TYPE> Expression ) )+ ( ( <INITIAL> Expression ) | ( <EXACT> Expression ) | ( <CONSTRUCTED> Expression ) ) "}"
::= <JUMPCONDITION> Name "{" ( ( <INFLUX> Expression ) ( <OUTFLUX> Expression ) | ( <OUTFLUX> Expression ) ( <INFLUX> Expression ) ) "}"
::= <FASTSYSTEM> "{" ( ( <FASTINVARIANT> Expression ) | ( <FASTRATE> Expression ) )+ "}"
::= <MESH> "{" <SIZE> Integer Integer Integer "}"
::= <TASK> "{" ( <OUTPUT> Float ) ( ( <UNSTEADY> Float Float Float ) | ( <STEADY> Float Float ) ) "}"
::= <INTEGER_LITERAL>
::= LogicalORExpression ";"
::= ( LogicalANDExpression ( "||" LogicalANDExpression )* )
::= RelationalExpression ( "&&" RelationalExpression )*
::= AdditiveExpression ( <RELATIONAL_OPERATOR> AdditiveExpression )?
::= MultiplicativeExpression ( ( "+" MultiplicativeExpression ) | MinusTerm )*
::= "-" MultiplicativeExpression
::= UnaryExpression ( ( "*" UnaryExpression ) | DivTerm )*
::= "/" UnaryExpression
::= "+" UnaryExpression
| ( "-" UnaryExpression )
| PrimaryExpression
::= Function
| Name
| Float
| "(" LogicalORExpression ")"
::= <FUNCTION> Arguments
::= "(" ( ArgumentList )? ")"
::= LogicalORExpression ( "," LogicalORExpression )*
::= <FLOATING_POINT_LITERAL>
| <INTEGER_LITERAL>
::= <IDENTIFIER>

HOME | About NRCAM | VCELL| Technology| How to Model | Published Models | News | CCAM