What is the consistency rule?

If we consider the nature of consistency [Spanaudakis, Zisman 2001], then we imagine that the consistency rule is a relationship between

two elements of different diagrams.

Let's just consider these consistency rules, which are relations between elements of different diagrams.

If we're using the uppercase letter UML diagram type, and the lowercase UML element of this diagram, then we would get the following table for UML diagrams and the next table for UML elements.

Table 1. UML diagrams

A - Business Use Case Realization Diagram (ACT)

B - Business Use Case Diagram (UC)

C - Business Class Diagram (CLASS)

Q - Internal Use Case Realization Diagram (SD)

S - Business State Machine Diagram (STM)

U - System Use Case Diagram (UC)

Z - System Use Case Realization Diagram (ACT)

Table 2. UML elements

a - Actor (UC)

c - Class (CLASS)

h - Operation (CLASS)

i - Instance (ACT)

l - Lifeline (SD)

m - Message (SD)

p - Partition (ACT)

s - State (STM)

u - UseCase (UC)

v - Activity (ACT)

More markings for diagrams and elements can be found at

https://www.researchgate.net/publication/334737466_Analysis_and_specification_of_Consistency_Rules_for_UML_Diagrams

Using these designations as regular expressions, we can get some common consistency rules and, by the way, identify duplicates of the proposed consistency rules:

1. BuA - mapping between business use cases and activities [Hausmann 2002, Ibrahim 2011]

2. BaQl - mapping between business actors and sequence lifelines [Sapna 2007]

3. UaQl - mapping between system actors and sequence lifelines [Shinkawa 2006, Ibrahim 2012] - similar as 2.

4. JchQm - mapping between class operations and sequence messages [Sapna 2007, Vasilecas 2009, Khai 2011, Ibrahim 2012, Kalibatiene 2013, Xianhong 2013]

5. JcQl - mapping between classes and sequence lifelines [Sapna 2007, Khai 2011, Ibrahim 2012, Kalibatiene 2013, Xianhong 2013]

6. AvCch - mapping between activities and class operations [Sapna 2007, Chanda 2009, Xianhong 2013]

7. AiCc - mapping between activity instances and classes [Chanda 2009].

What consistency rules do you use when constructing your software architectures? I use 87 such consistency rules.

More Stanislaw Niepostyn's questions See All
Similar questions and discussions