A Language for Simulation: Bringing Separation of Concerns to the Front (original) (raw)

Toward an aspect-oriented simulation

Discrete event simulation (DES) projects implement several crosscutting concerns, such as event scheduling, event handling, and keeping track of a simulation’s state which tend to produce a tangling and scattering simulation code. This increases the complexity and reduces the maintainability which requires specific separation of concerns (SOC). The aspect oriented programming (AOP) paradigm puts a greater focus on crosscutting concerns than other language paradigms. It provides language mechanisms such as the prominent AspectJ, that explicitly capture crosscutting concerns in a modular way and thus achieving the benefits that results from improved modularity; code that is easier to design, implement, maintain, reuse and evolve. In this paper, we present the most benefits of using the aspect oriented programming paradigm in the simulation modeling field. Besides that, we identify the main crosscutting concerns for a discrete event simulator.

THE USE OF THE ASPECT ORIENTED PROGRAMMING (AOP) PARADIGM IN DISCRETE EVENT SIMULATION DOMAIN: OVERVIEW AND PERSPECTIVES

The problem of realizing the Separation Of Concerns (SOC) principle is at the heart of the software crisis where crosscutting concerns tend to produce a messed simulation systems by decreasing their modularity, and reducing their reuse. Aspect-Oriented Programming paradigm is newly technique introduced for software development. It may co-exist with other methodologies, such as object-oriented, in order to keep the most system interesting properties, such as reusability and adaptability. In this paper, we present a synthetic study of the most efforts of using the aspect oriented programming paradigm (AOP) in the simulation modeling field. Besides that, we explore the promising perspectives in this research area and our ongoing work towards an Aspect Oriented Simulation Framework (Japrosim).

An Aspect-Oriented Approach for the Development of Complex Simulation Software

Journal of Object Technology, 2010

We propose an aspect-oriented approach for the development of simulation software aiming at increasing the exibility, the rapidity of development, and maintainability of simulation software. The horizontal decomposition method is used to separate the core functionality of the simulation application from simulation-specic cross-cutting concerns like distribution, tool integration, persistence, and fault tolerance. We ana- lyze an existing dispersion simulation application

Practical Benefits of Aspect-Oriented Programming Paradigm in Discrete Event Simulation

Modelling and Simulation in Engineering

Aspect-oriented modeling and simulation is a new approach which uses the separation of concerns principle to enhance the quality of models and simulation tools. It adopts the separation of concerns (SOC) principle. Thus, crosscutting concerns such as processes synchronization, steady state detection, and graphical animation could be separated from simulation functional modules. The capture of crosscutting concerns in a modular way is carried out to cope with complexity and to achieve the required engineering quality factors such as robustness, modularity, adaptability, and reusability. This paper provides a summary of aspect-oriented paradigm with its usage in simulation by illustrating the main crosscutting concerns that may infect simulation systems. A practical example is given with the use of the Japrosim discrete event simulation library.

Practical Benefits of Aspect Oriented Programming (AOP) Paradigm in Discrete Event Simulation

Aspect-oriented modeling and simulation is a new approach which uses the separation of concerns principle to enhance the quality of models and simulation tools. It adopts the separation of concerns (SOC) principle. Thus, crosscutting concerns such as processes synchronization, steady state detection, and graphical animation could be separated from simulation functional modules. The capture of crosscutting concerns in a modular way is carried out to cope with complexity and to achieve the required engineering quality factors such as robustness, modularity, adaptability, and reusability. This paper provides a summary of aspect-oriented paradigm with its usage in simulation by illustrating the main crosscutting concerns that may infect simulation systems. A practical example is given with the use of the Japrosim discrete event simulation library.

Object Oriented Modeling and Configuration of Simulation Programs

1996

This paper deals with the question ofreusability in simulation modeling of largescale systems. It discusses different approachesknown from software engineering,in particular object oriented techniquesand domain modeling, to enhance softwarereusability. Based on these ideas and onsystems theory based simulation modeling,an environment is presented which supportsmodeling of application domains, interactiveconfiguration of simulation models and automaticsimulation program generation.1...

The Use of Aspect-Oriented Programming in Scientific Simulations

2000

The Aspect-Oriented Programming paradigm is a newly introduced concept for program development. It can be seen as a technique that can co-exist with other methodologies, such as object-oriented, procedural, functional or event-driven programming. The purpose of AOP is to provide the programmer a toolset with which he or she can describe certain properties or parts of the software that cross-cut its functional structure. There are a few examples where AOP is applied in software development. Among others, aspects can be used to specify syncronization properties of distributed systems or handling optimization issues. In this paper another application domain is presented: our field of interest is the design and implementation of computer simulations. In some sciences, especially in the study of the so-called complex systems, computer programs play an important role as scientific equipments. In the case of computer simulations, the programs under use can be seen as experimental devices built in software. More precisely, they are both playing the role of the system under study and the experimental tools used to observe them. We argue that considering the two afore-mentioned roles as different aspects of the same system makes both the implementation and later the understanding of the model considerably easier. The aspect-oriented approach can make the development of computer simulations even more straightforward if it is supported by the modeling language used, as in the case with our Multi-Agent Modeling Language (or MAML for short), which is also briefly discussed by the paper.

ENABLING ADVANCED SIMULATION SCENARIOS WITH NEW SOFTWARE ENGINEERING TECHNIQUES

2000

In this paper, we introduce new techniques in the field of simulation to help in the process of building advanced simulation scenarios using preexisting simulation com- ponents. The first technique consists in using the Aspect Oriented Programming paradigm to capture some of the private data of an existing model component.The sec- ond one is an Architecture Description Language (ADL) designed

A New Approach to Object Oriented Simulation of Concurrent Systems [3083-13]

1997

High speed simulation of concurrent systems requires distributed processing if meaningful results are to be obtained for large systems in a reasonable timeframe. One of the most common methods used for such simulation is Parallel Discrete Event Simulation (PDES). A range of PDES simulation kernels have been developed and much research has been devoted to optimistic execution strategies such as TimeWarp.