The function carrier is the component that executes the action (sender). The object of the function is the component that is affected by the action (receiver).
A function takes place when the following three conditions are met:
- function carrier and object of the function must be allowed components (domain-specific restrictions from the component analysis must be observed, see post “Domain-specific function analysis”).
- function carrier and object of the function must interact with each other (domain-specific restrictions from the interaction analysis must be observed, see post “Domain-specific function analysis”).
- at least one value of a property of the object of the function is changed or kept stable due to the function of the function carrier. (see posts “Parameters in function analysis” and “Magic wand method”)
A function carrier can have several functions on a function object. These different functions change or receive different property values of the object. Take a vacuum jug, for example: its function is to “hold liquid”. If we take a closer look at this “hold”, we realize that there are several “holds”. One “hold” function aims to determine the position of the liquid. Another “hold” function maintains the shape of the liquid and a third “hold” function relates to the temperature of the liquid, which is to be kept stable.
Have you ever thought about the functions between the function carrier and the object of the function? What conclusions have you come to?