SmallDEVS architecture
Essential Prerequisities
Smalldevs uses
- Prototypes - a package created by Hans-Martin Mosner allowing for Self-like programming in Squeak Smalltalk
- SIXX - XML-based object serialization package
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
- Atomic DEVS Explorer
- Coupled DEVS Explorer
- MyRepository Browser
- Prototype Object Inspector
Link to this Page