Search code examples
umlsequence-diagramarchimate

Diagram similar to the UML Sequence Diagram with Archimate


I tried to model a diagram similar to the UML Sequence Diagram with Archimate. https://forum.archimatetool.com/index.php?topic=288.0 and http://www.hosiaisluoma.fi/ArchiMate-Cookbook.pdf chap. 2.9.6 say that this is possible by using data flow relationships between application components.

So I tried to create 2 application components and 2 request-response dataflows between them:

  • component A and component B
  • request 1 from A to B
  • repsonse 1 from B to A
  • request 2 from A to B
  • response 2 from B to A

This was neither possible with ADOIT nor with Archi. Sparx EA allowed to create it. I could not find if the specification allows it, but in my experiance Archi is very much alligned with the spec, while EA is not.

So my questions are:

  1. Which tool / diagram is correct according to the spec?
  2. Is there another possibility to create a diagram similar to the UML Sequence Diagram with Archimate?

Solution

  • Metamodel

    The metamodel of Archimate is less formally defined as for example UML, but we can find some information.

    The first thing to look at is the metamodel for the Application Layer enter image description here Here we see triggers / flows to relations from/to the elements

    • Application Service
    • Application Event
    • Applicaiton Internal Behavior Element

    An Application Component however is an Application Internal Active Structure Element as we learn from a more detailed view on the same page

    enter image description here

    So this metamodel does not allow flow relations between Application Components

    Relationship Matrix

    But these are not all the allowed relationships in ArchiMate. On this page there is an additional matrix with all the allowed relationships.

    enter image description here

    If you look closely you see that there is an f in the cell that represents represent Application Component x Application Component. f stand for flow

    Conclusion

    YES flow relations between Application Components are allowed.

    BUT..

    You can't simulate sequence diagrams using ArchiMate flows. A critical factor in sequence diagrams is, well the sequence. There is no way in Archimate to specify that one flow is supposed to be happen before another flow.