A question about data flows

602 views
Skip to first unread message

Michel Bénard

unread,
Nov 8, 2016, 4:01:59 AM11/8/16
to ArchiMate


Hi all
I have a question about modeling data flows between applications.

My understanding is that both situations (1) and (2) in the schema should be equivalent (or "isomorphic") in Archimate,  that is :
  • either you model the data flow  ( carrying "mydata") between applications A and B with a dataflow relationship named "mydata"
  • either you model the data flow with a dataflow relationship between A and B , a data object named "mydata" being associated with the dataflow relationship (new in Archimate 3)
I see the former being a compact notation of the latter. You may use the latter if you need to model more relationships with the data objects as in (3) in the schema.

The trouble is, if you use (1) in Archi the "mydata" object is not created, hence (1) and (2) are not equivalent.

Is this by design ? Is this a archi tool thing or is it Archimate specification compliant ?

Thanks for your remarks

MB

masteringarchimate

unread,
Nov 8, 2016, 5:50:08 AM11/8/16
to ArchiMate
This is ArchiMate 3 compliant. ArchiMate 3 added the possibility to use a Data Object Associated with a Flow to model payload of that Flow. (1) and (2) are not  really equivalent. Maybe in human understanding, but not modelling-wise. The label of the Flow is unstructured information, whereas the Associated Data Object is structured information. That means you can use the Data Object in (automated) analysis in a way you could not with the label.

With respect to (3), you should wonder what you are actually saying with a snippet like that. It is not wrong, but if you make a realistic scenario, you'll find that your Data Object has become an abstraction, and that changes its role in modelling (e.g. dependencies start to differ).

Michel Bénard

unread,
Nov 8, 2016, 6:40:22 AM11/8/16
to ArchiMate
> The label of the Flow is unstructured information

That's interesting , because if you read the flows specs , there is no mention of the meaning of labels for data flows , although labels are shown on schemas
http://pubs.opengroup.org/architecture/archimate3-doc/chap05.html#_Toc451757963

Maybe the (precise) meaning of labels is explained somewhere else in the specs ?

Note however that the specs say :
> The flow relationship represents a data (or value) flow between elements, denoted by a dashed line.

masteringarchimate

unread,
Nov 8, 2016, 7:07:50 AM11/8/16
to ArchiMate


On Tuesday, November 8, 2016 at 12:40:22 PM UTC+1, Michel Bénard wrote:
> The label of the Flow is unstructured information

That's interesting , because if you read the flows specs , there is no mention of the meaning of labels for data flows , although labels are shown on schemas
http://pubs.opengroup.org/architecture/archimate3-doc/chap05.html#_Toc451757963

Maybe the (precise) meaning of labels is explained somewhere else in the specs ?

A misunderstanding here. I was not saying that 'using a label' means 'the flow transports unstructured information', I was saying that in the context of an ArchiMate model, elements and relations are 'structure' and labels are not part of the structure of the model, they can be anything (thus 'unstructured'). So, I did not say labels represent unstructured information, I said labels are unstructured information (in the model). Note that the meaning of a model for a large part comes from the unstructured information. If you remove all labels of an ArchiMate model, the model becomes useless (and thus — Uncle Ludwig strikes again — meaningless). See also ArchiMate is not a language.

Michel Bénard

unread,
Nov 8, 2016, 7:42:09 AM11/8/16
to ArchiMate
OK I see.

Jean-Baptiste Sarrodie

unread,
Nov 8, 2016, 11:57:36 AM11/8/16
to ArchiMate
Hi,

if you make a realistic scenario, you'll find that your Data Object has become an abstraction, and that changes its role in modelling

That's a key remark here. Data Object should be used to model a data structured in a way that is dependant of the Application Component. Creating an association between a Flow and a Data Object should mean (in ArchiMate) that both source and target Application Components are able to read/write the Data Object, making it either an interchange format or a sort of common data storage (same Database, same file...).

I'm afraid that with this addition in Archimate 3.0, most people will use a Data Object where in fact a Business Object should have been more appropriated.

Regards,

JB

Le mardi 8 novembre 2016 11:50:08 UTC+1, masteringarchimate a écrit :

masteringarchimate

unread,
Nov 8, 2016, 3:22:26 PM11/8/16
to ArchiMate
On Tuesday, November 8, 2016 at 5:57:36 PM UTC+1, Jean-Baptiste Sarrodie wrote:
Hi,

if you make a realistic scenario, you'll find that your Data Object has become an abstraction, and that changes its role in modelling

That's a key remark here. Data Object should be used to model a data structured in a way that is dependant of the Application Component. Creating an association between a Flow and a Data Object should mean (in ArchiMate) that both source and target Application Components are able to read/write the Data Object, making it either an interchange format or a sort of common data storage (same Database, same file...).

Before ArchiMate 3 there was already a comparable issue with Artefacts. Normally, an Artefact clearly resides on a single Node, a bit like a Data Object belonged to a specific application (no abstraction). So you have a single Assignment from Node to Artefact. But I do use multiple Assignments for messaging. If a message is sent from one Node to another, you could model that the message Artefact is Assigned to both Nodes, even if we know that in reality the message is copied from one to the other. Though actually two Artefacts exist (both Nodes physically have a copy), the story behind them allows you to say that in a sense there is only one (as they don't have independent existence) and you can express that by Assigning it to both.
Reply all
Reply to author
Forward
0 new messages