Keywords
simulation, fields, objects, agents, model building framework, data model, asynchronous many-tasks
Start Date
17-9-2020 4:20 PM
End Date
17-9-2020 4:40 PM
Abstract
While a tremendous number of software tools exists for data storage and manipulation, the construction, execution, and maintenance of simulation models is still a daring undertaking. Key challenges are the representation of continuous fields as well as discrete objects (agents), the big data sets that need to be fed to models or assimilated, the increasing sophistication of process representations requiring larger computations, the need to use all compute units within and across compute nodes, and the requirement of reproducibility of models. We argue that existing model construction paradigms and frameworks do not sufficiently address these challenges mainly because most concepts and tools stem from the time when many of these challenges did not (yet) exist. We therefor propose the design and implementation of a new, open source, model building framework that relies on rigorously new approaches regarding the programming language to express models as well as regarding the computational backend. To enable coupled field-agent modelling, we introduce a concept that combines fields and agents in a single conceptual data model. Model builders then program models using map algebra like statements in a procedural programming language, avoiding the need for object orientation widely used in agent-based modelling frameworks. Map Algebra operations are provided that manipulate the value of phenomena (e.g. temperature, colour, pressure) and those that manipulate the location or shape of phenomena. Models programmed by modellers are executed by a computational back-end which relies on the new LUE physical data model that mirrors the conceptual data model by enabling both the storage of objects and continuous fields. A new computational engine addresses the need to execute any model on all compute units by using an Asynchronous Many-Task runtime environment. We show the current status of our work and invite the modelling community to join us in development.
New Concepts and Software for Expressing and Running Large Heterogeneous System Models
While a tremendous number of software tools exists for data storage and manipulation, the construction, execution, and maintenance of simulation models is still a daring undertaking. Key challenges are the representation of continuous fields as well as discrete objects (agents), the big data sets that need to be fed to models or assimilated, the increasing sophistication of process representations requiring larger computations, the need to use all compute units within and across compute nodes, and the requirement of reproducibility of models. We argue that existing model construction paradigms and frameworks do not sufficiently address these challenges mainly because most concepts and tools stem from the time when many of these challenges did not (yet) exist. We therefor propose the design and implementation of a new, open source, model building framework that relies on rigorously new approaches regarding the programming language to express models as well as regarding the computational backend. To enable coupled field-agent modelling, we introduce a concept that combines fields and agents in a single conceptual data model. Model builders then program models using map algebra like statements in a procedural programming language, avoiding the need for object orientation widely used in agent-based modelling frameworks. Map Algebra operations are provided that manipulate the value of phenomena (e.g. temperature, colour, pressure) and those that manipulate the location or shape of phenomena. Models programmed by modellers are executed by a computational back-end which relies on the new LUE physical data model that mirrors the conceptual data model by enabling both the storage of objects and continuous fields. A new computational engine addresses the need to execute any model on all compute units by using an Asynchronous Many-Task runtime environment. We show the current status of our work and invite the modelling community to join us in development.
Stream and Session
false