baseSim - 'Monte Carlo Simulation' Banner

...Monte Carlo Simulation - Rapid and Robust Models

Flexibility, speed, transparency and low cost are the defining characteristics of our Monte Carlo Simulation products. 'baseSim' is our entry-level, general purpose Discrete Event Simulation Suite.

baseSim is a coherent and comprehensive collection of add-in components for Borland Delphi, and thus capitalises on the power and popularity of the Delphi environment and its trained user base. It provides fully featured, low-cost Discrete Event Simulation.

The Need for Speed

Simulation (What is Simulation?) is often used to represent systems that are large, diverse and complex. These systems will include random events, such as equipment failures or varying process times; large number of simulation runs, with different patterns of random events, are required to produce statistically sound results. baseSim is ideal for these Monte Carlo Simulation models – its incredible speed ensures that results are available in seconds to minutes, not hours to days!

Speed of execution opens the possibility of a new and exciting approach - Optimisation. Models are generally run in a 'what-if', iterative mode, where the user defines the input, runs the model, analyses the results, adjusts the input, and re-runs the model. This process takes the user nearer and nearer to a 'best' solution, and often continues until time or money run out.

An optimiser searches a defined range of input values to find the set that most closely matches the defined goal (e.g. minimum cost), and may involve running a model millions of times. With baseSim's extraordinary speed, this becomes a practical possibility.

The Products

An evaluation version of baseSim is available. This requires Borland Delphi v.6.0, v.7.0, 2005 (Win32 Personality), 2006 (Delphi Win32 Personality) or 2006 (C++Builder Win32 Personality) is already installed on the target computer. This version is limited to the design environment of Borland Delphi (requires that Delphi is running) and will expire after 30 days.

Additionally, there are a variety of Demonstration Models, which may be downloaded for evaluation. These are compiled as stand-alone executables and do not require Delphi to be installed.

Features

The main features and benefits of baseSim are detailed below:

High speed, fully compiled execution (ideal for Monte Carlo Simulation).
Easy to use and to develop.
Rapid 'Drag and Drop' development.
Ability to build complex, flexible and standalone Models.
Suite of Delphi Components.
Close integration to Delphi (e.g. Design-time and Run-time Component Editors).
Model Hierarchy.
Multi-threaded EventController.
Statistical Distributions for model experimentation.
Graphical Distribution Editor.
Disruptions and Failures.
Blocking behaviour.
Flow Decision Control.
Automatic Statistics Collection.
Animation of Material Flow and Movable Objects.
Graphical Connector Lines between Objects.
Smooth Scrolling and Zooming of Simulation Forms.
Model Object Browser.
Model Integrity Checker.
Data Tables, Stacks and Queues.
Can place user Actions on the Event List.
Genetic Algorithms / Scheduling.
3D Simulation VRML Interface.
Integrated Help (Design-time and Run-time).
On-line Technical Support.
Plus all the benefits of the Delphi Environment.
System Requirements.

High Speed, fully Compiled Execution

Every effort has been expended to ensure that the baseSim Simulation Components have been Designed and Implemented with 'need for speed' held firmly in mind (Monte Carlo Simulation). We understand that decision makers in Industry require not only accurate information, but also timely information.

Coupled with the fact that baseSim models are compiled using Delphi's highly optimised, native 32-bit Windows Compiler, you can be assured that complex Models and Software Applications will run quickly and efficiently. This results in compiled simulation and produces very fast simulation models.

Easy to Use and to Develop

The baseSim suite of Simulation Components has been designed and implemented to ensure that Complex models can be built easily and quickly by any Delphi competent user.

Rapid 'Drag and Drop' Development

The baseSim suite of Simulation Components has been designed and implemented to make use of Delphi's 'Rapid Application Development' environment.

This means that building Simulation Models and Applications is as straightforward as 'dropping' Simulation Components on a SimulationPanel, connecting them together and clicking on the 'Run' button.

Ability to build Complex, Flexible and Standalone Models

baseSim builds on Delphi's flexible and comprehensive Development environment. By using Delphi you will be able to connect your Simulation Models/Applications to dispersed databases, legacy IT systems and other manufacturing systems, such as SAP.

Additionally, as Delphi produces highly optimised standalone code, you can distribute your Simulation Model within the Enterprise or across the Internet.

N.B. The boundaries of what you can do with baseSim are limited not by the Simulation Components themselves but by the version of Delphi being used e.g. to build a Client/Server Simulation Model to be deployed across the Internet, you would probably need to have purchased at least the Delphi 'Professional' version.

Suite of Delphi Components

The baseSim Simulation Components have been implemented as standard Delphi Components and as such they can be compiled into and used from the Delphi Visual Component Library (VCL). This enables Components to be 'dragged and dropped' onto a SimulationPanel at Design-time.

Example Component Libraries:

baseSim 'Control' Library

baseSim 'Capacity' Library

Close Integration to Delphi (e.g. Design-time and Run-time Component Editors)

