Modeltron-logo-black-transparent-3444x1908.png

Hello!

Welcome to Modeltron, the elements of systems modeling.

State Constraints on Object Nodes

State Constraints on Object Nodes

Object Nodes on an Activity hold and pass Object Tokens and are typed by a Value Type, Block, or Signal.  For example, an object node called Temperature may be typed by a Value Type of Celsius indicating that Object Tokens passing through the Object Node are “instances” of temperature rendered in degrees Celsius.  Similarly, an object node called Image may be typed by a Block which has several Value Properties describing the Image.  Object Tokens passing through this Object Node are Image instances classified by the block, Image.  Object Node multiplicities describe how many Object Tokens the Object Node can hold at any one time.  Object Nodes typed by Blocks can possess compartments just as a Block does.  These compartments may contain value properties, part properties, and constraint properties, etc.  Activity Parameters and Action Pins are special types of Object Nodes.

Example of a block used to type an object node and its associated state machine

Example of a block used to type an object node and its associated state machine

Just as a Block may possess a State Machine, so can an Object Node typed by a Block.  This presents an interesting capability in an Activity Diagram.  If an Object Node is typed by a Block which possesses a state machine, then an Object Node, Activity Parameter, or Action Pin typed by that Block can require that the State Machine exist in a certain state before an Object Token may be passed.  This is modeled by placing the name of the State in square brackets directly underneath the name of the Object Node (or Activity Parameter or Action Pin).  For example, an Object Node may be called Image.  The Image may possess a State Machine consisting of “Developing” and “Waiting” states.  The Activity Diagram possessing the Object Node may require that the Image be in the “Waiting” state before it can be passed to the next Action.

An example of an activity diagram which contains state constrained object nodes. Object nodes are modeled as activity parameters and action pins. and are marked as activity pre-conditions and action local pre- and post-conditions.

An example of an activity diagram which contains state constrained object nodes. Object nodes are modeled as activity parameters and action pins. and are marked as activity pre-conditions and action local pre- and post-conditions.

When a State Constraint is placed on an Object Node, it is considered either a Pre-Condition or a Post-Condition for the Activity or a Local Pre-Condition or a Local Post-Condition for an Action.  Local Pre- and Post-Conditions are modeled by anchoring a note to the Object node with the word «localPrecondition» or «localPostcondition» included in the note.  Pre- and Post-Conditions associated with an Activity are modeled using a simple text string placed on the Activity Diagram near the Activity Parameter.

References:

Delligatti, L. (2014) SysML Distilled. Upper Saddle River, NJ: Addison-Wesley. pg. 95.

Friedenthal, S., Moore, A., & Steiner, R. (2012) A Practical Guide to SysML. Waltham, MA: Morgan Kaufmann. pgs. 231-233.

No Buffer versus Overwrite

No Buffer versus Overwrite

Data Store vs. Central Buffer

Data Store vs. Central Buffer