View this PageEdit this PageAttachments to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide

SmallDEVS architecture

Essential Prerequisities

Smalldevs uses

MyRepository

Simulations running in background have to be stored and organized somewhere. MyRepository can store named objects (such as models, simulations, prototypes and traits) in named folders which can be hierarchically organised, analogously to file systems of well known operating systems. Analogously to /proc, representing running processes in UNIX-like systems, active objects can also live and evolove in MyRepository. Any object in MyRepository understands specific protocol.
Some abstract classes are provided in this subpackage. Also some extensions to Squeak Prototypes are provided here, such as source code storing and serialization of prototype objects.

DEVSCore

Basic DEVS classes are implemented here. This package provides classes AtomicDEVS and CoupledDEVS. It also provides a simulator for DEVS. This part of SmallDEVS can be used in a way very similar to that of PyDEVS, DEVSJava and other DEVS-based simulation libraries. Atomic and coupled models are created as subclasses AtomicDEVS and CoupledDEVS.

DEVSPrototypes

This is extension of DEVSCore allowing for prototype-based model construction. Atomic modelas are created by AtomicDEVSPrototype instantiation or by cloning (copying) the existing AtomicDEVSPrototype instances and editing them subsequently. Similarly, the coupled models can be also created as instances of CoupledDEVSPrototype or as clones of existing coupled DEVS models. Shared behavior of atomic models can be specified as traits. Traits are prototype-based objects which can be also stored in MyRepository.

GUI

SmallDEVS GUI includes



-----------

Link to this Page