1. Creation of a Block Definition diagram
1.1. From the wizard
You can use the creation wizard to create a new Block Definition diagram. Select the corresponding Template to initialize the model. By default, the Requirement diagram is selected.
The root element of the SysML model is a Model and it contains a Package. The diagram is then linked with the Package.
1.2. From an existing diagram
The Block Definition diagram is associated with a Package model object.
To create a Block Definition diagram from the Outline, select the 'Package' node, right click and select 'Add Diagram' then 'Block Definition diagram'
Even if it is possible, the use of a 'RequirementDefinition' or a 'BlockDefinition' node is not recommended to create a Block Definition Diagram. These two nodes will disappear in a future version of the editor and are actually 'Deprecated'.
2. Edit a Block Definition Diagram
2.1. Description of the different elements contained in a Block Definition Diagram
2.1.1. Block
A block defines a collection of features to describe a system or other element of interest.
2.1.2. Constraint Block
A constraint block is a block that packages the statement of a constraint so it may be applied in a reusable way to constrain properties of other blocks. It includes the constraint, such as {F=m*a}, and the parameters of the constraint such as F, m, and a.
2.1.3. Datatype
A datatype is a type whose instances are identified only by their value. A DataType may contain attributes to support the modeling of structured data types.
2.1.4. Value Type
A type that defines values which may be used to express information about a system, but which cannot be identified as the target of any reference. It adds an ability to carry unit of measure or dimension associated with the value.
2.1.4. Dimension
A kind of quantity that may be stated by means of defined units. For example, the dimension of length may be measured by units of meters, kilometers, or feet.
2.1.4. Unit
A quantity in terms of which the magnitudes of other quantities that have the same dimension can be stated.
2.1.5. Actor
An actor specifies a role played by a user or any other system that interacts with the subject.
2.1.6. Enumeration
An enumeration is a data type whose values are enumerated in the model as enumeration literals.
2.1.7. Interface
An interface is a kind of classifier that represents a declaration of a set of coherent public features and obligations.
2.1.8. Flow Specification
A flow specification specifies inputs and outputs as a set of flow properties. A flow specification is used by Flow Ports to specify what flow items can flow via the port.
2.1.9. Property
TBD
2.1.10. Block Property
TBD
2.1.11. Flow Property
A flow property signifies a single flow element that can flow to/from a Block.
2.1.12. Operation
An operation is a behavioral feature of a classifier that specifies the name, type, parameters, and constraints for invoking an associated behavior.
2.1.13. Constraint
TBD
2.1.14. Enumeration Literal
An enumeration literal is a user-defined data value for an enumeration.
2.1.15. Port
A port specifies the services the owning Block provides (offers) to its environment as well as the services that the owning Block expects (requires) of its environment.
2.1.15.1. Display Required Interface and Provided Interface on a port
2.1.16. Flow Port
A Flow Port specifies the input and output items that may flow between a Block and its environment. Flow Ports are interaction points through which data, material or energy "can" enter or leave the owning block.
Distinction is made between atomic flow port and non-atomic flow port : atomic flow ports relay a single usage of a block, Value-Type, Data-Type or Signal. A non atomic flow port relays items of several types as specified by a FlowSpecification. The distinction is made according to the flow port's type.
A non atomic flow port can be conjugated. If it is then all directions of the flow properties specified by the flow specification that types the flow port are relayed in the opposite direction (i.e., in flow property is treated as an out flow property by the flow port and vice-versa).
2.1.17. Relationship between elements from a Block Definition Diagram
2.1.17.1. Containment
A dependency relationship between two blocks in which a client block contains the supplier block.
2.1.17.2. Association
An association specifies a semantic relationship that can occur between typed instances.
2.1.17.3. Generalization
A generalization relates a specific classifier to a more general classifier, and is owned by the specific classifier.
2.1.17.4. Implementation or Interface Realization
An Implementation is a specialized Realization relationship between a Classifier and an Interface. This relationship signifies that the realizing classifier conforms to the contract specified by the Interface.
2.1.17.5. Usage
A usage is a relationship in which one element requires another element (or set of elements) for its full implementation or operation. In the metamodel, a Usage is a Dependency in which the client requires the presence of the supplier.
2.1.17.6. Dependency
A dependency is a relationship that signifies that a single or a set of model elements requires other model elements for their specification or implementation.
2.1.17.7.Connector
TBD
3. Diagram Example