- Output functions have a dual role within an eXpress design. They are used to specify the specific ways in which signals flow through objects. Each output function specifies the causal relationships (dependencies) between a given output port and one or more of the object's inputs. These dependencies identify the inputs that are required in order for that function to work properly. Output function definitions are therefore essential for establishing signal flow within an eXpress model. The specific dependencies of each ouput function will also determine the way in which that function will be propagated.
Output functions are also used to specify unique capabilities of an object. If, for example, if an object has multiple capabilities that are separately testable, then multiple functions would be created to represent these different capabilities—even if those output functions represent the path through the object (i.e., the same dependencies). When all output functions associated with an object are proven good by diagnostics, then that entire object is considered to be working properly. On assemblies, output functions are automatically created, based on the number of signals visible at each lower-level output I/O flag and the Roll-up Method that has been specified for each flag.
How to Work with Output Functions
- One output function is automatically created for each of an object's output or bidirectional ports (the function's abbreviation is derived from the names of the object and port with which it is associated). By default, output functions depend upon all inputs (input, bidirectional and control ports) of the object on which they are defined. When developing an eXpress model, the Analyst should review all automatically-generated functions, considering the following questions:
Does the capability represented by that function require all of the object's inputs?
(If not, then remove non-related ports from that output function's dependencies.)
Does a single output function on the given port provide enough resolution for testing?
(If not, then create additional output functions as necessary to support the desired resolution.)