Technical Overview
The Enterprise Dynamics architecture
The Enterprise Dynamics Simulation Platform is used in situations where speed, operational use and user-friendliness are very important. This has lead to a software architecture that is not only powerful, but also flexible to add new features, protocols and simulation objects whenever required.
Enterprise Dynamics can be divided in three parts:
- The simulation engine
- The available (branch specific) atoms
- The user-interface
The simulation engine binds all atoms together and makes it possible that the various objects can communicate with each other within a simulation model or with external applications, databases and real-life systems. Whatever product is acquired, the simulation engine is always the same.
Atoms mimic certain real-life objects and can be arranged (and be set with real-life parameters) to simulate a specific real-life process or system. The atoms are bundled in branch specific groups called Suites. Depending on the solution that is required, specific atoms are part of the product.
The third part is the user-interface that is merely a presentation of functionalities within a shell. However, this is a separate part in Enterprise Dynamics because it can be completely modified, independently from the other parts.
Object-oriented AND Event-oriented
Enterprise Dynamics is an object-oriented simulation platform. Simulation objects are defined with independent behavior. Communication between objects is realized, through the simulation language runner, via events and messages.An object-oriented simulation platform has two major advantages:
- Independent objects can easily be re-used in other simulation models.
- Behavior is defined on the object itself and not in a different part of the model (which makes the model clearer to understand).
In an event-oriented language in many cases the entire possible behavior is programmed somewhere in the program. A selection has to be made which part of the behavior is valid before the desired behavior can be executed. Not only does this lead to “spaghetti-code”, but it also decrease performance.
With object-oriented software behavior is set on specific events. This can lead to small and fast simulation models.
However, object-orientation can demand some higher programming skills from the user. This could make the use of the software somewhat more demanding from an organization. And with a lot of object-oriented software it really does have a large impact on the required skills!
To focus on problem solving, not programming, Enterprise Dynamics comes with the unique Channel-concept.
Channels are interconnections between simulation objects that are internally translated to tasks and messages to move objects and to communicate information. Channels are automatically added between objects to assist the modeler and limit the programming skills of the user. Through the use of channels, a lot of models can be designed in an event-oriented approach, while internally the full power of object-oriented programming is active.
The atom concept
Everything within Enterprise Dynamics is called an atom. From a simulation object imitating a production machine to the operator that is using the machine. Hence, even a simulation model, and the simulation platform itself is considered an atom.
Each and every atom has certain properties that can be set during design and runtime and is able to act on events when they occur. The specific events on which an atom is reacting can be set during design and runtime as well.
Enterprise Dynamics comes with a lot of predefined atoms that are developed based on industry experience, but atoms can also be created from scratch. In some cases, existing atoms are not doing the job that is needed for a specific problem. Via the unique atom concept, it is very easy to create completely new atoms as well. Even these custom-build atoms have all the strengths of factory-build atoms, properties can be created and set during design and runtime, and all the events an atom can react on are available to create custom-build actions.
Example
One of the basic elements in simulation software is called a Server. A server acts as an object that does something with an incoming part, product or item. For an insurance company it could represent the activity to evaluate a certain application and it could represent a manufacturing step for a production company.The Server has specific properties like:
- Cycle time
- Mean time between failures
- Mean time between repairs
And, the ability to execute specific actions whenever a certain event occurs:
- OnEntry
- OnExit
- OnCreation
In all, Enterprise Dynamics supports 15 types of events per atom.
The ability to have full control over all the properties and events makes it possible to alter existing atoms to specific needs and to build completely new atoms in the same way.
There are three big advantages of this unique approach:
- Flexibility: All atoms are completely modifiable to specific needs.
- Scalability: Only atoms and features that are required for the designed task at hand are made available, all other atoms and features can be disabled for the inexperienced users.
- Ease-of-use: All atoms have the same structure and can be accessed and modified in the same way.
Engine: Modular Design
The Enterprise Dynamics Simulation Engine is designed in modules. On top of the custom-build simulation language runner, all functionalities are offered in separate modules that communicate to each other, when needed, through the simulation language runner.
There are three main advantages for this approach:
- New features can be added without re-implementing (parts of) the engine.
- Easier tracking-and-tracing of bugs.
- An existing feature can easier be replaced with an improved version, without disturbing existing libraries and models.
Communication and control between modules is done via the simulation language runner in a standardized way through a limited number of access points. This limits possible errors through the interaction between modules.
Engine: 4DScript
The simulation language runner comes with a language that is very easy to learn and intuitive in its use. The name is 4DScript. The name 4DScript is easy to understand. 4D stands for x, y, z to point at the position and t for time. Script stands for the fact that it is a script language.
With 4DScript all well-known operations are possible that are available in modern programming languages. However, the true strength is the possibility to use the language for specific behavioral things that happen in real life. There are language words available to give simulation objects a speed, acceleration and a rotation, and language words to batch objects or to split objects in separate items. In total there are more than 1.200 language words available, July 2002. This number is rising every week due to a close cooperation with heavy users who are fully committed to make 4DScript better and better.
Due to the good design of the available atoms, many users will hardly use any 4DScript command, but each and every option in an atom window is translated to 4DScript language.
4DScript, as a script language, interprets the language code at the moment it is needed. However, simulation is all about speed, so optimization is made to interpret the code whenever it first appears. In practice this means, that the simulation run is as fast as any custom-build software that imitates real-life behavior.
For the experts
An interpreter language is in many occasions slower than a compiler counterpart. However, 4DScript is a hybrid form, in the middle between a compiler and an interpreter. This makes it versatile as an interpreter, but as fast as compiled software. During the time a model is loaded, it is already interpreted. Without any changes, the simulation language runner acts only as a loader for the interpreted model (just like compiled software).
The main advantage is that changes can be made to the model during a simulation run. With custom-build software, a new compilation would be required. With Enterprise Dynamics the changed code is interpreted, and reentered to the simulation runner. This approach results in two major advantages, the best of both worlds:
- Speed
- Flexibility
Atoms
Enterprise Dynamics comes with various atoms to be used in simulation models. These atoms range from abstract atoms to very specific detailed branch specific atoms, as well as additional atoms to assist in multiple tasks (like gathering data, communication with external sources, etc.).
All the atoms that are part of Enterprise Dynamics are developed in close cooperation with branch specific experts. They have the knowledge to define the requirements of a good set of objects that are useful in a specific branch or for a specific solution.
Atoms have been developed with much real-life behavior and the user has the possibilities to alter many parameters according to own specific needs. These atoms come complete with real looking 3D visualization.
However, the most important feature of Enterprise Dynamics is to change the behavior or appearance of these atoms itself. Alter existing atoms or create entirely new atoms is part of the standard functionality. Being able to define the correct behavior or appearance is what makes Enterprise Dynamics the leading simulation platform.
Atoms: Grouped by function
No matter which branch specific solution is used, available atoms are always grouped by function. This makes it easier to determine which atoms are available that potentially are of use for the user for a specific model. Due to the high number of atoms that are supplied with each Suite, it would otherwise hard to find the right atom within the pool of atoms.
However, as mentioned earlier, the user-interface is completely modifiable, and therefore the grouping can be changed if so desired. It is done to assist the user in finding the right atom quickly.
For users who create their own set of atoms, new groups can be added, or existing groups can be changed entirely. If a user creates models with the same set of atoms (pre-defined and/or newly created ones), the user is free to change the grouping so these atoms are the top-most set of atoms, which could speed up modeling.
Visualization
In a lot of cases, simulation is all about the determination of values within specific boundaries. However, a sheet with numbers, intervals and percentages is for most people hard to read. To convey the message, some other form is needed. Furthermore, some organizations use simulation for the sole purpose of demonstrating their own capabilities. Although they use the numbers internally, they want to demonstrate their products or services with a clear and easy to understand presentation.
Enterprise Dynamics comes with a high-end 3D graphic environment to visualize the simulation in an instance. This 3D graphic environment animates the simulation model with respect to the geometry entered and is completely adaptable to visualize any real-life system.
The (3D) visualization in Enterprise Dynamics is part of the standard product and is generated immediately. Even changes made during a simulation run are updated at once. In this way the effect of the visualization or the changed geometry can be evaluated without starting all over again.
Most of the atoms supplied with Enterprise Dynamics offer more than one form of visualization. This makes adapting the visualization to specific needs easy to do and assist in creating astonishing presentations without any graphic designer skills.

