Logo blue background.png

Bruce Powel Douglass, Ph.D.

  • Content

    • Resources
    • Embedded World
    • Papers
    • Presentations
    • Models
    • Harmony aMBSE Overview
    • Harmony aMBSE Functional Analysis
    • Harmony Embedded Software Overview
    • Harmony ESW Nanocycle
    • Safety Analysis and Design
    • Books
    • On the Web
    • Links
  • Services

  • Public Interest

  • Blog

  • What's New

  • Forum

  • About

  • Comments

  • Site Map

  • Geekosphere

  • Members

    • Members Only
  • More

    Use tab to navigate through the menu items.
    To see this working, head to your live site.
    • Categories
    • All Posts
    • My Posts
    cramos
    Sep 05, 2019
      ·  Edited: Sep 05, 2019

    Is there a new naming convention for interfaces in Harmony?

    in UML / SysML

    I noticed a slight change in naming convention for interfaces. Which one is the current standard or recommended guidance?


    In the Harmony Deskbook 4.1:

    Interfaces names should be referenced to the sender port. Naming convention: i<Sender>_<Receiver>.

    In Harmony MBSE Modeling Standards for use with UML, SysML, and Rhapsody:

    Interfaces shall be named in terms of their semantic concept (e.g. iNavData or FLIRCommands) and their names shall be prefixed with a lower case 'i'.
    6 comments
    0
    Bruce Douglass
    Sep 05, 2019

    In simple cases (a single interface between blocks) I use the i<Sender>_<Receiver> or, if I'm using interface blocks ib<Sender>_Receiver>. If the interface is complex enough to warrant multiple interfaces, then I switch the the latter semantic-oriented interface naming convention.


    Unlike many people, I use the lower case "i" in interfaces because uppercase "I" looks like a one or lower case "L" in many fonts.

    0
    cramos
    Sep 05, 2019

    While I understand the naming convention given, I was a bit puzzled when I viewed figure 222 of the aMBSE Deskbook. There is an interface called

    iACES_Management_ACES_Power between ACES_Management and ACES_Power. The interface has a flowproperty with power and its direction is OUT.


    Given the naming convention i<sender>_<receiver> I found this strange, because that would imply that ACES_Management provides the power, but we know that is not the case. Of course, this situation is resolved with the conjugation setting on the port on ACES_Management which would then revers the direction to IN. Everything is okay. However, the name of the interface seems misleading to the reader, and that is the situation I'm trying to resolve now before I decide on this naming convention. It's as if the interface is telling the reader "ACES_Management sends power to ACES_Power". What if the interface were renamed to iACES_Power_ACES_Management?

    0
    Bruce Douglass
    Sep 05, 2019

    @cramos I used the Harmony Harmony SE toolkit automation which has its own rules. The i<sender>_<receiver> only makes sense when all information specified in the interface is flowing in one direction. This is not generally true, but when it is, the convention makes sense. In this case, the ACES_Management subsystem is the primary director of activities, so I put it in the Sender role even though, in general, flows happen in both directions. This is because systems are more complex than the 4.1 Deskbook would have you believe, one of my issues with it.

    0
    Bruce Douglass
    Sep 05, 2019

    I should note that I do not recommend the Harmony Deskbook 4.1. It has many flaws and omissions, which is why I completely rewrote the deskbook as Harmony aMBSE Deskbook, available on this website on the Papers page.

    0
    cramos
    Sep 05, 2019

    Thanks for the link to the aMBSE by the way. I noticed that in the Deskbook 4.1 for IBDs they were including the superblock in the diagram as well. Whereas the SysML standard states that it is always shown as a frame. In the aMBSE, the example IBDs show it more like it is in the standard.

    0
    Bruce Douglass
    Sep 05, 2019

    Diagram frames are optional.

    0