A Language for Simulation: Bringing Separation of Concerns to the Front (original) (raw)
The complexity arising in simulation problems usually requires mixed modeling techniques to tackle them. Different simulation languages and tools have been proposed, but the complexity rate in real problems often goes faster than the solutions. Using object-oriented principles, current approaches support a functional decomposition of the problems. Besides that, there are views that not necessarily align with the functional components of the system, such as different modeling techniques, concurrency, scheduling and optimization. The way these aspects affect software artifacts, as the simulation example presented states, usually produces a messed design. As a result, good properties that any simulation system should enforce regardless of specific modeling techniques, such as reusability and adaptability, become fairly restricted. We argue that simulation domains needs usually specific separation of concerns. A framework supporting the aspect-oriented paradigm can provide a clear separation of concerns for these tangled situations.