Abstract:
A method may include causing a first model to be executed. The causing the first model to be executed may be performed by a device. The method may further include causing a second model to be executed to simulate a functionality of the first model. The causing the second model to be executed may be performed by the device. The method may further include interacting with a model element, of the second model, associated with implicitly accessing information regarding a state of the first model. The state may be a representation of the first model at a particular simulation time-step. The interacting with the model may be performed by the device. The method may further include accessing, by the model element, information associated with the state of the first model. The accessing the information may be performed by the device.
Abstract:
Systems and methods analyze an executable simulation model to identify existing concurrency, determine opportunities for increasing concurrency, and develop proposed modifications for realizing the opportunities for increased concurrency. The systems and methods may label locations at the simulation model where concurrency exists, and provide information regarding the proposed modifications to increase the model's concurrency. The systems and methods may modify the simulation model if the additional concurrency is accepted. The systems and methods may operate within a higher-level programming language, and may develop the proposed modifications without lowering or translating the simulation model to a lower abstraction level. The systems and methods may also undo a modification, rolling the simulation model back to a prior design state. Accepting the proposed modifications may cause the simulation models to execute more efficiently, e.g., faster.
Abstract:
A system and method may automatically generate computer programming code for an executable model having messaging semantics. The executable model may define messages that have fixed payloads, and that persist for only a determined time interval of a total execution or simulation time of the model. The model may establish message queues for storing messages. The standalone code may include code that establishes message services including the creation of message queues. The generated code may be compiled and deployed on a target device for execution.
Abstract:
A method may include causing a first model to be executed. The causing the first model to be executed may be performed by a device. The method may further include causing a second model to be executed to simulate a functionality of the first model. The causing the second model to be executed may be performed by the device. The method may further include interacting with a model element, of the second model, associated with implicitly accessing information regarding a state of the first model. The state may be a representation of the first model at a particular simulation time-step. The interacting with the model may be performed by the device. The method may further include accessing, by the model element, information associated with the state of the first model. The accessing the information may be performed by the device.
Abstract:
A system and method may generate executable block diagrams in which at least some of the blocks run in accordance with message-based execution semantics. A message may include an input data payload that does not change over time, and the message may persist for only a determined time interval during execution of block diagram. A message-based execution engine may control execution of message-based blocks in which a source block may generate a message at a particular point in time, the message may be sent to one or more destination blocks triggering execution of those blocks, and the message may be destroyed on or after a determined time interval. Other execution domains, such as a time-based or state-based execution domain, may be provided, and the system may implement a hybrid execution model.
Abstract:
A system and method may generate executable block diagrams in which at least some of the blocks run in accordance with message-based execution semantics. A message may include an input data payload that does not change over time, and the message may persist for only a determined time interval during execution of block diagram. A message-based execution engine may control execution of message-based blocks in which a source block may generate a message at a particular point in time, the message may be sent to one or more destination blocks triggering execution of those blocks, and the message may be destroyed on or after a determined time interval. Other execution domains, such as a time-based or state-based execution domain, may be provided, and the system may implement a hybrid execution model.
Abstract:
Exemplary embodiments support multi-threaded subgraph execution control within a graphical modeling or graphical programming environment. In an embodiment, a subgraph may be identified as a subset of blocks within a graphical model, or graphical program, or both. A subgraph initiator may explicitly execute the subgraph while maintaining data dependencies within the subgraph. Explicit signatures may be defined for the subgraph initiator and the subgraph either graphically or textually. Execution control may be branched wherein the data dependencies within the subgraph are maintained. Execution control may be joined together wherein the data dependencies within the subgraph are maintained. Exemplary embodiments may allow subgraphs to execute on different threads within a graphical modeling or programming environment.
Abstract:
A system and method graphically display ports in a discrete event system (DES) environment. A graphical representation of a model having at least one DES component is provided in the DES environment. A first port of the DES component and a second port of the DES component are indicated by symbols. The first port is indicated by a first symbol representing a port type of the DES environment and the second port is indicated by a second symbol representing a port type of a non-DES environment.
Abstract:
A system and method may generate executable models having message sending objects and message receiving objects. A message may include a fixed data payload, and the message may persist for only a determined time interval of a total execution or simulation time of model. Message queues may be established for the messages, and the queues may have attributes. The model may include a state-based portion having states and transitions. States may be configured to generate and send messages, and to receive and process messages. In addition, transitions may be guarded by particular messages. The system and method also may generate standalone code, such as source code, for the model. The standalone code may include code that establishes a message passing service to support the sending and receiving of messages.
Abstract:
A device receives a dynamic system model for a graphical modeling environment, and associates an entity with the dynamic system model, the entity including an entity model. The device defines at least one of a parameter, a configuration, or a solver setting for the entity model, and performs a simulation of the dynamic system model. The device generates a system event during the simulation of the dynamic system model, and modifies at least one of the parameter, the configuration, or the solver setting for the entity model based on the system event.