Model Checking and Code Generation for UML State Machines and Collaborations

作者: Stephan Merz , Alexander Knapp

DOI:

关键词: Finite-state machineModel checkingApplications of UMLClass diagramProgramming languageCommunication diagramSystems Modeling LanguageAbstraction model checkingUML toolComputer science

摘要: The “Unified Modeling Language” (UML [1]) is generally accepted as the de facto standard notation for analysis and design of object-oriented software systems. It provides diagrams description static, dynamic, architectural aspects systems at different levels detail. In particular, dynamic system behavior can be specified with help interaction (i.e., collaboration or sequence) that describe single runs. A more operational view provided by UML state machines, a variant Statechart introduced Harel [2], are associated instances classes. deliberately encourages use redundant descriptions same system, example during phases development. This redundancy generates an obvious opportunity verification validation techniques to ensure consistency these descriptions. Moreover, formal methods most beneficial when applied abstract We ongoing project develop set tools, tentatively called HUGO, where model checking technology relate machines diagrams. Considering machine “model” “property”, used run diagram indeed realised interacting machines. some cases, absence errors expressed impossibility realise certain “erroneous” interactions. As typical applications checking, we concentrate on control part models largely from data manipulations. While such reveal in designs, coding later implementation stages may still occur. Since specify object’s full detail, propose generate code directly model. Ideally, generation model, raising confidence correctness resulting system.

参考文章(9)
Iván Porres Paltor, Johan Lilius, Formalising UML state machines for model checking Lecture Notes in Computer Science. pp. 430- 444 ,(1999) , 10.5555/1767297.1767342
Alexander Knapp, Stephan Merz, Christopher Rauh, Model Checking - Timed UML State Machines and Collaborations Lecture Notes in Computer Science. pp. 395- 416 ,(2002) , 10.1007/3-540-45739-9_23
Diego Latella, Istvan Majzik, Mieke Massink, Automatic Verification of a Behavioural Subset of UML Statechart Diagrams Using the SPIN Model-checker Formal Aspects of Computing. ,vol. 11, pp. 637- 664 ,(1999) , 10.1007/S001659970003
Kim G. Larsen, Paul Pettersson, Wang Yi, UPPAAL in a Nutshell International Journal on Software Tools for Technology Transfer. ,vol. 1, pp. 134- 152 ,(1997) , 10.1007/S100090050010
Timm Schäfer, Alexander Knapp, Stephan Merz, Model Checking UML State Machines and Collaborations Electronic Notes in Theoretical Computer Science. ,vol. 55, pp. 357- 369 ,(2001) , 10.1016/S1571-0661(04)00262-2
David Harel, Statecharts: A visual formalism for complex systems Science of Computer Programming. ,vol. 8, pp. 231- 274 ,(1987) , 10.1016/0167-6423(87)90035-9
G.J. Holzmann, The model checker SPIN formal methods in software practice. ,vol. 23, pp. 279- 295 ,(1997) , 10.1109/32.588521
Grady Booch, James Rumbaugh, Ivar Jacobson, The Unified Modeling Language User Guide ,(1999)