Be the first to rate this file! 5 Downloads (last 30 days) File Size: 625.59 KB File ID: #15368

Two Methods for Breaking Data Dependency Loops in System Level Models

by Michael Burke

 

20 Jun 2007 (Updated 02 Sep 2009)

Methods for removing data dependencies with a minimum number of blocks

| Watch this File

File Information
Description

Creation of a system by integrating multiple validated subcomponents is a task common to Simulink® and C. In both environments integration issues arise as the number of components increases. Problems include miss-matched data types, scaling and ensuring the correct signals are available, to name a few. These are all challenges that systems integrators are used to solving. However; the integration process in Simulink exposes data dependency issues that are normally hidden in the C development environment.

Data dependency is the requirement that for any calculation, all the values on the right hand side (RHS) of equation are known prior to starting the calculation. The value on the left hand (LHS) side is dependent on the values of the right hand side. In the contexts of subsystems, the concept of calculation order is equivalent to execution order of the subsystems.

LHSn = f (RHSn)

The C language does not prevent users from writing equations where the LHS is assigned before the RHS. This means that an old or non-initialized data can be used which can result in unexpected or incorrect results.

LHSn = f (RHSn-1)
LHSn = f (??)

Unlike C, Simulink contains built in analysis tools that prevent this from happening. Users of Simulink are familiar with these diagnostic, which are most commonly referred to as algebraic loops. Loops are broken by explicitly setting the order of calculation. This paper focuses on how to easily and systematically break these loops.

Two methods are covered in this paper, using function-call subsystems and unit delay blocks. Both of these methods can be used to define the execution order of the system.

MATLAB release MATLAB 7.4 (R2007a)
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Please login to add a comment or rating.
Updates
02 Sep 2009

Updated copyright

Tag Activity for this File
Tag Applied By Date/Time
whitepaper Michael Burke 22 Oct 2008 09:16:36
article Michael Burke 22 Oct 2008 09:16:36
paper Michael Burke 22 Oct 2008 09:16:36
algebric loops Michael Burke 22 Oct 2008 09:16:36
scheduling Michael Burke 22 Oct 2008 09:16:36
whitepapers Michael Burke 22 Oct 2008 09:16:36
articles Michael Burke 22 Oct 2008 09:16:36

Contact us at files@mathworks.com