Skip to content

Visualization of relations between one OHS and multiple consumers #13

@dwu

Description

@dwu

When modeling three contexts ContextA, ContextB, ContextC with ContextA providing an OHS ServiceA to both ContextB and ContextC where the relationships ContextA -> ContextB and ContextA -> ContextC have the same name I would have expected a context map diagram with one OHS on ContextA with edges to both ContextB and ContextC to make it obvious that both consumers consume the same OHS.

Instead, the context map diagram shows ContextA with two OHSs, one for each relation.

I'm not sure whether this is intended behavior and just a misunderstanting of the visual notation on my side or a bug / due to limitations of how graphviz renders edges between nodes when no port is specified.

Here's an example:

ContextMap Demo {
	contains ContextA
	contains ContextB
	contains ContextC
	
	ContextA [U,OHS]->[D,CF] ContextB : ServiceA
	ContextA [U,OHS]->[D,CF] ContextC : ServiceA
}

BoundedContext ContextA
BoundedContext ContextB
BoundedContext ContextC

Expected result:

Actual result:

A similar behavior can be observed when exporting to PlantUML where two interfaces for ServiceA are generated with one of them being referenced by ContextB and one by ContextC.

Expected result:
plantuml_expected

Actual result:
plantuml_current

Interestingly, the DDD sample linked from the examples page shows the visualization I would have expected.

Context map in the documentation:

Context map when generated from the stage 5 source of the sample using the contextmapper vscode plugin version v6.5.1 (operation "Generate Graphical Context Map"):

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions