MLDesigner

Last updated
MLDesigner
MLDesigner.logo.small.png
Developer(s) MLDesign Technologies, Inc, Palo Alto, CA, USA
Stable release
3.1 / December 2, 2015 (2015-12-02)
Operating system Linux, Microsoft Windows
Type Simulation, Modeling
License proprietary
Website www.mldesigner.com

MLDesigner is an integrated modeling and simulation tool for the design and analysis of complex embedded and networked systems. MLDesigner speeds up modeling, simulation and analysis of discrete event, discrete time and continuous time systems concerning architecture, function and performance. The tools is based on ideas of the "Ptolemy Project", done at the University if California Berkeley. MLDesigner is developed by MLDesign Technologies Inc. Palo Alto, CA, USA in collaboration with Mission Level Design GmbH, Ilmenau, Germany.

Contents

Concept

System models are composed in a graphical editor. These hierarchically structured block diagrams are stored in MML (Model Markup Language), a dialect of XML. Models may therefore also be generated automatically by XML-transformations from other XML based models descriptions e.g. UML (via XML Model Interchance, XMI), BoNES, Cossap or OPD/OPM (Object Process Diagram/Modeling) models. Executable models (systems) are composed of modules and primitives, which are connected via typed in- and out-put ports and/or attributes (parameters, resources, memories, events). Modules can be composed of other modules and/or primitives. Primitives are the smallest units in MLDesigner models. The behaviour of primitives is either coded in ANSI C/C++ or modeled using Finite State Machines (FSM) and/or may exchange information with other simulators, internet based systems or hardware. All modules and primitives of a simulation model may be dynamically instantiated (dynamic instance support), enabling simulation with dynamically changing architectures and architectural optimization. MLDesigner comes with more than 2000 library elements. For system modeling therefore the development of new primitives is generally not required.

Operation

Simulations in MLDesigner are based on specific, matter depending models of computation (MOC), called domains. The type of domain determines how and in which order the exchange of data structures between the model elements is done. Included are discrete time synchronous (SDF) and dynamic (DDF) data flow, continuous time and discrete event domains. The MLDesigner kernel automatically synchronizes model elements created in different domains within a single system. Therefore MLDesigner supports the modeling and simulation of time discrete, time continuous and event discrete systems.

Domains

The Multi-Domain-Simulator MLDesigner supports among others the following domains:

SDF-Domain (Synchronous Data Flow)

The SDF domain is a data driven, statically scheduled domain in MLDesigner. It is used to model time discrete systems, as for example digital signal processing, general or special purpose processors. In this domain model elements exchange synchronously a fixed quantity of data elements, so called particles. "Statically scheduled" means that the firing order of the primitives is determined once during the start up phase on the basis of fixed generating and consuming rates of the data elements. Within the SDF domain time does not exists. Another data driven domain is the DDF Domain (Dynamic Data Flow). Whereas in the SDF domain the generating and consuming rates are fixed, the rates in the DDF domain are variable, which allows a dynamical change of the data processing.

DE-Domain (Discrete Event)

The discrete event (DE) domain in MLDesigner provides a general environment for event-oriented simulations of systems such as queuing networks, communication networks, and high-level models of computer architectures, organizational systems, or production systems. In this domain, each Particle represents a time-event that corresponds to a change of the system state. The data exchange itself represents an event appearing at one part of the model and acting on another model element. The DE domain schedulers process events in chronological order. Since the time interval between events is generally not fixed, each particle has an associated time stamp. Time stamps are generated by the block producing the particle based on the time stamps of the input particles and the latency of the block. Features like special events or resources, which represents the use of quantities and processor computation times, make modeling intuitive. The use of ready-made model elements like scheduling mechanism simplifies significantly the modeling process. The DE domain allows the modeling of a multitude of systems, such as bus systems, digital controller systems, computer architecture and system-on-a-chip (SoCs), networked computer systems, or networked organizational, production, or design/development processes.

FSM-Domain (Finite State Machine)

