Table of Contents
Fetching ...

Design Patterns for Multilevel Modeling and Simulation

Luca Serena, Moreno Marzolla, Gabriele D'Angelo, Stefano Ferretti

TL;DR

A set of design patterns that provide a systematic approach for designing and implementing multilevel models are presented, which cover multiple aspects, including how to represent different levels of detail, how to combine incompatible models,How to exchange data across models, and so on.

Abstract

Multilevel modeling and simulation (M&S) is becoming increasingly relevant due to the benefits that this methodology offers. Multilevel models allow users to describe a system at multiple levels of detail. From one side, this can make better use of computational resources, since the more detailed and time-consuming models can be executed only when/where required. From the other side, multilevel models can be assembled from existing components, cutting down development and verification/validation time. A downside of multilevel M&S is that the development process becomes more complex due to some recurrent issues caused by the very nature of multilevel models: how to make sub-models interoperate, how to orchestrate execution, how state variables are to be updated when changing scale, and so on. In this paper, we address some of these issues by presenting a set of design patterns that provide a systematic approach for designing and implementing multilevel models. The proposed design patterns cover multiple aspects, including how to represent different levels of detail, how to combine incompatible models, how to exchange data across models, and so on. Some of the patterns are derived from the general software engineering literature, while others are specific to the multilevel M&S application area.

Design Patterns for Multilevel Modeling and Simulation

TL;DR

A set of design patterns that provide a systematic approach for designing and implementing multilevel models are presented, which cover multiple aspects, including how to represent different levels of detail, how to combine incompatible models,How to exchange data across models, and so on.

Abstract

Multilevel modeling and simulation (M&S) is becoming increasingly relevant due to the benefits that this methodology offers. Multilevel models allow users to describe a system at multiple levels of detail. From one side, this can make better use of computational resources, since the more detailed and time-consuming models can be executed only when/where required. From the other side, multilevel models can be assembled from existing components, cutting down development and verification/validation time. A downside of multilevel M&S is that the development process becomes more complex due to some recurrent issues caused by the very nature of multilevel models: how to make sub-models interoperate, how to orchestrate execution, how state variables are to be updated when changing scale, and so on. In this paper, we address some of these issues by presenting a set of design patterns that provide a systematic approach for designing and implementing multilevel models. The proposed design patterns cover multiple aspects, including how to represent different levels of detail, how to combine incompatible models, how to exchange data across models, and so on. Some of the patterns are derived from the general software engineering literature, while others are specific to the multilevel M&S application area.
Paper Structure (24 sections, 7 figures)

This paper contains 24 sections, 7 figures.

Figures (7)

  • Figure 1: The four main realizations of multi-level modeling.
  • Figure 2: Summary of the patterns described in this paper. Those originally described in gamma1995design are shaded.
  • Figure 3: Class diagrams of the Model's Controller (top) and Director-Worker pattern (bottom).
  • Figure 4: Sequence diagram of Worker on Demand.
  • Figure 5: UML class diagram of Composite pattern applied to a multiscale ABM scenario.
  • ...and 2 more figures