200 likes | 281 Views
Model Building Experiences using Garp3: Problems, Patterns and Debugging. Jochem Liem , Floris E. Linnebank & Bert Bredeweg Human-Computer Studies University of Amsterdam. TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: A A.
E N D
Model Building Experiences using Garp3: Problems, Patterns and Debugging JochemLiem, Floris E. Linnebank & Bert Bredeweg Human-Computer Studies University of Amsterdam TexPoint fonts used in EMF. Read the TexPoint manual before you delete this box.: AA
Motivation: Usability to Formalization Bottleneck • Availability of usable QR tools has led to: • More domain experts formalizing their conceptual knowledge • The creation of more complex models • Usability is no longer an issue • However, knowledge formalization is the new bottleneck • Modelers encounter similar representational issues, and reinvent solutions • This paper categorizes representation issues and their solutions.
Trained Groups in QR Modelling • PhD-level researchers (NaturNet-Redime) • 2,5 year working with Garp3 • Trainings each half year • Support using Skype/Flashmeeting • BSc. Students (Future Planet Studies) • 4 weeks: Concept maps, Ontologies • 4 week: QR modelling (Carbon Cycle) • PhD-students (School for Information and Knowledge Systems) • 1 hour lecture + 2 hour practical: Tree & Shade model
Entities or Quantities? Model by Elena Nakova , Yordan Uzunov • Alternative representations: • Algae entity with Biomass quantity • Algea concentration quantity • Create a new entity when properties of this entity are important. • E.g. photosynthesis quantity of the algae
Configuration direction & naming • Prefer active voice over passive voice • Shorter configuration names • Improves texts based on QR models • Model by Richard Noble, Floris E. Linnebank & Bert Bredeweg
Relation reification • Configuration direction is arbitrary • Long configuration name • Where to model speed of symbiosis process? • Model by Paulo Salles & Bert Bredeweg
Influences & Proportionalities I+ Q2[+,?] Q1[+,-] I- Q1[+,-] Q2[+,?] I+ Q2[+,?] Q1[-,-] I- Q1[-,0] Q2[+,?]
Causal Interactions I+ I+ Q2[+,?] Q3[-,-] Q1[+,-] I- I+ Q1[+,-] Q2[+,?] Q3[-,-] I+ I- Q2[+,?] Q3[-,-] Q1[-,-] I- I- Q1[-,0] Q2[+,?] Q3[-,-]
Causal Chains • Causal path: Influence followed by proportionalities • Rare: Multiple influences in a single causal path • Impossible: Loop of proportionalities
Multiple Competing Influences CO2 release I+ CO2 Concentration Burning I+ Co2 Concentration Inequality information does not help Burning + CO2 concentration > 0 Introduce Photosynthesis Burning + CO2 < Photosynthesis
Choosing Quantity Spaces • Difficult task even for expert modelers • Should be behaviorally significant • Depends depends on the context: • Phytoplankton blocking sunlight of 1st producers • Global warming’s effect on phytoplankton
Actuators:External actuator (1/3) • Models (effect of) process outside the system • Value assignment (MF) • Exogenous behaviour (Scenario) • Model by Eugenia Cioaca, Tim Nuttle, Bert Bredeweg
Actuators: Equilibrium Seeking Mechanism (2/3) • Models equalizing flows due to potential difference
Actuators: Competing Processes Pattern (3/3) • Models competing processes
States in simulation • Maximum number of states: • Cartesian product of all quantities • E.g. Three Q’s: (3x3)3=729 (excl. inequalities) • Successor states without correspondences: • S-states = 2q-1, q = non-corresponding quantities
Not all expected states • Issue: State is missing • Create the state as a scenario • Option 1: No states, state is inconsistent • Option 2: State appears • Next create a scenario that generates a previous state • Continue to a state in the original simulation
No States • Considered difficult to debug • Features: • Inconsistency • > 1 model fragment fired • Clash between contents of: • Scenario + MF • Multiple MFs • Troubleshooting: • Deactivate all MFs (at least 1 state from scenario) • Activate MFs one by one
Inconsistencies • Magnitude or derivative value assignments (MF or scenario) • Inequalities (MF or Scenario) • Operators (plus or minus) • Value assignments due to correspondences • Value assignments due to influence resolution • Exogenous behavior • Engine rules • Quantity constraints • Continuity constraints
Conclusions & Future Work • Catalog of • Representational issues and their solutions • Frequently occurring patterns • Considerations when debugging • Future work: Support in Garp3/DynaLearn • Premade patterns (QS’s and actuators) • Automatic model building • Model diagnosis