【发布时间】:2019-09-06 21:59:50
【问题描述】:
我想将服务描述为带有端口和接口的组件。通过描述应该清楚地知道提供了哪些功能以及如何使用它们。
在我的理解中,我可以用这个符号<name>:<type> 键入一个端口,其中类型可以由接口块指定?还是使用“棒棒糖”,其中接口类型由“棒棒糖”的名称指定?
现在,我想看看接口/端口使用什么应用程序或传输协议,以了解如何连接它。但我不知道这样做的最佳方法是什么。我想了两个办法。
首先:通过端口类型指定协议(此处为 TCP/IP),通过“棒棒糖”表示法指定接口(提供的信息)。
第二:将传输/应用协议指定为应用特定接口的基础接口。
我真的不知道这是否有意义,或者是否有更好的方式来描述它。请告诉我。
编辑:
根据 qwerty_so 的回答,我了解到从协议中泛化接口是错误的。但是要表示使用的协议,应该由端口类型指定吗?基于此,我对两个组件进行了另一种表示(这次是在 UML 中,我希望它不会引起任何混淆)。每个组件通过不同的端口提供相同的接口。基本上它与第一个符号相同,通过从棒棒糖到接口的realize 关系扩展。第一个组件使用基本的TCP/IP,第二个组件使用gRPC 协议来实现Interface1。
two components with different port types and same interface
这是表示接口及其通过特定协议实现的更准确的方式吗?
realize 关系是否必要,因为接口名称不应该清楚吗?
【问题讨论】:
标签: interface uml port protocols sysml