# SIMUL8 Feature List - Inputting and Storing Data

The results from a simulation are only as reliable as the data that it is fed. For this reason SIMUL8 has full range of features which allow you to fully enter and store any data you may require.

Distributions

SIMUL8 allows you to create your own distributions, however a full range of classical statistical distributions are provided:

• Bernoulli
• Beta
• Binomial
• Erlang
• Exponential
• Gamma
• Gauss
• Geometric
• Log Normal
• Normal
• Negative Binomial
• Pearson V
• Pearson VI
• Poisson
• Triangular
• Uniform
• Weibull

Distribution Viewer

Summary of all distributions in your simulations:

• See all your distribution parameters in one grid
• Sort on any column

[Top of the page]

Probability Profile

Probability Profiles are distributions that can be configured entirely under your control to generate any shape of distribution you need.

The blue bars can be dragged up or down to change the probability (percentage chance) of each sample value occurring.

[Top of the page]

Time Dependent

In many situations the speed of a part of a system is related to the time of day. Time dependent distributions enable a different distribution to be assigned to different times of the day.

Time Absolute

A time absolute distribution lets you specify when you want something to happen rather than a more usual approach of specifying how long it will be from now until the next thing happens.

This is particularly useful in situations where something happens at the same time, or about the same time each day. For example, a mail drop may happen at around 8am and 2pm each day.

[Top of the page]

Bounded

The Bounded Distribution is a standard distribution that has additional upper and lower limits set. This prevents extreme or undesirable values being sampled.

If a value is outside the range is sampled then the distribution can be re-sampled. If the sample value lies outside the bounded value and the ReSample option is not ticked then the bounded value becomes the sample value.

[Top of the page]

Named Distributions

In SIMUL8 you can name distributions and then use those in many places.

For example if 50 different machines are work at a given rate, but you want to be able to change that rate easily, then you can tell each machine that it uses a distribution call MACHDIST, and then just change the parameters of MACHDIST.

Labels/Attributes

Labels, or attributes as they're often called in other packages, can be attached to any work item in the simulation and used to store data about the work item.

For example you might attach a label "Illness" to work item type "Patients" and set this label to a code number as they enter your simulation of a hospital. Each code number would represent a type of illness.

Labels can contain either text or numbers and can be changed throughout the simulation by the simulation objects that have Label Actions functionality.

[Top of the page]

Information Store

The SIMUL8 information store is a where SIMUL8 holds variables or items of data which can be used in your simulation to measure or control what is happening. These items of data are "global".

Numeric, text, time, object and spreadsheet variables can be created. There are also some Special Global Data Items:

These are supplied by SIMUL8 and allow key parameters of the simulation to be accessed and changed through Visual Logic, SIMUL8's internal programming language.

Search

Search all the values stored in the Global Data Item to find the ones containing the values you need. This is really useful in large simulations where lots of data is being dynamically changed or when you’re taking over a simulation from another user.

To File

Quickly export all your Global Data Items and their values to a notepad file.

References

Find out exactly where an Information Store variable is being used in your simulation.

[Top of the page]

Numeric, Text and Time Variables

Numeric, Text and Time variables can be created from the Information Store.

You can inspect and change the current value of the variable in the Content box. A value can be set in 'on reset' so that when a new simulation run is started or the simulation is reset the variable's current value will be set to this value.

These variables can be read and updated from Visual Logic, SIMUL8's internal programming language. They can also be read by any of the simulation objects.

Spreadsheets variables can be created in SIMUL8.

SIMUL8 Spreadsheets are very similar to Excel and have most of the same functionality but not all. Any additional features required can be used by linking to Excel.

Entire spreadsheets can be copied to and from other SIMUL8 spreadsheets or other packages. Spreadsheets are completely formatable and buttons and charts can be added.

Spreadsheets can be referenced and set from Visual Logic and all simulation objects.

[Top of the page]

Multidimensional Arrays

SIMUL8, arrays can have as many dimensions as you wish. You can store both numeric and text data in the same array, we know of no other tool which offers this variant type array functionality. We've also provided a viewer that allows you to map any dimension by another so you can easily visualize the date stored.

These are a revelation for SIMUL8 making storing your data and coding much easier, faster and more efficient.

This feature is only available with SIMUL8 Professional

