90 likes | 124 Views
Explore the importance of formalizing Unified Modeling Language (UML) syntax, semantics, design rules, and notations for better understanding, automated checking, and development. Discover how formalizing UML contributes to a clearer association of classifiers and attributes.
E N D
Foundations of the Unified Modeling Language Tony Clark and Andy Evans 2nd BCS-FACS Northern Formal Methods Workshop
Why formal UML? • A. shortage of other topics to write papers about • B. automated checking • C. better understanding • D. automated development
What is being formalized? • Syntax • Semantics • Design rules • Notations
Static1 • abstract, classifiers : F Classifier • associations :F Association • attributes : Classifiers -||->F Name • supertype_of : Classifier <-> Classifier • ------------------------------- • abstract subset classifiers
Static • Static1 • ----------------------------------- • supertype_of elementof (classifiers <-> classfiers) • supertype_of+ intersect id(classifiers) = null • forall c1, c2 : classifiers dot c1 supertype_of c2 implies attributes(c2) subset attributes(c1)
Static (continued) • forall a1, a2 : associations dot a1 not= a2 implies a1.name not= a2.name • forall a : associations dot {e : a.connects dot e.classifier} subset classifiers
Semantics • Domain: a set of objects • Mapping: how to interpret static model in semantic domain