A SysML Block is a modular unit of system structure (i.e., a component) that encapsulates its contents (Properties, Behaviors, Constraints) via provided and required Interfaces, and classifies (types) runtime objects (i.e., Block Instances) that are instantiated from the subject Block. SysML Blocks are analogous to UML 2 Structured Classes and UML 2 Components. See SysML FAQ: What is the difference between SysML Block and UML Class?
A SysML Block Instance of a «block» X classifier (type) is a runtime object (potentially simulatable and executable) derived from «block» X, whose runtime state is specified by the Slot Values assigned to its Value Properties. Since they capture runtime object state, Block Instances are potentially simulatable and executable, whereas the Block Classifiers from which they are derived are not.
Stated using Miller Analogies notation:
Classifier/Type : Instance :: Block Classifier : Block Instance
So how do Block Parts relate to Block Classifiers and Block instances? Block Parts are defined by Part Association (a.k.a., Composition) strong ownership relations between a Block "Whole" and its Block "Constituents", where a Block "Whole" is a container that encapsulates its Block "Constituents" as Prototypical Instances (Instances without Slot Values assigned to their Value Properties).
Consequently, the analogy above can be extended as follows:
Classifier/Type : Instance : Proto Instance w/ Composition Semantics :: Block Classifier : Block Instance : Block Part
Usage Note: Both SysML Block Classifiers and SysML Block Instances can be defined on a Block Definition Diagram (BDD), but only Block Instances are capable of runtime semantics associated with simulations and code exection. In contrast SysML Block Parts are defined on Internal Block Diagrams (IBD), but they are incapable of the runtime semantics associated with simulations and code execution.
Made in RapidWeaver