Object Variables

Variables in the SIMUL8 Information Store can contain references to simulation objects. This makes Visual Logic very powerful because it can perform the same task on many simulation objects.

Importing from Databases

SIMUL8 SQL allows SIMUL8 Professional to connect to your data source that supports SQL, like Oracle, Sybase, Access and many others, read from it, write to it, and query it. SIMUL8 Professional is supplied with a number of standard SQL statements embedded, so you do not need to know about how SQL works, and if you need to, it also allows you to write your own SQL.

Why might you need this? SIMUL8 Professional is designed to handle large amounts of data, fast, in memory. Simulations need this to get you results quickly. However, when your data is on disk, maybe in your corporate database, it can be useful to access it directly from inside SIMUL8 Professional.

For example one client uses the SQL interface to read live customer orders and use this to predict process bottlenecks in the week ahead. Without SIMUL8's SQL Plug-in you can still do this if you transfer the data by hand (copy and paste into a SIMUL8 spreadsheet, or read using a text data file), but the SQL Plug-in means the simulation is automated, and it works quickly on live data.

Another customer has a very large data set (millions of records of current and past airline customers). They need to read and write to this data as the simulation runs because they don't want to fill memory up with millions of records of data, that is not used most of the time, but they do need to update data on the records they do use because these represent recent flights and these customers are more likely to fly again soon. The database is indexed and automatically sorted by Oracle as it's updated by SIMUL8 Professional. So in this case a huge simulation runs very fast because it can use the external resource of a powerful Oracle database.

This feature is only available with SIMUL8 Professional

[Top of the page]

External Distributions

SIMUL8 can draw the data across from Excel or VB using an External Distribution.

[Top of the page]

Importing from Excel

SIMUL8 can draw the data across from Excel using an External Distribution. There are also several Visual Logic Commands which allow you to read and write to and from SIMUL8 and Excel. COM is also available to allow full control over SIMUL8 from Excel.

In SIMUL8 2013, SIMUL8 introduced Excel® Connections

Click 1: Click the Excel® Icon
Click 2: Select your .xls or .xlsx from the dropdown
Click 3: Confirm the data ranges SIMUL8 has automatically detected are the right ones...done. Your data is now imported into your simulation. How fast was that?!

[Top of the page]

Importing BPMN

Don't draw out your process twice - simply import BPMN straight into your SIMUL8 simulations.

[Top of the page]

Importing XPDL

Import XML Process Definition Language (XPDL) straight into your SIMUL8 simulations.

[Top of the page]

Distribution Selection

Stat::Fit for SIMUL8 will take your raw data from spreadsheets, text files, or manual input and convert that data into the appropriate distribution for instant input into SIMUL8. Stat::Fit provides relative comparisons between distribution types, and an absolute measure of each distribution's acceptability.

Features include descriptive statistics, parameter estimates, goodness of fit tests, graphical analysis, random variate generation, export to simulation products, and more.

[Top of the page]

Auto Efficiency

Both Activities and Conveyors can simulate situations were equipment or people work with less then 100% efficiency.

Click the Efficiency button in either the Conveyor or Activity dialog to specify the efficiency rate.

Simply set the efficiency value (in % terms). If you wish you can also specify a typical time it takes to repair the stoppage. If you leave this field as a ? then SIMUL8 will automatically "repair" the Activity at a speed that appears compatible with the rate at that it is working.

With efficiency set to "AUTO" SIMUL8 calculates automatically mean-time-between-failure figures and uses negative exponential distributions for mean-time-between-failure and Erlang 2 distributions for repair time.

[Top of the page]

Detailed Efficiency

Time Between Breakdowns can be based on:

MTBF: Mean Time Between Failures. By default based on Clock time this option stops a machine working at intervals based on the distributions used. The default in SIMUL8 is to breakdown an Activity based on the elapsed time since the end of repair for the previous breakdown. This means that machines can breakdown even if they have not been working. Only Count Busy Time restricts the time since the last breakdown to count only to machine running time.

MCBF: Mean Cycles Between Failure. The number of machine cycles, or items processed, between the end of repair and the next breakdown.

SIMUL8 allows an additional Resource to be required for the duration of a breakdown, by selecting the Time to Repair option and then the Resources button.

[Top of the page]