FSM is a concept for modeling event based systems with finite state automatons, an abstraction where the system behavior is represented by directed graphs, a finite set of conditions, called states, and transitions between this states. The FSM represents the current state of the system or of a part of the system. An event leads to a certain action and to a change of the state. The FSM domain is an alternative concept to model event oriented systems. Internal the FSM models are mapped on DE models. With the FSM domain systems can easily be modeled by one or multiple state automatons. Examples are protocol automatons in data networks, control logic, or general software logic. The MLDesigner FSM domain includes a graphical editor and an action language for defining and managing states, transitions and interface elements. The FSM model can be formally validated and code generated from this validated model.

CTDE-Domain (Continuous Time/Discrete Event)

The CTDE-domain is a further time oriented domain for describing continuous time systems, as analog and mixed-signal devices. The two distinct models of computation, continuous time and discrete event are combined into one domain, in order to permit to models systems that include time-events and state events, like hysteresis. Connections between ports of different types are made possible by inserting a primitive to convert the signal. The description of systems within the CTDE domain corresponds to the description with differential equations. The state derivatives are inputs to integrator blocks, while the derivative equation and the output functions are modeled by networks of primitives that perform arithmetic operations. The CTDE domain includes multiple integration algorithms. MLDesigner contains several more domains, for example the HOF domain (High Order Function), which allows a procedural modeling of systems.

The BDF (Boolean Data Flow) domain can be thought as a generalization of the SDF domain. It expands the concept of data flow oriented domains by the possibility to activate or deactivate parts of the model according to combinatorial logic.

Code-Generation-Domain

Beside the above described domains, which can be used to model and to simulate and therefore are called simulation domains, there are several code generation domains in MLDesigner. For a model created in one of the simulation domain it is possible to change the domain in a code generation domain as long as all the used model elements are in the code generation domain included. It is then possible to create object code in C or VHDL. Beside using MLDesigner code generation domains, it is possible to generate directly ANSI-C Code, VHDL-Code or SystemC-Code for models completely created with elements of the DE and the FSM domain.

Application areas

The multi-domain simulation environment may be used in early development stages for validation of executable specifications at application/mission level and perform architectural optimization at overall system level. MLDesigner can be used to design missions, systems, integrated circuits, reconfigurable electronics and miscellaneous other products. It can be applied for modeling, simulation and optimization of automotive, avionics and space systems, satellite communication systems and organizational, production, and development processes.

See also

Related Research Articles

A mathematical model is a description of a system using mathematical concepts and language. The process of developing a mathematical model is termed mathematical modeling. Mathematical models are used in the natural sciences and engineering disciplines, as well as in non-physical systems such as the social sciences. The use of mathematical models to solve problems in business or military operations is a large part of the field of operations research. Mathematical models are also used in music, linguistics, and philosophy.

Computer simulation Process of mathematical modelling, performed on a computer

Computer simulation is the process of mathematical modelling, performed on a computer, which is designed to predict the behaviour of, or the outcome of, a real-world or physical system. The reliability of some mathematical models can be determined by comparing their results to the real-world outcomes they aim to predict. Computer simulations have become a useful tool for the mathematical modeling of many natural systems in physics, astrophysics, climatology, chemistry, biology and manufacturing, as well as human systems in economics, psychology, social science, health care and engineering. Simulation of a system is represented as the running of the system's model. It can be used to explore and gain new insights into new technology and to estimate the performance of systems too complex for analytical solutions.

Network traffic simulation is a process used in telecommunications engineering to measure the efficiency of a communications network.

Hopsan

Hopsan is a free simulation environment for fluid and mechatronic systems, developed at Linköping University. Although originally developed for simulation of fluid power systems, it has also been adopted for other domains such as electric power, flight dynamics, and vehicle dynamics. It uses bi-directional delay lines to connect different components.

VisSim is a visual block diagram program for simulation of dynamical systems and model-based design of embedded systems, with its own visual language. It is developed by Visual Solutions of Westford, Massachusetts. Visual Solutions was acquired by Altair in August 2014 and its products have been rebranded as Altair Embed as a part of Altair's Model Based Development Suite. With Embed, you can develop virtual prototypes of dynamic systems. Models are built by sliding blocks into the work area and wiring them together with the mouse. Embed automatically converts the control diagrams into C-code ready to be downloaded to the target hardware.

