Some validation rules guide you in defining your modeling.
Communication
| Class | Abbreviation | Message | Severity | 
|---|---|---|---|
| Frame | oneSegmentationMax | Only 1 segmentation property per frame | error | 
| FrameSystemSignalGroup | all the group in same frame | warning | |
| FrameEndianness | All bus signals in a frame have same value isLittleEndian | error | |
| FrameMaxTotalSize | Total Size <= Max Max depends of protocol | error | |
| lengthPositive | length must be >= 0 | error | |
| onePayload | Only 1 payload per Frame | error | |
| frame_matrix | Frame should be owned by Matrix | warning | |
| PositiveFrameId | frameId must be >= 0 | error | |
| AbstractCANFrame | 1 cyclic event | Only 1 cyclic event per frame | error | 
| 1 eventTriggered | Only 1 eventTriggered per Frame | error | |
| CANFrame | frameId range | frameId must be less than 2048 (2.0A) or 536 870 912 (2.0B) | error | 
| length_less_or_equal_8 | CAN Frame length must be <= 8 | error | |
| useless segmentation | useless segmentation length<=8 | warning | |
| CANFDFrame | frameId range | frameId must be less than 2048 (2.0A) or 536 870 912 (2.0B) | error | 
| length_less_or_equals_64 | length must be <= 64 | error | |
| useless segmentation | useless segmentation length <= 64 | warning | |
| CANXLFrame | extended | A CANXL Frame is never extended | error | 
| frameId range | priorityId must be less than 2048 | error | |
| length_less_or_equals_2048 | length must be <= 2048 | error | |
| useless segmentation | useless segmentation, length <= 2048 | warning | |
| J1939Frame | lengthRange | Length above maximum allowed (8 for non segmented Frame, 1785 for segmented Frame) | error | 
| alwaysExtended | A J1939 Frame is always extended | error | |
| frameIdRange | frameId must be less than 536 870 912 | error | |
uselessSegmentation  | useless segmentation, length<=8 | warning | |
| AbstractFlexRayFrame | lengthRange | length must be <= 254 | error | 
| uselessSegmentation | useless segmentation, length <= 254 | warning | |
| FlexRayStaticFrame | slotIdRange | 0<= frameId < matrix.numberOfSlots | error | 
| FlexRayDynamicFrame | messageIdRange | matrix.numberOfStaticSlots <= messageId <16384 | error | 
| AbstractLINFrame | frameIdRange | frameId must be less than 62 | error | 
| lengthRange | length must be <= 64 | error | |
| uselessSegmentation | useless segmentation, length <= 8 | warning | |
| EthernetFrame | lengthRange | length must be between 46 and 1500 | error | 
| uselessSegmentation | useless segmentation, length <= 1500 | warning | |
| BusSignal | - | bitSize must be >= 0 | error | 
| - | bitStart must be >= 0 | error | |
| - | bitSize should be >0 | warning | |
| busSignalType | bus signal's type must be a SystemSignal | error | |
| busSignal_payload | Bus Signal should be owned by Payload | warning | |
| Overlapping | Signal overlapping | error | |
| SignalValue | SignalValue_BusSignal | Signal Value should be owned by a Bus Signal or a System Signal | warning | 
| Payload | bs + length | byteStart + length > frame.DLC | error | 
| byteStartRange | byteStart >= 0 | error | |
| payload_frame | Payload should be owned by Frame | warning | 
Hardware
| Class | Abbreviation | Message | Severity | 
|---|---|---|---|
| VirtualLocalAreaNetwork | OnceConnectedSwitchInVLAN | Segments links connected to the switch instance error if only one segment in a vlan  | error | 
| range | priority should be in [0..7] | error | |
| - | 0 and 4095 are reserved vlanId | warning | |
| range sd_priority | sd_priority should be in [0..7] | warning | |
| - | 0 <= vlanId <= 4095 | error | |
| CANBus | - | 40000 <= speed <= 20 000 000 bit/s | error | 
| LINBus | - | 0 < speed <= 19200 (bit/s) | error | 
| FlexRayBus | - | 0 <= speed <= 10000000 | error | 
| Connector | ConnectorCompatibleEnds | Check if the two hw ports are compatible (source -> target) | error | 
| ConnectorMandatoryPorts | Ports are mandatory | error | |
| EthernetPort (occurrence) | MulticonnectedEthernetPort | Ethernet port must be connected by a single ethernet segment | error | 
| CANPort (occurrence) | MulticonnectedCANPort | CAN port must be connected to a single bus | error | 
| LINPort (occurrence) | MulticonnectedLINPort | LIN port must be connected to a single bus | error | 
| CommunicationBus | MultipleConnectionsBusEquipment | Each equipement is only connected once to this bus | warning | 
| Topology | Cycle | no recursion | error | 
Software
| Class | Abbreviation | Message | Severity | 
|---|---|---|---|
| SoftwareComposition | Cycle | no recursion | error | 
| AbstractSoftwareVariable | - | direction should be out | warning | 
| - | type must != null | error | |
| Connector | ConnectorMandatoryPorts | Ports are mandatory | error | 
System Mapping
| Class | Abbreviation | Message | Severity | 
|---|---|---|---|
| ItemFlow | conveyed.card | 1 Signal per ItemFlow | warning | 
| DirectedFeatures | - | feature direction should be provided | warning | 
Common
| Class | Abbreviation | Message | Severity | 
|---|---|---|---|
| Operation | opdir | operation direction should be provided | warning |