From a global wireless system to a system-on-chip (SoC), MLDesigner and SatLab deliver significant benefits for systems of any size or complexity.

MLDesigner - M&SBSE Development Environment

MLDesigner helps you quickly design and validate system functionality and architecture. You'll develop comprehensive system specifications, verify architectural decisions, reduce late design changes, and develop more predictable products. Designers throughout the organization will increase project success by verifying the impact of design changes on the overall performance of the system.

Easy to use and built on proven technology, MLDesigner provides 5 modeling domains, 2000 library elements, and over 100 demos and examples.

Developed and priced as a strategic tool for every engineer's desktop. Available as advantageous one-year-license MLDesigner provides significant productivity improvements for both individual designers and entire teams. Find here an overview of the application fields of MLDesigner, a short tool-description and  a brief guideline of the design process with MLDesigner.


System complexity, distributed development teams and aggressive engineering schedules are forcing design teams to retool their approach to system design. It's just too difficult to verify the entire system using multiple point-tools.

Quantum improvements in the system-level design process demand a different approach, built on a flexible and open platform that:

  • Simplifies modeling of the entire system by providing graphical editors and a common language to describe functions, interfaces and architectures.
  • Extends validation up into the mission/operational environment, and down into the implementation process, thereby reducing the risk of design errors.
  • Coordinates a distributed, multi-site and/or multi-company modeling effort across technology domains: networking, architecture, wireless communications, broadband communications, compression/encryption, control systems, and supervisory command/control.
  • Provides a comprehensive executable specification for hand-off to the hardware and software implementation teams, reducing the risk of specification errors.
  • Verifies the impact of design changes and implementation decisions on overall system performance, improving chances of first-pass system success.

Existing point-tools simply can't model, simulate and verify the entire system in the context of its operating environment.

MLDesigner is an integrated platform for modeling and analyzing the architecture, function and performance of high level system designs - either as a standalone system or as a system operating in the context of larger systems and scenarios (i.e., missions).

Primary domains include Discrete Event, Dynamic Data Flow, and Synchronous Data Flow. These primary domains are augmented by two subdomains (Finite State Machine and Higher Order Functions). A new Continuous Time/Discrete Event domain for analog and mixed signal designs is now available in the Experimental Library, along with early prototypes for other domains.

MLDesigner elevates and accelerates today's system design methodology by providing a reliable simulation environment to enhance the predictability, productivity, and quality of the entire development process and eventual product/system integration.

The MLDesigner Integrated Design Environment