Enhanced Component and Property Editors are available at Design-time to assist the Simulation Modeller to Develop the Model e.g. the SimTable Object has a Component Editor to facilitate the inputting of Data at Design-time.

Run-time Property Editor

Additionally, all Component Editors are available at Run-time, and form an important part of the baseSim Simulation Interface.

Model Hierarchy

Enables the creation of hierarchical models in which lower levels can be observed by double-clicking a SimulationForm Object in the current level. This allows the creation of an Object-Oriented Hierarchical Simulation Model.

Additionally, SimulationForms used in this manner may be reused many times within the model and are a way of encapsulating building blocks, such as the SimSingleProcess and SimMultiProcess into a 'Superclass', which can be used to represent more sophisticated Model behaviour e.g. a whole warehouse could be built in a SimulationForm - the top-level 'Industrial Park' could then create many instances of the Warehouse Object.

Movable Objects can seamlessly 'travel' into and out of the Model Hierarchy.

Multi-threaded EventController

The baseSim Event Engine runs in a separate 'background' Thread to the main application. This ensures that the user is still able to interact with the application (e.g. scroll around the SimulationForm) and view the graphical animation, whilst the Simulation Model is running.

Statistical Distributions for Model Experimentation

Most of the recognised Simulation Statistical Distributions have been included in our baseSim Simulation Components. Additionally, it is possible to add User defined Distributions to the Distribution set:

Continuous

Includes: Uniform, Normal, Negative Exponential, Triangle, Weibull

Discrete

Includes: Binomial, Poisson, Integer-Uniform

User Defined

Includes: an Object Pascal framework in which the User can insert their own Distribution functions

These allow for Model Experimentation, Sensitivity Analysis and Monte Carlo Simulation experiments, to be carried out.

Graphical Distribution Editor

Interactively refine Statistical Distributions with immediate visual feedback. The Distribution Editor also provides useful information regarding the distribution, such as Mode, Mean and Variance.

Graphical Statistical Distribution Editor

Disruptions and Failures

It is possible to configure Material Objects to 'fail' at specified intervals in (Event) time.

When a Material Flow Object has failed then any Movable Objects trying to enter or leave will be blocked. The processing time for any Movable Objects contained in the failed Object will be recalculated accordingly.

The Interval and Duration of the 'fails' can be specified in the associated SimDistribution Object.

Blocking Behaviour

Ensures the Simulation Model does not 'stagnate' i.e. if a Movable Object cannot move onto the next Material Flow Object (e.g. because it is full) then it is registered with that Object's 'Blocking List' so that the 'move' is retriggered when the problem has been resolved.

An icon change can be assigned to this problem so users can see the 'bottlenecks' and 'build backs' associated with their Model.

Flow Decision Control

The Component Suite incorporates a SimFlowControl Object, which enables the routing of Movable Objects through a Simulation Model to be dynamically Controlled e.g. a part moving through a production line may require rework if it fails a Quality Control check. The SimFlowControl Object can be used to provide this functionality.

The decision logic can be set at Design-time or Run-time e.g. Movable Objects can be routed randomly or by user-defined procedure (using a SimAction Object or a standard Delphi Event Handler).

Automatic Statistics Collection

Simulation Objects can associate themselves with SimStatistics Objects so that State changes can be captured and recorded e.g. the time a SimSingleProcess was 'occupied' (for the given Simulation 'Run').

Each State change may be given a User defined name e.g. for one Object a 'failure' may be defined as a 'breakdown', however for another Object it may be defined as an 'off shift' State.

Additionally, it is possible to log the State changes to a text file or database, so that the Objects State changes over time may be analysed later.

Automatic Statistics Collection

Animation of Material Flow and Movable Objects

Movable Objects can be shown to 'move' across their 'container objects' (Material Flow) - their icon can be changed to reflect their current status e.g. 'Operational' or 'Blocked'.

Animation of Material Flow Objects

Material Flow Objects can change their icon representation to change their current status e.g. 'Operational' or 'Failed'.

Icons can be loaded in and the current icon can be specified at Design-time or Run-time.

It is possible for the user to 'drag' Simulation Components around the Simulation Panel by dragging the Object with the 'left mouse button', whilst depressing the 'ConTRol' key.

Graphical Connector Lines between Objects

MaterialFlow Components can be connected together. The visual representation of this is the Connector Line.

Graphical Connector Lines showing Material Flow

The Connector Line may be broken down into a number of Connector Nodes (i.e. the line can go round corners). Additionally, it is possible to change the colours and thickness of the Line.

Smooth Scrolling & Zooming of Simulation Forms

SimulationForms can hold SimulationPanels (panels upon which Simulation Components may be placed) that are larger than the form itself. A smooth and efficient Scrolling and Zooming mechanism has been implemented to allow the User to 'navigate' around the Model and to magnify areas of interest (mouse 'wheel' compliant).

Smooth Zooming and Scrolling of Simulation Forms

