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.
翻译:多层级建模与仿真(M&S)因其方法论优势而日益重要。多层级模型允许用户在多个细节层次上描述系统。一方面,这能更高效利用计算资源,因为更详细且耗时的模型仅在需要时执行;另一方面,多层级模型可由现有组件组装而成,从而缩短开发与验证/确认时间。多层级M&S的缺点在于,多层级模型自身特性会导致一些反复出现的问题,例如如何实现子模型间的互操作、如何编排执行流程、状态变量在尺度变化时如何更新等,这些问题使开发过程更为复杂。本文针对其中若干问题,提出一套系统化设计与实现多层级模型的设计模式。所提出的设计模式涵盖多个方面,包括如何表示不同细节层次、如何结合不兼容的模型、如何跨模型交换数据等。部分模式源于通用软件工程文献,其余则专属于多层级M&S应用领域。