The MLDesigner Integrated Design Environment (IDE) provides a common, seamless interface to the design domains. The IDE includes:

  • Common Menu and Dynamic Toolbar: The Toolbar adapts automatically to the work environment. For example, in simulation mode, simulation buttons are shown on the tool bar; when designing Finite State Machines, FSM buttons are added to the toolbar.
  • File Manager: The file manager is used to organize and manage models, modules and blocks in our open XML database. You can view components from a file, library or model perspective and you have the ability to search for instances of a specific model, module or block.
  • Model Editor: The Model Editor is the workspace where you graphically assemble bocks and modules into a system model using the hierarchical block diagram editor (If you wish, you can build your own basic building blocks or primitives using C++ . You also use the Model Editor to connect probes to aid in debugging your model, to generate output graphs, or to write results to files for later analysis.
  • Model Property Editor: The model property editor is used to define model parameters prior to simulation. Parameters can be associated with any MLDesigner block. Parameters for lower-level blocks can be exported the top-level view of the model to simplify configuration. MLDesigner also provides the ability to dynamically change parameters during the simulation and to read parameters from a file at runtime.
  • Console: The console is a multi-function window for exchanging information between the designer and the program. The console provides tab-selectable access to a command window and a log window. In simulation mode, a simulation progress window and a breakpoint management window are added to the console.
  • Data Structure & Data Type Editor: The Data Structure Editor is used to define and hierarchically organize data structures. It can be turned off when not needed to increase the size of the Model Editor.
  • Integrated Tcl/TK language for scripting and developing dynamic run-time animations.
  • Libraries of Tcl/TK control elements for dynamic parameter control during execution.
  • External simulation capabilities: External simulations run outside MLDesigner for faster execution; parameters can be set at run-time via automatically generated (and editable) parameter files. External simulations require MLDesigner for runtime library linking.
  • Multi-level debugging with automatic design check, graphic animation during execution, execution display during execution and breakpoints.
  • Support for shared resources.
  • Support for mix & match design. Design can incorporate modules from different domains and combine modules with differing levels of abstraction.
  • A multi-domain simulation kernel that can manage and coordinate the operation of multiple simulation engines for a single model.
  • Online documentation: The entire manual is provided as a searchable PDF. There is hierarchical online documentation for all design blocks-models, modules and primitives. The system automatically documents new design blocks and models.
  • Support for collaborative design.

SatLab - the most flexible way to design satellite systems

SatLab models the mission environment for mobile and satellite communication. Accurate mission-level scenarios can quickly be generated using SatLab's environment models and highly accurate trajectory generators.

SatLab is a software laboratory for mission and system level design, animation, and analysis of wireless mobile communication and navigation systems. SatLab models the dynamics of communication nodes (orbits of satellites, trajectories of cars, ships and aircraft) and the environment (terrain, propagation effects, blocking, coverage). Together with its SatCom library, SatLab can be used to perform mission and system level design trade-offs and animations for:

  • Global Mobile Personal Communications by Satellite (GMPCS),
  • Mobile terrestrial communication systems,
  • Satellite-based navigation systems,
  • Doppler and availability information for RF and handover design,
  • Integrated navigation and communication systems, and
  • System design of earth observation satellites.

SatLab system models may include satellites, fixed earth stations, and moving vehicles/persons (ground, air, and water).

SatLab is tightly integrated with our modeling and design tool MLDesigner. Custom interfaces and SatLabs SatCom design library ensure seamless integration. This tight integration supports integrated design flows covering the 14 orders of magnitude from global satellite systems to silicon.

Mission architectural models describe the flow of energy and information (transactions) through various system elements: the mission trajectory, the mission environment (e.g., terrain, atmospheric effects, availability of solar energy), system architectural components (e.g., CPU, memory, queues, power system, power and communication buses), and communication system components (e.g., transmitters, antennas, and receivers.) A mission architectural model simulation can generate performance metrics such as coverage, availability, bandwidth, response time, throughput, utilization, error probability as well as power generation and use. The results can be used to perform sizing trade-offs of system components--from orbits and gateway planning to channel bandwidth and memories for mission level requirements--to achieve the best performance at the least cost. The SatLab terrain and channel models support mission architectural tradeoff analyses which previously could only be done with on-site tests. Performing these trade-off analyses and making these design decision early in the design cycle minimizes later surprises, saving time and money.

The very high simulation speed of SatLab supports simulations of GMPCS systems with thousands of satellites and users distributed around the globe, permitting channel sizing and realistic interference analysis with other GMPCS systems based on realistic traffic scenarios. Combined with MLDesinger network models, SatLab supports analysis of integrated mobile terrestrial and mobile satellite communication systems like UMTS/IMT2000.

The animation capabilities of SatLab with views from space, from earth and in 3D terrain enable fast visual analysis of complex couplings in global communication and navigation systems and may be used both to better understand the complex relationships and to debug the simulations.


SatLab is...

  • a tool for mission and system level design, animation, and analysis of mobile/satellite communication and navigation systems.
  • available for Solaris 2.5, Solaris 2.6, Solaris 7, Solaris 7 x86, SunOS 4.1, HP-UX 10, Linux 2.0, Red Hat Linux, and SuSE Linu

SatLab contains... 

  • a simulation engine with the fast orbital propagator and trajectory generator for mobiles (aircrafts, missiles, cars, etc..)
  • an animation system with views from space, from earth and in 3D terrain, coverage analysis, circle views and path loss view in 3D terrain
  • a terrain data base system, compatible with USGS DEM, USGS Land Usage data, and DMA DTED data
  • a high-level programming language, called SatLab Command Language (SCL), that is similar to languages in Ctrl-C and MATLAB

SatLab provides...

  • Multiple animated views of global satellite systems
  • Simulation speeds an order of magnitude faster than other available systems
  • Uplink, crosslink and downlink analysis
  • ECM, jamming and adjacent satellite interference analysis
  • Representation of fixed, mobile and portable earth stations
  • Trade-off design windows for any orbit configuration

SatLab models...

  • Satellites with either circular or elliptical orbits
  • Fixed earth stations at any latitude, longitude and altitude
  • Mobile earth stations
  • Parameters to define all system parameter values

SatLab can be operated through the...

  • Menu system with orbital models for most GMPCS systems
  • Command system with more than 400 functions, and demo systems for routing animation, Doppler frequency analysis, link analysis, antenna gain display and antenna pointing and slewing between earth stations and satellites, and between satellites, filter design and
  • Server system. SatLab can be directly linked to MLDesigner for client/server operations. MLDesigner contains several examples that demonstrate MLDesigner and SatLab working together.

Simulation Capabilities

Positioning Simulation

The positioning simulation models, analyzes, and animates different configurations of satellites, fixed earth stations and moving stations. The satellite positions are defined by their orbital dynamics. The mobile stations are propagated by a general trajectory generator. The simulation tracks node (satellite, moving station, fixed station) positions, visibility from other nodes, and area coverage. You can track mobile/satellite positions from the perspective of a flat map of the earth, inertial and fixed views of the earth from space, or an observer attached to any node on earth, moving over the earth surface, flying, or in space. You can also view the density of satellite coverage for all points against a map of the earth. In the list below, the different views of positioning simulation are explained shortly.

  • The Map view shows the position of each satellite, mobile and station against a flat a map projectrion of the continents of the earth.
  • The Earth Centered Intertial (ECI) view shows all satellite orbits against a background of coordinates on a globe, but does not show the position of the continents.
  • The Earth Centered Fixed (ECF) view shows the position of each satellite and mobile against a globe of the earth that also shows the continents.
  • The Observer view shows the satellites, mobile and fixed earth stations that are visible to an observer at a selected latitude and altitude; you can use sliders to change the latitude and altitude while the simulation is running. Time histories of relative elevation and azimuth angles can be viewed, recorded and plotted. Visibility animation shows the number of satellites in view as a function of time. An observer can be attached to any node.
  • The Coverage view plots the number of satellites that are visible to an earth observer at a specific location and elevation angle constraint. An animated earth coverage map shows how current, partial, minimum / maximum, and statistical coverage patterns change as the satellites move along their orbits.
  • The Coverage ECF view plots the number of satellites that are visible to an earth observer at a specific location and elevation angle constraint. An animated globe shows how current, partial, minimum / maximum, and statistical coverage patterns change as the satellites move along their orbits.
  • The Circle view displays the areas on the earth surface, the mobiles and satellites can see for a given elevation constraint.
  • The Circle ECF view displays the areas on a globe of the earth, the mobiles and satellites can see for a given elevation constraint.
  • The 3D Earth Centered Fixed (ECF) view shows the position of each satellite against a globe of the earth with surface elevation dependent coloring and 3D shading.

Design Simulation

The Design Simulation automatically performs simulations for a range of parameter values. Using space-time optimization, SatLab computes the non-inferior design surface for any selected design parameter. You can perform this optimization for a selected area on the earth and a selected time period. For example, you can determine the interference of satellite communications systems on other communications systems or the probability of interference between satellite systems for shared frequencies. Gateway locations of minimum interference can be computed.

Communication Simulation

Communication simulations are performed by using SatLab in conjunction with a network simulation tool (such as MLDesigner) and the SatCom communications library. Using the SatCom library and a supported network simulation tool, you can create a block diagram representing the communications system between nodes. A node can be a satellite, a fixed earth station, or a moving station (a vehicle on land, sea, or air). Communications can be between any nodes, including from satellite to satellite (cross link), earth station (mobile, fixed) to satellite (up link), satellite to earth station (down link), or from one earth station to another. You can use the communications simulation to track the source and route of data communication packets, and to determine the best route for communications packets based on relative distance, velocity, angle, visibility, traffic congestion, and interference between two or more nodes. To control a communications simulation in SatLab, you use a combination of a simulation control window and messages to and from blocks in the SatCom library. For example, during a communications simulation, the SatCom library's MLDesigner SatLab Interface Module (BSIM) block sends inquires to the SatLab positioning simulation and receives data from the positioning simulation. During the simulation, you can observe the packet flow through the communications system.