title: What element type should I use to model a message and its data elements in SysML?
body: <p>In SysML, when modeling a <strong>message</strong>, I'm having trouble understanding what element type should be used to define it, its elements, and a port that it flows through. </p>
  
  <p>I'm assuming it is either:</p>
  
  <ul>
  <li>a raw <strong><em>Block</em></strong></li>
  <li>the more specialized <strong><em>InterfaceBlock</em></strong></li>
  </ul>
  
  <p>Both can type a <strong><em>proxy port</em></strong> (formerly <strong><em>flow port</em></strong>, if I understand correctly), or type most other properties in other blocks as one builds up a full message interface or port system (either straight ports or nested ports). If the base message definition is a normal <strong><em>block</em></strong>, then when do you create a <strong><em>flow property</em></strong> that gets typed by that <strong><em>block</em></strong>, so that something can actually flow from one task to another through the port?</p>
  
  <p>An <strong><em>Interface Block</em></strong> should occur somewhere in there, in order to type the port, right?  Does that mean I use it to define a message directly, or does that depend on my port scheme (i.e. whether I nest ports and to what level)?</p>
  
  <p>I guess this boils down to confusion over when you are defining a thing (i.e. a class/block) and when you are defining that this thing is a quantity that flows in your model (a flow of some kind - the message passes from one task or piece of hardware to another).</p>
  
  <p><em>P.S. I'm using MagicDraw as the SysML tool, but I don't think that should impact the core answer.</em></p>