Model automated tasks

Started by ErikR, March 04, 2020, 09:46:22 AM

Previous topic - Next topic



I am trying to indicated that a Business Function is fully automated among those that merely is used.   

I have an application (commercial purchased application) that provides functionality visible to it's environment. I model as application services.
The application component is assigned to the application service , the actual product that delivers the service.

Mostly each application service is used by/serves business functions indicating that when the business function is carried out the specific function delivered by the application is used.

Now I am trying to indicate that a piece of work (business function) is fully automated by some specific IT function. The IT function is similar to the above but do  completely carry out the business function - it automates the business function.

From my perspective this is a realization relation but that is not permitted.

I think it is clear that the IT-function is visible to it's environment thus shall be a Application Service and not an Application Function. But the application service can not realize a business function while a application function can do that. Application Function indicates internal behavior that is not visible for it's environment. Thinking of it I have difficulties to see how an internal hidden application function can realize a business function without being visible to it's environment - the very definition of business service.

See attached view where this is depicted.

What I'd like to do is to model all applications as Application Components and all visible functionality they have as Application Services during inventory if the IT landscape. When I seek to purchase a new application I will model the IT needs as Business Services and use that as a framework for finding one or several products that can deliver the identifies business services.
I want to indicate that an application is used using the Serves relation.
I think it is fair to indicate automation by using a Realization relation if the Application Service actually automates the Business Function.needs

Anny comments on this?


Jean-Baptiste Sarrodie


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 .


If you value and use Archi, please consider making a donation!
Ask your ArchiMate related questions to the ArchiMate Community's Discussion Board.