Communication
In many occasions there is a need to communicate with databases, third-party software or even hardware. Some of the most experienced reasons are:
- A database contains data with real-life entry times of people that can be used as input data for a simulation model
- Some third-party software is used to write data for analysis purposes (for instance Excel)
- Listening and responding to hardware is used to control a machine in a production line and to assist operators in specific tasks
Enterprise Dynamics is supplied with many features to communicate with external sources. No matter if it is a simple text file or a piece of hardware, Enterprise Dynamics can communicate with it!
To assist in the communication, Enterprise Dynamics comes with a set of supportive atoms that act as a wizard to set up the communication and the desired response.
Analysis
Running a simulation model without good tools to analyze the results is only half the job done. Being able to analyze the results and the creation of clear reports is vital in a good simulation study.
Enterprise Dynamics comes with all the necessary tools to analyze input and output data, as well as the features to create customizable reports. And if you prefer other analyzing tools, no problem, through the communication features and supportive atoms, an export to these tools is very easy to accomplish.
To assist in finding the right solution, Enterprise Dynamics is also equipped with tools to define scenarios and experiments. Scenarios and experiments are used to set a range of parameters and to run multiple simulation runs using these parameter settings. It assists the user in finding the right solution, as well as the statistical validation of the results.
Summary
Using Enterprise Dynamics is choosing for the leading simulation solution provider with more than 20 years of experience in simulation. Enterprise Dynamics is used by branch leaders to find the answers for capacity investigations, investment evaluations and time-to-market vs. costs evaluations.
Using Enterprise Dynamics as your simulation solution, you choose for:
- Speed and flexibility
- Object-oriented simulation software
- Branch specific expertise translated into powerful simulation objects
- State-of-the-art technology
- Instant 3D Visualization
- The ability to integrate simulation into your core processes
- Powerful data analyzing tools
ED Platform
ED Logistics
ED Airport
ED Transport
ED Warehouse
Pedestrian Dynamics
ED Educational
ED ShowFlow