SLX (simulation software)
| Developer(s) | Wolverine Software |
|---|---|
| Stable release | Jan 2017
|
| Engine | |
| Operating system | Microsoft Windows |
| Type | Simulation software |
| Website | wolverinesoftware.com [1] |
Search SLX (simulation software) on Amazon.
SLX (Simulation Language with Extensibility) is a Windows-based system designed for developing discrete event simulations, allowing users to create models that mimic the operation and processes of complex systems. The name SLX stands for Simulation Language with eXtensibility, highlighting its adaptability and the ability to be customized and extended by the user. It is designed to accommodate a broad spectrum of users, from beginners to experts in simulation, enabling the creation of tailored simulation packages for specific applications.
SLX offers a compact and user-friendly interface, focusing on a core set of features distilled from extensive experience in developing simulation software. It provides an open architecture, allowing users to scrutinize both the model and the SLX system itself using visually-oriented tools. This openness ensures transparency and a deeper understanding of the functioning of models, avoiding the “black box” dilemma often associated with complex software systems.
The extensibility in SLX is significant, allowing users to build new features and even add new statements to the language, enabling the development of a dialect of SLX that is custom-tailored to specific applications. This extensibility goes beyond what is typically found in other languages, providing a high degree of customization and adaptability to the user.[1]
SLX is a comprehensive system that combines language with graphical modeling systems. It offers descriptive capabilities, allowing users to type lines of code to describe procedural behavior, which can be challenging to do using purely graphical tools. It works with Wolverine's Proof Animation software for animation needs and is capable of handling extremely large models, with optimized algorithms for event management and other critical simulation tasks.[2]
The development environment of SLX includes an integrated editor, debugger, and browser, making use of Rich Text Format (RTF) files for both model source and model output. It provides a secure execution environment, highlighting errors and preventing undetected errors that could cause illegitimate "random" behavior in simulations.
SLX introduces several mechanisms in the field of simulation, including capabilities for expressing parallelism, a generalized "wait until" mechanism, and its macro- and statement-definition facility. This allows for the description of processes that take place in parallel, enables model components to wait for other components to attain a specified state, and offers extensibility, respectively.
SLX is object-based, utilizing composition to create new objects and does not include procedural polymorphism, differing from object-oriented systems. It provides a collection of tools for generating random variates, collecting observations of random variables, and analyzing random outputs, offering variate generators for numerous distributions and innovative methods of collecting observations of random variables.
While SLX is not a replacement for other programming languages like C++, it offers specialized features and tools that make it more suitable for developing discrete event simulations. It provides a more user-friendly and efficient environment for simulation development compared to the mechanics of editing, compiling, linking, and executing code in languages like C++. However, SLX does offer interoperability with C/C++ through standard Win32 DLLs, allowing users to integrate programs written in these languages with SLX models.
Sample code
//*****************************************************************
// Hello world in SLX
//*****************************************************************
module basicdemo
{
// Definitions
// Necessary Procedur main() procedure main()
{
print "Hello SLX-World! \n"; }
} // main
The following example relates to Simulation using GPSS,[3] and is referenced as an extended "Hello world!" that illustrates the main concepts.
The aim is to simulate one day of operation of a barber shop. Customers arrive in a random constant flow, enter the shop, queue if the barber is busy, get their hair cut on a first-come first-served basis, and then leave the shop. We wish to know the average and maximum waiting line, as well as the number of customers.
//*****************************************************************
// Joe's barber shop
//*****************************************************************
import <H7>
import <proof4>
module Joe {
filedef rep name ="report.txt";
float tSalon[100], tServe[100];
integer iCustom;
facility Joe;
rn_stream Customers, Serve;
control int start_counter = 100;
procedure main() {
arrivals: customer
iat = rv_uniform(Customers, 12.0, 24.0)
until_time = 100000;
wait until (start_counter <=0 );
report(system);
write file = rep (" #Customer", "Time in Saloon", "Service Time")
"___________ ___________ __________ \n";
for (iCustom=1; iCustom<=100; iCustom++){
write file = rep (iCustom, tServe[iCustom], tSalon[iCustom])
" __ __.__ .__ \n";
}
exit(0);
}
class customer {
int i;
float tS;
actions {
iCustom +=1;
i = iCustom;
advance 0.5;
seize Joe;
tS = time;
advance rv_uniform(Serve,12.0,18.0);
release Joe;
tServe[i] = time - tS;
tSalon[i] = time - ACTIVE->mark_time;
start_counter --;
terminate;
}
}
}
See also
References
- ↑ James O. Henriksen (1998). SLX - THE X IS FOR EXTENSIBILITY (PDF).
SLX features unique extensibility mechanisms that allow users to tailor and extend SLX’s modeling capabilities.
Search this book on
- ↑ Wolverine Software (2017). SLX - THE X IS FOR EXTENSIBILITY.
SLX is capable of handling extremely large models. Compiling a 10,000-line model is effortless. Moreover, the SLX compiler generates native machine instructions, yielding very fast execution.
Search this book on
- ↑ Schriber, Thomas (1974). Simulation using GPSS. Wiley. ISBN 9780471763109. Search this book on
External links
- SLX overview
- SLX, THE SUCCESSOR TO GPSS/H, Proceedings of the 1993 Winter Simulation Conference
- An introduction to SLX, WSC '96: Proceedings of the 28th conference on Winter simulation
- Simulation of the Dining Philosophers in SLX
- Integration of SLX in High Level Architecture
- SLX: Pyramid power, Proceedings of the 1999 Winter Simulation Conference
- SLX: the X is for extensibility, 2000 Winter Simulation Conference Proceedings
- An SLX-based microsimulation model for a two-lane road section, Proceeding of the 2001 Winter Simulation Conference
- Simulation Needs SLX
- Management of HLA-based distributed legacy SLX-models, 2008 Winter Simulation Conference
- Model generation in SLX using CMSD and XML stylesheet transformations, Proceedings of the 2012 Winter Simulation Conference (WSC)
This article "SLX (simulation software)" is from Wikipedia. The list of its authors can be seen in its historical and/or the page Edithistory:SLX (simulation software). Articles copied from Draft Namespace on Wikipedia could be seen on the Draft Namespace of Wikipedia and not main one.
