部署图中如何表示动态加载的库?

How are dynamically loaded libraries represented in deployment diagrams?

我的部署图有一个带有 Windows ExecutionEnvironment 的设备。该应用程序使用多个动态加载的库,其中一些与应用程序一起部署,其他则部署到系统本身。

部署图中通常如何表示动态加载的库?


我目前的理论是我的应用程序在 Windows 中获得了自己的执行环境,我在其中部署了我的应用程序特定的动态加载库,并在其外部部署了系统库:

对于上图,系统安装了 libraryA 和 libraryB 的 v1,并且 libraryA 的 v2 与应用程序一起部署,隐藏了系统版本。

您的方法非常有道理:

ExecutionEnvironments represent standard software systems that application components may require at execution time.

此外:

Artifacts elaborate and reify the abstract notion of DeployedArtifact. They represent concrete elements in the physical world, may have Properties representing their features and Operations that can be performed their instances, and may be multiply-instantiated so that different instances may be deployed to various DeploymentTargets, each with separate property values.

这完全适用于动态库,其中有一个库由 OS 加载并且可以被多个应用程序使用,每个应用程序都在其自己的地址 space。

一些提示:

  • 您可以使用 UML 标准配置文件的 «Library»«Executable» 构造型来更好地区分不同类型的工件。
  • 您可以将可执行文件的依赖项添加到所需的库中