All Simulation Objects, including Connector Lines, that are placed on a SimuationPanel are Scalable and Scrollable.

Model Object Browser

The Object Browser allows the Model Hierarchy to be navigated at Run-time.

Model Object Hierarchy Browser

This can be used to find a specific Simulation Object (the Component dialogue can be launched by double-clicking on the relevant entry), or to view an Object's property values.

Model Integrity Checker

Provides automatic checking of the models integrity - i.e. has the model been developed sufficiently well to avoid Run-time errors.

Model Integrity Checker

This provides the Developer with a powerful tool to ensure that their Model/Software Application has been implemented correctly.

The Integrity Checker is run automatically when the Simulation Model is initialised. This feature can be enabled/disabled via the EventController Component Dialogue.

Data Tables, Stacks and Queues

Tables, Stacks and Queues provide a convenient and efficient storage mechanism for storing, processing and retrieving large amounts of multi-typed information.

Data can be entered into the tabular structures:

  1. By hand - data can be input and manipulated at Design-time.
  2. Through a database connection - can be used as an intermediary storage area between the database and the application. This provides a speed boost as it is quicker to read in the data, work on the local 'copy' in memory and then to write the data back (when finished), than to read and write the data directly from the database (which may be being accessed via a network).
  3. Save and Load data to/from formatted (user defined) text files.

Can Place User Actions on the Event List

The Component Suite incorporates a SimAction Object, which can be used to encapsulate standard Delphi Events handlers (e.g. OnPaint, OnClose etc.). The SimAction can be 'called' from an Event on the Event List, or be called from another Object such as a SimDistribution Object, where user defined code is required.

This means that users can place events on the Event List, along with a number of parameters, to be actioned at a specific time. When the Event is 'triggered' the appropriate SimAction is called, which in turn causes the user's code to be executed.

Genetic Algorithms / Scheduling

baseSim now has a Genetic Algorithm component. Genetic algorithms (GAs) are numerical optimisation algorithms based on natural selection. They can be applied to a wide variety of problems and offer several key advantages over other, more traditional, techniques.

Our Genetic Algorithm component has been optimised to work with high running speeds of baseSim. This allows simulation models to be developed in order to evaluate the 'fitness' of each generation, therefore allowing complex problems to be evaluated quickly.

Genetic Algorithm Scheduling

A typical use of the GA would be to create a scheduling optimisation tool based upon a simulation model of a manufacturing plant.

The use of GAs benefits from baseSim's ability to produce very fast simulation models.

3D Simulation VRML Interface

The major feature of this release is the introduction and full integration of our 3DVRML Add-on module. This combines OpenGL and VRML technology to provide a 3D replacement interface to the current 2D Scene (or an addition to) and free-format 3D modelling capabilities.

3D Simulation Interface

This allows for the creation of high speed, fully compiled 3D Simulation Models.

Integrated Help (Design-time and Run-time)

Help is available both at Design-time and Run-time, by clicking on the help button/menu in an Object Editor or in a Simulation Form. Users can specify whether to display the standard baseSim help or to provide their own. Help has been implemented using the Microsoft® HTML Help standard.

On-line Technical Support

Free access to the iBright Developer Technical Information, Support and Tips 'knowledgeBase'. Also, free access to baseSim Developer Programmers, via e-mail.

Plus all the Benefits of the Delphi Environment

Borland Delphi is a feature rich development environment offering:

  • Rapid Application Development (RAD).
  • Fast and robust 32-bit, optimising, native (Microsoft® Windows) compiler.
  • Easy to learn and use environment.
  • Built in Editor and Debugger.
  • Reusable and customisable suite of visual and non-visual components.
  • etc.

For more information on Borland and Borland Delphi see: http://www.borland.com/us/products/delphi/

System Requirements

Most modern PCs have resources that are more than adequate to develop applications using Delphi and baseSim, and to run Monte Carlo Simulation Models. A minimum specification would be:

Processor

Pentium II 450 MHz (or higher)

Operating System

Microsoft Windows '98
Microsoft Windows NT 4.0 (Service Pack 3)
Microsoft Windows 2000 (Required for Delphi 2005)
Microsoft Windows XP (Required for Delphi 2005)

Memory

Minimum: 256Mb of RAM
Recommended: 512Mb of RAM (or higher)

Video

Minimum: 800x600 at 8 bpp
Recommended: 1024x768 at 16 bpp (or higher)

* 3D Accelerator card supporting OpenGL is recommended when using the 3DVRML Add-on module

Hard Drive

Minimum: 120Mb free space
Recommended: 520Mb free space (or higher)

Programming Language

Borland Delphi: v.6.0, v.7.0, 2005 (Win32 Personality), 2006 (Delphi Win32 Personality) or 2006 (C++Builder Win32 Personality)
Microsoft Visual Studio: 2008

Search | Privacy | Disclaimer | Contact

Top

Copyright © 2001, 2007 iBright Ltd. All rights reserved. Last modified 02-Jun-2008 21:04

ICRA Rating