90 likes | 209 Vues
This paper discusses the challenges of maintaining consistency across UML models, specifically focusing on statecharts, class diagrams, and sequence diagrams. Inconsistencies can arise from differing interpretations of UML semantics or from informal definitions lacking formal verification. We outline a three-step approach to automate consistency checks through model transformation from UML to CSP (Communicating Sequential Processes) and validate these models using FDR (Failures-Divergence Refinement). A case study demonstrates the method, highlighting protocol consistency and model checking results.
E N D
Protocol Consistency Checking of UML Statecharts B.S. Barış Güldalı adapted from PG AQUASIUM@AG Engels-UPB
a1 :A :B e1 e3/send e4 e1 a2 a3 e2 /send e2 e3 e5 Consistency of UML Model „Inconsistency is disagreement between sub-models“ • Inconsistency between • Class diagram (CD), Sequence diagram (SeqD) • CD, Statechart diagram (SD) • SD, SeqD • SD, SD • ... Definitionen
A.e4 p1 p4 B.e1 B.e3 p2 p3 A.e2 :A :B /send e1 a1 b1 e2/send e3 e1 e3/send e4 e4/send e1 b2 a2 a3 /send e2 Consistency of UML Model • Inconsistency between • CD, SeqD • CD, SD • SD, SeqD • SD, SD • ... • Protocol • consistency Definitionen
Source of inconsistency : • UML without formal semantic • UML tools interpret differently • There is no automatic behaviour consistency • Three steps for automated consistency-check: • Informal definition of protocol-consistency • Definition of ... • ...model transformation from statecharts into CSP • ...consistency in CSP • Execution of model transformation, modelchecking via FDR • CSP (Communicating Sequential Processes): • formal specification language (process algebra) • FDR (Failures-Divergence Refinement): • commercial modelchecking tool Automated Consistency Check
:StateMachine name=„LightControl“ sm:StateMachine top :CompositeState ε ::= <sm.name>(state) = if (state == <s.name>) then State(<s.name>) top cs:CompositeState subvertex :State subvertex name=„Red“ mapping s:State instantiation Model Tranformation: UML CSP transformation UML Model CSP Model pattern matching match CSP Transformation UML Patern instantiated Definitionen Automated Consistency Check Model Transformation Case Study Modelchecking Conclusion
Case Study UML CSP A(state) = if (state == a1) e1?x_e1 if (x_e1 == 1) A(a2) else A(a1) else if (state == a2) send_e2 A(a3) ... B(state) = if (state == init) send_e1 B(b1) else if (state == b1) e2?x_e2 if (x_e2 == 1) send_e3 B(b2) else A(b1) ... Definitionen Automated Consistency Check Model Transformation Case Study Modelchecking Conclusion P(p1) = B.e1 P(p2) P(p2) = A.e2 P(p3) P(p3) = B.e3 P(p4) P(p4) = A.e4 P(p1) System = A ||| B
Modelchecking • traces(P) = set of finite sequences of events which P can do • Consistency definition: • Trace refinement: • assert P(p1) [T= System • assert System [T = P(p1) • Modelchecker FDR • Assert fails: • protocol and statecharts are not conform Definitionen Automated Consistency Check Model Transformation Case Study Modelchecking Conclusion
UML is informal consistency problem transform into a formal domain make a consistency definition Modelcheck Conclusion Future Work Definitionen Automated Consistency Check Model Transformation Case Study Modelchecking Conclusion • Consistency-check for deadlock • Consistency-check between SeqD & SD • Transformation into other formal models