Author Topic: Naming conventions for interfaces between SysML blocks  (Read 338 times)


  • EA User
  • **
  • Posts: 128
  • Karma: +1/-0
    • View Profile
Naming conventions for interfaces between SysML blocks
« on: September 05, 2019, 01:52:02 am »
I have two blocks, an Operating System block and a Middleware block in an Internal Block Diagram (IBD). Each block is connected via a port. The ports are named with the entity on the opposite end.

  • Middleware has a port called pOS
  • OperatingSystem has a port called pMiddleware

I have an interface called ibMiddleware (interface block) that types both ports. The ibMiddleware has flow properties. One of the blocks also has the isConjugated setting to TRUE.

With that setup, I begin to get confused. I do not know if I'm naming my interfaces correct. The flow properties are clear because they indicate bidirectional item flows. However it's about having the name ibMiddleware on both ports that confuses me. Why didn't I call the interface ibOS for example?

Does anyone have some guidelines? Should I perhaps reconsider my naming convention? I'm trying to stay away from showing direction of flow in the name. Perhaps I should be naming it in such a manner that I'm characterizing the data or type of communication and not necessarily the entity involved in the communication. That works for ports, but for interfaces, I need something else.


  • EA User
  • **
  • Posts: 841
  • Karma: +51/-18
    • View Profile
Re: Naming conventions for interfaces between SysML blocks
« Reply #1 on: September 05, 2019, 03:04:04 am »
In such a scenario, I typically give no port a name, but only a classifier only.
The drawback in EA is, that within some EA feature, the names are relevant to distinguish because; classifiers are not shown in those features.

However, by doing so, you get just rid of your problem of thing about the port names. I use port names manly to distinguish, when I have several ports with the same classifier.
If you use the interface block for both sides you have to set the isConjugated (as you have done), because in fact an interface has a provider and a consumer somehow. In this sense the interface block is a kind of short cut.

Your port names are for sure legal, but at the end, those names define somehow what ports of the OS should be connected which ports of the middleware. Once the connection is established in the IBD it is just done.
Best regards,

Peter Heintz