A discrete-event simulation (DES) models the operation of a system as a (discrete) sequence of events in time. Each event occurs at a particular instant in time and marks a change of state in the system. Between consecutive events, no change in the system is assumed to occur; thus the simulation time can directly jump to the occurrence time of the next event, which is called next-event time progression.

A stochastic simulation is a simulation of a system that has variables that can change stochastically (randomly) with individual probabilities.

Computational engineering

Computational science and engineering (CSE) is a relatively new discipline that deals with the development and application of computational models and simulations, often coupled with high-performance computing, to solve complex physical problems arising in engineering analysis and design as well as natural phenomena. CSE has been described as the "third mode of discovery".

Scicos is a graphical dynamical system modeler and simulator. Users can create block diagrams to model and simulate the dynamics of hybrid dynamical systems and compile these models into executable code. Applications include signal processing, systems control, queuing systems, and the study of physical and biological systems.

Simulation software is based on the process of modeling a real phenomenon with a set of mathematical formulas. It is, essentially, a program that allows the user to observe an operation through simulation without actually performing that operation. Simulation software is used widely to design equipment so that the final product will be as close to design specs as possible without expensive in process modification. Simulation software with real-time response is often used in gaming, but it also has important industrial applications. When the penalty for improper operation is costly, such as airplane pilots, nuclear power plant operators, or chemical plant operators, a mock up of the actual control panel is connected to a real-time simulation of the physical response, giving valuable training experience without fear of a disastrous outcome.

Dynamic simulation is the use of a computer program to model the time-varying behavior of a dynamical system. The systems are typically described by ordinary differential equations or partial differential equations. A simulation run solves the state-equation system to find the behavior of the state variables over a specified period of time. The equation is solved through numerical integration methods to produce the transient behavior of the state variables. Simulation of dynamic systems predicts the values of model-system state variables, as they are determined by the past state values. This relationship is found by creating a model of the system.

Model-based design (MBD) is a mathematical and visual method of addressing problems associated with designing complex control, signal processing and communication systems. It is used in many motion control, industrial equipment, aerospace, and automotive applications. Model-based design is a methodology applied in designing embedded software.

SIMUL8 simulation software is a product of the SIMUL8 Corporation used for simulating systems that involve processing of discrete entities at discrete times. This program is a tool for planning, design, optimization and reengineering of real production, manufacturing, logistic or service provision systems. SIMUL8 allows its user to create a computer model, which takes into account real life constraints, capacities, failure rates, shift patterns, and other factors affecting the total performance and efficiency of production. Through this model it is possible to test real scenarios in a virtual environment, for example simulate planned function and load of the system, change parameters affecting system performance, carry out extreme-load tests, verify by experiments the proposed solutions and select the optimal solution. A common feature of problems solved in SIMUL8 is that they are concerned with cost, time and inventory.

Reverse computation is a software application of the concept of reversible computing.

FlexSim is a discrete-event simulation software package developed by FlexSim Software Products, Inc. The FlexSim product family currently includes the general purpose FlexSim product and healthcare systems modeling environment.

Preesm

PREESM is an open-source rapid prototyping and code generation tool. It is primarily employed to simulate signal processing applications and generate code for multi-core Digital Signal Processors. PREESM is developed at the Institute of Electronics and Telecommunications-Rennes (IETR) in collaboration with Texas Instruments France in Nice.

Simcad Pro

Simcad Pro simulation software is a product of CreateASoft, Inc which is used for simulating process based environments such as manufacturing, supply lines, logistics, healthcare, and many others. The on-the-fly, interactive dynamic process simulation software has a patented no coding modeling environment. It is a tool used for planning, organizing, optimizing, and engineering real process based systems. Simcad Pro allows the creation of a computer model, which can be manipulated by the user and represents a real environment. Using the model, it is possible to test for efficiency in any scenario possible, as well as locate points of improvement among the process flow. Simcad Pro's dynamic computer model also allows for changes to occur while the model is running for a fully realistic simulation. It is also able to be integrated with live and historical data.

Micro Saint Sharp

Micro Saint Sharp is a general purpose discrete-event simulation and human performance modeling software tool developed by Alion Science and Technology. It is developed using C# and the .NET Framework. Micro Saint Sharp allows users to create discrete-event simulations as visual task networks with logic defined using the C# programming language.

References