Hi,
Quote
Application Function indicates internal behavior that is not visible for it's environment.
That's not the meaning of function. A function represents a collection of behavior which can be explicitly exposed or not, so a function can be visible for its environment. In fact the best way to understand what a function is, is to see it as a way to classify behavior. By extension, because in ArchiMate we can alway decompose an element into other elements of the same type, we can decide to decompose a function into almost atomic activities (but that's not the original intent of ArchiMate). When doing so, we, in fact, create functions which can be the exact reflect of a service, meaning that there is in fact no real difference between the function and the service realized by this function in this case.
So in your case, it is an application function which realizes a business function not a service because there is no service used by the business (which might not even be aware of the fact that some next or previous step is not managed by a human but a tool, meaning it is not an exposed behavior). In my case (I have to model this in some contexts), I in fact simply model that the application component realizes the business function (the application function offers no real value in my model).
FWIW, an application service can realize a business service, in this case we insist on the "explicitely defined" aspect from the point of view of people who use the business service .
Regards,
JB