UAF 1.3b1 RTF Avatar
  1. OMG Issue

UAF13 — Support for SysML::FullPort as alternate for UAF::*Ports

  • Key: UAF13-16
  • Status: open  
  • Source: Department of Navy ( Mr. James Ciarcia)
  • Summary:

    SysML has very tight constraints on ProxyPorts and InterfaceBlocks that are bypassed by using FullPorts. Specifically the no_behavior and no_part constraints on InterfaceBlocks. By constricting UAF::*Ports to ProxyPorts, it prevents UAF architects from taking full advantage of behaviors and parts on UAF::*Ports. Just like SysML, an alternate method for having ports with parts and/or behaviors should be allowed.
    I don't see any perfect specific recommendation, there will probably have to be a change that tool vendors will have to create a mapping for.
    Alternate 1: Make UAF::*Port an Abstract Stereotype, removing the Generalization to ProxyPort. Then create 2 new specializations of ResourcePort, one for "ResourcePortProxy" and another "ResourcePortFull" each specializing SysML::ProxyPort or SysML::FullPort respectively.

    Alternate 2: Remove/Obsolete the stereotype altogether or remove it's dependence on Proxy or Full and require double stereotype like UPDM l1 compliance. Instead place constraints on *Performer.ownedPort metaproperty based on if it's port is either Proxy (using *Interface type) or Full (using *Performer type).

    Alternate 3: Just switch generalization of UAF::*Ports from SysML::ProxyPort to SysML::FullPort. There are no constraint violations as FullPorts can be typed by InterfaceBlocks, so no changes needed for users or UAF::*Interface. Requires update to UAF::*Port.type constraints to allow addition of <<OperationalAgent>>, <<Service>>, or <<ResourcePerformer>> as valid types.

  • Reported: UAF 1.2 — Fri, 14 Jan 2022 21:55 GMT
  • Updated: Mon, 2 Sep 2024 00:59 GMT