SysML FAQ: What is the difference between SysML Block and UML Class?

A SysML Block, which is the basic structural element used within a SysML model, is a stereotyped (customized) extension of a UML Class, which is the basic structural element used within a UML object model. Consequently, they are closely related to each other in terms of both anatomy and usage, where the former (Block) should be consider an extended customization of the latter (Class).

More specifically, a UML Class has Properties (a.k.a. attributes) that define its internal state, Operations (a.k.a., methods) which define its potential behaviors when interacting with other objects, and Ports which define unique interaction points for attaching provided and required Interfaces.

SysML Blocks extend the syntax and semantics of UML Classes by distinguishing among various kinds of Properties (Parts, References, Values) and include additional Ports for physical flows (Flow Ports [deprecated along with Flow Specifications in SysML v. 1.3], Full Ports, Proxy Ports).

OMG SYSML, UML, and UNIFIED MODELING LANGUAGE are trademarks of the Object Management Group. All other product and service names mentioned are the trademarks of their respective companies.