Modeling environments may be graphical or textual. Graphical modeling environments enable users to develop graphical models of systems, whereas textual modeling environments enable users to develop textual models of systems. Modeling environments may also use a combination of graphical and textual models. Modeling environments provide users with a variety of different types of modeling functionality, such as model development, analysis, simulation, and code generation. Model development allows a user to design a model of a system. A model may be made up of several smaller models. For example, models of individual components may be grouped to create a larger model.
Simulation enables a user to simulate or execute a model to see how the model behaves. For example, a simulation may generate results that can be interpreted by a user. These simulation results can be useful in one or more ways. For example, the results may indicate how the underlying system will behave under a particular set of circumstances, results may indicate how well the model captures the behavior of the underlying system, or the results may identify flaws in the underlying system.
Code generation generates instructions for executing a model, these instructions may be in a programming language such as C or in a hardware description language. For example, code generation enables a user to develop a model of a system and then implement the model on a target device. By way of example, a model of a control system or signal processing system may be developed by a user and the user may generate code from the model. The user may then execute the generated code on a controller to implement the control system.