The SEDRIS Data Representation Model
APPENDIX A - Classes Pseudo Code Function |
---|
An instance of this DRM class is used to is used to define the behaviour of a <Function> that does not correspond to a <Predefined Function>.
No Example supplied.
The decision to support <Pseudo Code Function> was based on three primary concerns. First, we felt that it would be nearly impossible to capture every possible function that would be used to define the behaviour of <Control_Link> objects. Second, <Expressions> lack the expressive power to define functions that require looping, branching, etc. Finally, given the first two, it is recognized that many functions that are relatively simple when viewed as pseudo code or code fragments, would become overly complicated when converted into an expression tree. It is important to keep in mind, that while any valid <Expressions> could be converted into executable code or structures that could be directly used by a consuming system, most systems will not use them that way. Currently, the majority of consuming systems would require that the expression be recoded into the consuming system. For complex functions, pseudo code may be easier to convert.
SE_Property_Data_Value_Type | value_type; | (notes) |
---|
SE_String | name; | |
---|---|---|
SE_String | pseudo_code; |
The <Expression> components of a <Function>, if any, represent the arguments of the function being represented, so a <Function> has <Expression> components if that <Function> takes arguments. The <Expression> components are ordered so as to unambiguously specify which <Expression> is being supplied for each argument of the given <Function>. The exact interpretation of each argument is defined by the specific function.
The value_type of a <Function> is the 'return type' of that <Function> - that is, the value type of the value produced when the <Function> is evaluated for its arguments.
|