VScode插件PlantUML

准备工作
java : jre-8u131-windows-i586.exe(超过37M,无法上传)

jre-8u131-windows-i586.exe

graphviz :    

graphviz-2.38.msi

vscode插件两个(直接使用插件管理器在线下载):PlantUML 和 Graphviz Preview

检查环境变量(没有的,需要手动添加系统环境变量):

C:\Program Files (x86)\Graphviz2.38\bin;

C:\ProgramData\Oracle\Java\javapath;

C:\Program Files (x86)\Java\jre1.8.0_131\bin;

VScode画图
新建一个  *.puml 文件

写入 uml code

按“Alt + d” 快捷键,生成预览:

@startuml
start
   : 【B】根据A的决策-New AMF继续处理;
   if(注册拒绝) then(是)
      : 发送注册拒绝-结束;
   else if(向UE要SUCI)
      : 需退化为局内注册-流程继续【C】;
   else if(向Old AMF要上下文)
       :发现 Old AMF;
            if(发现失败) then(是)
                  :退化为局内注册-流程继续【C】;
            else(发现成功) then(否)
                   :向Old AMF发送UE Context Transfer Req;
                       if(响应成功)
                            :局间注册流程继续 ;
                       else if(Rsp 403)
                            :设置完保检查失败-流程继续 【D】;
                       else if(Rsp 404)
                               :退化为局内注册-流程继续【C】;
                       else if(过负荷其他失败非部分备份的超时)
                               :向Old AMF要上下文失败通用处理 ;
                       endif
                endif
         endif
  stop
@enduml

@startuml
CONSUMER_NF -> AMF_EE_CREATE_TRANS: 1. HTTP CREATE SUB REQ
AMF_COMMUNICATION <- AMF_EE_CREATE_TRANS: 2. GET SUPI or INNER CREATE SUB REQ
AMF_COMMUNICATION -> AMF_EE_TAKEOVER_TRANS: 3. 决策出来非本局用户,接管通知
AMF_EE_TAKEOVER_TRANS->OTHER_CDB: 4. 拉取other cdb数据
OTHER_CDB->AMF_EE_TAKEOVER_TRANS: 5. 拉取other cdb数据响应
AMF_EE_TAKEOVER_TRANS-> AMF_EE_TAKEOVERDELAY_TRANS: 6. 触发内部消息
AMF_COMMUNICATION -> AMF_EE_CREATE_TRANS: 7. INNER CREATE SUB  RSP, 处理当前订阅流程
CONSUMER_NF <- AMF_EE_CREATE_TRANS: 8. HTTP  CREATE SUB RSP
AMF_EE_TAKEOVERDELAY_TRANS-> CONSUMER_NF : 9. 此用户其他的订阅subidchange
AMF_EE_TAKEOVERDELAY_TRANS-> AMF_COMMUNICATION : 10. 触发内部订阅信息更新
AMF_COMMUNICATION-> AMF_OLD_COMMUNICATION : 11. 触发接管删除
AMF_OLD_COMMUNICATION-> AMF_OLD_EE : 12. 触发接管删除
@enduml

你可能感兴趣的:(UML,vscode,UML)