Analysing UML Active Classes and Associated State Machines - A Lightweight Formal Approach
We propose a precise definition of UML active classes through associated labelled transition systems using the algebraic Specification language Casl. We are convinced that the first step to make UML precise is to find an underlying formal model for the systems modelled by UML, and we argue that labelled transition systems are a sensible choice. This modelization will help understanding the UML constructs and will improve their use in practice. One of our aims is, in the future, to use the powerful animation and verification tools available for algebraic specifications with UML Specifications. We simplify the problem of the applicability of our semantics by restricting the state machine constructs considered. This restriction does not, however, narrow the UML subset in study because the restricted constructs can be replaced by equivalent combinations of other constructs. Because of some ambiguities in the UML official semantics, we discuss the several options at hand and choose, for each ambiguous case, the semantics that either makes more sense or that allows to simplify the problem the most.
KeywordsState Machine Class Diagram Active Object Label Transition System Operation Call
- E. Astesiano, A. Giovini, F. Mazzanti, G. Reggio, and E. Zucca. The Ada Challenge for New Formal Semantic Techniques. In Ada: Managing the Transition, Proc. of the Ada-Europe Conference, Edimburgh, 1986, pages 239–248. University Press, Cambridge, 1986.Google Scholar
- R. Breu, R. Grosu, F. Huber, B. Rumpe, and W. Schwerin. Systems, Views and Models of UML. In M. Schader and A. Korthaus, editors, The Unified Modeling Language, Technical Aspects and Applications. Physica Verlag, Heidelberg, 1998.Google Scholar
- E. Coscia and G. Reggio. A Proposal for a Semantics of a Subset of Multi-Threaded Good Java Programs. Technical report, Imperial College-London, 1998.Google Scholar
- M. Gogolla and F. Parisi-Presicce. State Diagrams in UML-A Formal Semantics using Graph Transformation. In M. Broy, D. Coleman, T. Maibaum, and B. Rumpe, editors, Proc. ICSE’98 Workshop on Precise Semantics of Modeling Techniques(PSMT’98), Technical Report TUM-I9803, 1998.Google Scholar
- K. Lano and J. Bicarregui. Formalising the UML in Structured Temporal Theories. In B. Rumpe H. Kilov, editor, Proc. of Second ECOOP Workshop on Precise Behavioral Semantics, ECOOP’98, Munich, Germany, 1998.Google Scholar
- J. Lillius and I Paltor. Formalising UML State Machines for Model Checking. In R France and B. Rumpe, editors, Proc. UML’99, LNCS. Springer Verlag, Berlin, 1999.Google Scholar
- OMG. White paper on the Profile Mechanism — Version 1.0. http://uml.shl.com/u2wg/default.htm, 1999.
- The CoFI Task Group on Language Design. Casl Summary. Version 1.0. Technical report, 1998. Available on http://www.brics.dk/Projects/CoFI/Documents//Summary/.
- G. Reggio, E. Astesiano, C. Choppy, and H. Hussmann. A Casl Formal Definition of UML Active Classes and Associated State Machines. Technical Report DISI-TR-99-16, DISI — Università di Genova, Italy, 1999.Google Scholar
- J. Rumbaugh. Some questions relating to actions and their parameter, and relating to signals. Private communication, 1999.Google Scholar
- J. Rumbaugh, I. Jacobson, and G. Booch. The Unified Modeling Language Reference Manual. Object Technology Series. Addison-Wesley, 1999.Google Scholar
- UML Revision Task Force. OMG UML Specification, 1999. Available at http://www.uml.shl.com.