...
The syntax defines a Function that creates an object Waterline including Rel_B and Frame the moment it is initiated (when you do a calculation). The first parameter, @Rel_B, makes sure Rel_B is the top goal (calculated value). The second parameter, @Frame, makes sureFrame is the input for the function, the expression following @Frame: STR$(StartFrame) + "(" + STR$(FrameStep) + ")" + STR$(EndFrame) defines what should be asked as input to create the range input within the Waterline object.
The General syntax used for Frame is @ParameterName:"Input". By using the intrinsic STR$ function with the parameters, you can give range input to the object, while for Quaestor it appears as normal single value input. This solve the constrained that you cannot give range input while building a solution. The @ in front of the parameters is to indicate that Rel_B and Frame are to be calculated in the object. See also QuaestorSyntax.
Note that just after you have created the expression, Waterline appears as parameter in the knowledge base with dimension object (Obj). So, in Quaestor, a parameter can be seen as an object and objects can be used as functions to perform calculations in.
Select Waterline as top goal by double clicking it, and start a solution. Click yes when asked if a new solution should be created.Quaestor will ask for the StartFrame, EndFrame and FrameStep. Enter for the StartFrame 0, for the FrameStep 2 and EndFrame 20, and press enter. Accept and continue.
...
The solution is the object Waterline, which is filled with values for Rel_B for every case of Frame. Please note that the parameters are requested in alphabetical order. By using the @ORDER attribute in the data slot of the parameters you can manipulate this order (provide @ORDER:1 to StartFrame, @ORDER:2 to FrameStep and @ORDER:3 to EndFrame). Furthermore, please note that you cannot select Waterline as top goal when you are into the Waterline object in one of the solutions. The reason is that Quaestor assumes you want to add a parameter to this level and does not allow you to do so.
...
...
In the knowledge browser, select the class Top Goals/Undefined. In the right hand side, New Parameter/Function (or Ctrl+I). Name the Object Ships and select the type: Object.
Unlike the Waterline object, which was defined by a function, the object Ships does not yet meet the validity conditions.
...