DESMO-J Distilled

Model Design

   
 

Model design can be thought of as progressive refinement of a conceptual model, starting perhaps from a rather vague mind map or textual description. The goal of model design is to arrive at a more formal representation which is precise enough to be mapped to executable code during the implementation phase.

As DESMO-J is an object-oriented simulation framework, we recommend using object-oriented techniques to develop the formal conceptual model. Class diagrams and especially activity diagrams have proven valuable in capturing model components and their behaviour. We will use the UML notation throughout this tutorial.

Designing a formal model using DESMO-J means that you first need to get familiar with the static and dynamic model components DESMO-J offers. Refer to the Basic Features subsection of DESMO-J in a Nutshell for a quick overview or to the API documentation. You then have to decide on the modelling style you want to apply. This determines if your dynamic model components are described as processes (subclasses of desmoj.core.simulator.SimProcess) or as entities in combination with events (subclasses of desmoj.core.simulator.Entity or desmoj.core.simulator.AbstractEvent, respectively). If you prefer the process interaction approach, you specify each model component's behaviour as the life cycle of a process. If you prefer the event scheduling approach, you specify the entities' behaviour in event routines. In both cases you may use activity diagrams to plot their actions.



   
  http://desmoj.sourceforge.net/tutorial/distilled/1.html