aivika-gpss-0.3: aivika-gpss.cabal
name: aivika-gpss
version: 0.3
synopsis: GPSS-like DSL for Aivika
description:
This package allows defining simulation models in terms of a GPSS-like
domain specific language, which can be useful if you are going to
translate your models from GPSS into Aivika [1, 2].
.
Note that the GPSS-like domain specific language is not equivalent to
the original GPSS language, but it may return very similar results in
some cases, while it can also return quite different results in other cases.
.
The package implements the most of GPSS simulation blocks, but the main difference
is as follows.
.
Like GPSS, the package tries to treat the transact priorities properly within each block.
Here it works in a very similar way even for such non-trivial blocks as PREEMPT, GATHER
and ASSEMBLE. But unlike GPSS, the blocks behave independently from each other, where
the transact priorities are not used when deciding which of the blocks will be activated next.
The order of activating blocks is unpredictable.
.
There is a layer of emulation. The package creates a new discontinuous process for each new transact.
Then that process becomes fully responsible for processing the transact by the blocks. Therefore,
the speed of simulation is slower that it could be when implementing the same model but based on
using the standard Aivika facilities.
.
The rough estimation is that this particular package is slower in 2-3 times than the existent GPSS
simulators in case of sequential simulation. But the point is that you can combine GPSS with
discontinuous processes, events and even agents within the same model. Moreover, you can use GPSS
in parallel and distributed simulation models.
.
\[1] <http://hackage.haskell.org/package/aivika>
.
\[2] <http://hackage.haskell.org/package/aivika-transformers>
.
category: Simulation
license: BSD3
license-file: LICENSE
copyright: (c) 2017. David Sorokin <david.sorokin@gmail.com>
author: David Sorokin
maintainer: David Sorokin <david.sorokin@gmail.com>
homepage: http://www.aivikasoft.com
cabal-version: >= 1.6
build-type: Simple
tested-with: GHC == 8.0.1
extra-source-files: examples/Example2A.hs
examples/Example2ATrans.hs
examples/Example2B.hs
examples/Example2BTrans.hs
examples/Example2C.hs
examples/Example2CTrans.hs
examples/Example2D.hs
examples/Example2DTrans.hs
examples/Example2E.hs
examples/Example2ETrans.hs
examples/Example7-26.hs
examples/Example7-26Distributed.hs
examples/Example7-26Trans.hs
examples/Example7-28.hs
examples/Example7-28Trans.hs
examples/Example7-31.hs
examples/Example7-31Trans.hs
examples/Example7-35.hs
examples/Example7-35Trans.hs
library
exposed-modules: Simulation.Aivika.GPSS
Simulation.Aivika.GPSS.Block
Simulation.Aivika.GPSS.Block.Advance
Simulation.Aivika.GPSS.Block.Assemble
Simulation.Aivika.GPSS.Block.Assign
Simulation.Aivika.GPSS.Block.Depart
Simulation.Aivika.GPSS.Block.Enter
Simulation.Aivika.GPSS.Block.Gather
Simulation.Aivika.GPSS.Block.Generate
Simulation.Aivika.GPSS.Block.Leave
Simulation.Aivika.GPSS.Block.Link
Simulation.Aivika.GPSS.Block.Loop
Simulation.Aivika.GPSS.Block.Match
Simulation.Aivika.GPSS.Block.Preempt
Simulation.Aivika.GPSS.Block.Priority
Simulation.Aivika.GPSS.Block.Queue
Simulation.Aivika.GPSS.Block.Release
Simulation.Aivika.GPSS.Block.Return
Simulation.Aivika.GPSS.Block.Seize
Simulation.Aivika.GPSS.Block.Split
Simulation.Aivika.GPSS.Block.Terminate
Simulation.Aivika.GPSS.Block.Test
Simulation.Aivika.GPSS.Block.Transfer
Simulation.Aivika.GPSS.Block.Unlink
Simulation.Aivika.GPSS.AssemblySet
Simulation.Aivika.GPSS.Facility
Simulation.Aivika.GPSS.MatchChain
Simulation.Aivika.GPSS.Queue
Simulation.Aivika.GPSS.Results
Simulation.Aivika.GPSS.Results.Locale
Simulation.Aivika.GPSS.Results.Transform
Simulation.Aivika.GPSS.Storage
Simulation.Aivika.GPSS.Transact
Simulation.Aivika.GPSS.TransactQueueStrategy
Simulation.Aivika.Trans.GPSS
Simulation.Aivika.Trans.GPSS.Block
Simulation.Aivika.Trans.GPSS.Block.Advance
Simulation.Aivika.Trans.GPSS.Block.Assemble
Simulation.Aivika.Trans.GPSS.Block.Assign
Simulation.Aivika.Trans.GPSS.Block.Depart
Simulation.Aivika.Trans.GPSS.Block.Enter
Simulation.Aivika.Trans.GPSS.Block.Gather
Simulation.Aivika.Trans.GPSS.Block.Generate
Simulation.Aivika.Trans.GPSS.Block.Leave
Simulation.Aivika.Trans.GPSS.Block.Link
Simulation.Aivika.Trans.GPSS.Block.Loop
Simulation.Aivika.Trans.GPSS.Block.Match
Simulation.Aivika.Trans.GPSS.Block.Preempt
Simulation.Aivika.Trans.GPSS.Block.Priority
Simulation.Aivika.Trans.GPSS.Block.Queue
Simulation.Aivika.Trans.GPSS.Block.Release
Simulation.Aivika.Trans.GPSS.Block.Return
Simulation.Aivika.Trans.GPSS.Block.Seize
Simulation.Aivika.Trans.GPSS.Block.Split
Simulation.Aivika.Trans.GPSS.Block.Terminate
Simulation.Aivika.Trans.GPSS.Block.Test
Simulation.Aivika.Trans.GPSS.Block.Transfer
Simulation.Aivika.Trans.GPSS.Block.Unlink
Simulation.Aivika.Trans.GPSS.AssemblySet
Simulation.Aivika.Trans.GPSS.Facility
Simulation.Aivika.Trans.GPSS.MatchChain
Simulation.Aivika.Trans.GPSS.Queue
Simulation.Aivika.Trans.GPSS.Results
Simulation.Aivika.Trans.GPSS.Results.Locale
Simulation.Aivika.Trans.GPSS.Results.Transform
Simulation.Aivika.Trans.GPSS.Storage
Simulation.Aivika.Trans.GPSS.Transact
Simulation.Aivika.Trans.GPSS.TransactQueueStrategy
build-depends: base >= 4.2 && < 6,
mtl >= 1.1.0.2,
containers >= 0.4.0.0,
hashable >= 1.2.0.0,
unordered-containers >= 0.1.0.0,
aivika >= 5.2,
aivika-transformers >= 5.2
extensions: MultiParamTypeClasses,
TypeFamilies,
FlexibleInstances,
FlexibleContexts,
KindSignatures
ghc-options: -O2
source-repository head
type: git
location: https://github.com/dsorokin/aivika-gpss