# Interface example parsing error, end feature must have exactly one type

**URL:** <https://forum.sensmetry.com/t/interface-example-parsing-error-end-feature-must-have-exactly-one-type/573>\
**Category:** Bug Reports\
**Tags:** editor, sysmlv2\
**Created:** [September 8, 2026, 8:26am UTC](https://forum.sensmetry.com/t/interface-example-parsing-error-end-feature-must-have-exactly-one-type/573 "2026-09-08T08:26:35Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![joModel](https://avatars.discourse-cdn.com/v4/letter/j/e274bd/32.png) [@joModel](https://forum.sensmetry.com/u/joModel)\
**Post date:** [September 8, 2026, 8:26am UTC](https://forum.sensmetry.com/t/interface-example-parsing-error-end-feature-must-have-exactly-one-type/573/1 "2026-09-08T08:26:35Z")

</div>

Hi, I have in my model a problem with an interface. I can reproduce the error from an example from the Sysml v2 standard. The linked help page shows another error ([association-end-types — Syside](https://docs.sensmetry.com/about/rules/association-end-types/)). I think this is a bug.

Version: `0.10.3`

Error message:

> An owned Association end feature must have exactly one type  
> OMG\_interface\_example.sysml(7, 14): Is typed by interface\_example::Pa  
> Ports.sysml(11, 23): Is typed by Ports::Port

Sysml v2 textual notation:

> package interface\_example {
> 
> item def Item1;
> 
> item def Item2;
> 
> part def Part1;
> 
> part def Part2;
> 
> port def Pa {
> 
> out item i1Out : Item1;
> 
> in item i2In : Item2;
> 
> }
> 
> interface def Interface2 {
> 
> end supplierP : Pa;
> 
> end consumerP : ~Pa;
> 
> flow supplierP.i1Out to consumerP.i1Out;
> 
> flow consumerP.i2In to supplierP.i2In;
> 
> }
> 
> part part0 {
> 
> part part1 : Part1 {
> 
> port pa : Pa;
> 
> }
> 
> part part2 : Part2 {
> 
> port pb : ~Pa;
> 
> }
> 
> interface if2 : Interface2 connect part1.pa to part2.pb;
> 
> }
> 
> }

Let me know if you need further information.

---

<div class="post-metadata">

**Author:** ![Daumantas](https://yyz2.discourse-cdn.com/flex008/user_avatar/forum.sensmetry.com/daumantas/32/19_2.png) [@Daumantas](https://forum.sensmetry.com/u/Daumantas)\
**Post date:** [September 8, 2026, 8:58am UTC](https://forum.sensmetry.com/t/interface-example-parsing-error-end-feature-must-have-exactly-one-type/573/2 "2026-09-08T08:58:27Z")

</div>

Hi,

I cannot reproduce this on 0.10.3. The diagnostic will be triggered if `interface` ends are not typed by `port defs` since default ends are implicitly typed by standard `Port` from port usage constraints, e.g. changing `port def Pa` to `part def Pa`.

```sysml
package interface_example {
    item def Item1;
    item def Item2;
    part def Part1;
    part def Part2;

    port def Pa {
        out item i1Out : Item1;
        in item i2In : Item2;
    }

    interface def Interface2 {
        end supplierP : Pa;
        end consumerP : ~Pa;

        flow supplierP.i1Out to consumerP.i1Out;
        flow consumerP.i2In to supplierP.i2In;
    }

    part part0 {
        part part1 : Part1 {
            port pa : Pa;
        }

        part part2 : Part2 {
            port pb : ~Pa;
        }

        interface if2 : Interface2 connect part1.pa to part2.pb;
    }
} // package interface_example

```

---

<div class="post-metadata">

**Author:** ![joModel](https://avatars.discourse-cdn.com/v4/letter/j/e274bd/32.png) [@joModel](https://forum.sensmetry.com/u/joModel)\
**Post date:** [September 8, 2026, 9:31am UTC](https://forum.sensmetry.com/t/interface-example-parsing-error-end-feature-must-have-exactly-one-type/573/3 "2026-09-08T09:31:50Z")

</div>

> [@Daumantas](#):
>
> ```auto
> package interface_example {
> item def Item1;
> item def Item2;
> part def Part1;
> part def Part2;
> 
> port def Pa {
> out item i1Out : Item1;
> in item i2In : Item2;
> }
> 
> interface def Interface2 {
> end supplierP : Pa;
> end consumerP : ~Pa;
> 
> flow supplierP.i1Out to consumerP.i1Out;
> flow consumerP.i2In to supplierP.i2In;
> }
> 
> part part0 {
> part part1 : Part1 {
> port pa : Pa;
> }
> 
> part part2 : Part2 {
> port pb : ~Pa;
> }
> 
> interface if2 : Interface2 connect part1.pa to part2.pb;
> }
> } // package interface_example
> 
> ```

Thank you for the quick response. Is there a way how I can trigger to accept/ignore this diagnostic?  
It appears as well when I copy/paste your snippet.

 ![image](https://canada1.discourse-cdn.com/flex008/uploads/syside/original/1X/6592ecb2912261b5dee5df45fc5d0981a829057c.png)

---

<div class="post-metadata">

**Author:** ![Daumantas](https://yyz2.discourse-cdn.com/flex008/user_avatar/forum.sensmetry.com/daumantas/32/19_2.png) [@Daumantas](https://forum.sensmetry.com/u/Daumantas)\
**Post date:** [September 8, 2026, 10:00am UTC](https://forum.sensmetry.com/t/interface-example-parsing-error-end-feature-must-have-exactly-one-type/573/4 "2026-09-08T10:00:01Z")

</div>

When you hover over `Pa` and `supplierP`, do you get the same contents? Tried x64-linux and x64-windows builds going back to 0.9.0 and still cannot reproduce. Another potential cause is that there is another workspace file with `Ports::Port` that clashes with the standard `Ports::Port`.

 ![image](https://canada1.discourse-cdn.com/flex008/uploads/syside/original/1X/6ee339fe03c501af253482beca3ce1d6c025e8ce.jpeg)  
 ![image](https://canada1.discourse-cdn.com/flex008/uploads/syside/original/1X/d38cf7ab184a96e185b5ed645cd62c2f678362dc.jpeg)

---

<div class="post-metadata">

**Author:** ![joModel](https://avatars.discourse-cdn.com/v4/letter/j/e274bd/32.png) [@joModel](https://forum.sensmetry.com/u/joModel)\
**Post date:** [September 8, 2026, 12:03pm UTC](https://forum.sensmetry.com/t/interface-example-parsing-error-end-feature-must-have-exactly-one-type/573/5 "2026-09-08T12:03:21Z")

</div>

Thank you for the hint. I guess than it must be a conflict with another workspace file with Ports::Port. When I copy the file into a fresh workspace, the error is gone.

I double checked also where the error appeared: Yes, I get the same hover-messages:

When I hover over Pa:

> PortDefinition interface\_example::Pa  
> in OMG\_interface\_example.sysml
> 
> Port is the most general class of objects that represent connection points for interacting with a Part. Port is the base type of all PortDefinitions.
> 
> Transfers outgoing from a Port are always targeted to a Port connected to the original Port by an Interface.

When I hover over supplierP (with the “: Pa” removed, otherwise I only get the error message":

> PortUsage interface\_example::Interface2::supplierP  
> in OMG\_interface\_example.sysml
> 
> Port is the most general class of objects that represent connection points for interacting with a Part. Port is the base type of all PortDefinitions.
> 
> Transfers outgoing from a Port are always targeted to a Port connected to the original Port by an Interface.

Still, I close the bug report → no bug. Thank you for the help!
