The Unified Modelling Language (UML) is becoming the de-facto standard for object-oriented software modelling, including software for embedded systems. In this paper, we show how to model the Production Cell, a standard example for evaluating embedded systems design notations, using UML. Then, we use the vUML tool to verify our model of the Production Cell. vUML is a tool developed by the authors to verify UML models. Although, vUML internally uses the SPIN model-checker, the input model and the results from the verification are expressed using the UML notation, thus hiding the model-checking formalism from the user. vUML checks that a model is free of deadlocks, livelocks and that all the invariants are always preserved. vUML can not verify real-time properties but we explain how to use vUML to identify the real-time constrains of a model. We also show how to use the object-oriented decomposition of the problem that is given by an UML class diagram, to reduce the complexity of the model-checking problem. We conclude that the vUML tool helps the designer to verify the software of distributed object-oriented embedded systems, without learning how to use a model-checker.
Recommendations
Formalization of UML diagrams and their consistency verification: A Z notation based approach
ISEC '08: Proceedings of the 1st India software engineering conferenceIn this paper, we have suggested a methodology for formalizing some of the commonly used UML diagrams that are used in different phases of software development in Z notation, establish their relationship and then represent the "formalized" diagrams ...
Model Checking UML Activity Diagrams in FDR
ICIS '09: Proceedings of the 2009 Eigth IEEE/ACIS International Conference on Computer and Information ScienceThe Unified Modeling Language (UML) is the de-facto industrial standard for modeling object-oriented software systems. UML Activity diagrams (ADs) can be used for software modeling and they have under gone significant changes with UML 2.0 specification, ...
Formal Verification of UML State Machine Diagrams Using Petri Nets
Networked SystemsAbstractUML State Machine diagrams are widely used for behavioral modeling. They describe all of the possible states of a system and show its lifetime behavior. Nevertheless, they lack of semantics. A State Machine diagram may be interpreted in different ...