Search code examples
architectureframeworkscomponentsumldiagram

component diagram advice framework


I've been tasked with documenting our high-level software architecture that uses an in-house developed framework for robotics (similar to ROS.) I'll try and keep it simple.

In a component diagram, how do I represent that a component is instantiated by a class loader (based on its type specified in an XML file) in the base framework application provided and ran in a separate thread? The component implements and instantiates services provided by the framework (i.e network communications.)


Solution

  • You can simply use an <<instantiate>> relation like in this example taken from the UML 2.5 specs on p. 39:

    In Figure 7.19, the CarFactory Class has a Dependency on the Car Class. In this case, the Dependency is a Usage with the standard stereotype «Instantiate» applied, indicating that an instance of the CarFactory Class creates instances of the Car Class.

    enter image description here

    Note that OMG uses some "artistic" arrow end (they are not as consistent in their documentation as they should be). A simple open triangle is used more commonly. On p. 39:

    A Dependency is shown as a dashed arrow between two model Elements. The model Element at the tail of the arrow (the client) depends on the model Element at the arrowhead (the supplier). The arrow may be labeled with an optional keyword or stereotype and an optional name...

    The line they use resembles more a dotted than a dashed line, though. Sigh.