Abstract
The main purpose of this paper is to approach the use of formal methods in computing. In more specific terms, we use a temporal logic to formalize the most fundamental aspects of the semantics of UML state machines. We pay special attention to the dynamic aspects of the different operations associated with states and transitions, as well as the behaviour of transitions related with composite states. This, to the best of our knowledge, has not been done heretofore using temporal logic.
Our formalization is based on a temporal logic that combines points, intervals, and dates. Moreover this new temporal logic is built over an innovative and simple topological semantics, which simplifies the metatheory development.
Similar content being viewed by others
References
2U Consortium. UML 2 Submission, 2002. http://www.2uworks.org
Allen, J.F.: Maintaining knowledge about temporal intervals. Communications of the ACM, 26(11): 832–843, 1983
Allen, J.F.: Towards a general theory of action and time. Artificial Intelligence, 23(2): 123–154, 1984
Anil Saldhana, J., Shatz, S.M.: UML diagrams to object Petri net models: An approach for modeling and analysis. In: Proceedings of the International Conference of Software and Knowledge Engineering SEKE’00, 2000, pp. 103–110
Barroca, L.M., McDermid, J.A.: Formal methods: Use and relevance for the development of safety-critical systems. Computer Journal, 35(6): 579–599, 1992
Bicarregui, J.C.: Exploiting formality in software engineering, 1999. Invited paper at SOFSEM’99, 26th Annual Conference on Current Trends in Theory and Practice of Informatics
Booch, G.: Object-Oriented Analysis and Design with Applications. Addison Wesley, 1994
Booch, G., Rumbaugh J., Jacobson I.: Unified Modeling Language User Guide. Addison-Wesley, 1999
Börger, E., Cavarra, A., Riccobene, E.: Modeling the dynamics of UML statecharts. In: Proceedings of International Workshop on Abstract State Machines ASM’2000, 2000, pp. 223–241
Chomicki, J., Saake, G. (eds.) Logics for database and information systems. Kluwer Academic Publishers, 1998
de Guzmán, I.P., Rossi, C.: LNint: a temporal logic that combines points and intervals and the absolute and relative approaches. Journal of the IGPL, 3(5), 1995
Derr, K.W.: Applying OMT. SIGS Books, 1995
Diethers, K., Goltz, U., Huhn, M.: Model Checking UML Statecharts with Time. In: Jürjens, J., Cengarle, M.V., Fernandez, E.B., Rumpe, B., Sandner, R. (eds.) Wsh. Critical Systems Development with UML, Dresden, 2002, pp. 35–52. Technische Universität München, Institut für Informatik
Enciso, M., de Guzmán, I.P., Rossi, C.: Using temporal logic to represent dynamic behaviour of UML statecharts. In: Hernández, J., Moreira, A. (eds.) ECOOP 2002 Workshop on Integration and Transformation of UML Models, Lecture Notes in Computer Science, vol. 2548. Springer-Verlag, 2002
Gabbay, D.M.: The declarative past and imperative future, Lecture Notes in Computer Science, vol. 398. Springer Verlag, 1989
Gnesi, S., Latella, D., Massink, M.: Modular semantics for a UML statechart diagrams kernel and their extension to multicharts and branching time model checking. The Journal of Logic and Algebraic Programming, 51(1): 43–75, 2002
Gogolla, M., Presicce, F.P.: State diagrams in UML: a formal semantics using graph transformations. In: Proceedings of Workshop on Precise Semantics of Modeling Techniques PSMT’98, 1998, pp. 55–72
Graw, G., Herrmann, P., Krumm, H.: Composing object-oriented specificactions and verifications with cTLA. In: Proceedings of Workshop on Semantics of Objects and Processes (SOAP’99). Lisboa, 1999, pp. 7–22
Halpern, J., Shoham, Y.: A propositional modal logic of time intervals. Journal of the ACM, 38(4): 935–962, 1991
Harel, D.: Statecharts: A visual formalism for complex systems. Science of Computer Programming, 5: 231–274, 1987
Harel, D., Gery, E.: Executable object modeling with statecharts. Computer, 30(7): 31–42, 1997
Harel, D., Naamad, A.: The STATEMATE semantics of statecharts. ACM Transactions on Software Engineering and Methodology, 5(4): 293–333, 1996
Hughes, G.E., Cresswell, M.J.: A New Introduction to Modal Logic. Routledge, 1996
Jacobson, I., Christerson, M., Jonsson, P., Overgard, G.: Object-Oriented Software Engineering. A Use Case Driven Approach. Addison-Wesley, 1992
Knapp, A., Merz, S., Rauh, C.: Model Checking Timed UML State Machines and Collaborations. In: Damm, W., Olderog, E.R. (eds.) Proc. 7th Int. Symp. Formal Techniques in Real-Time and Fault Tolerant Systems, Lect. Notes Comp. Sci., vol. 2469. Springer, Berlin, 2002, pp. 395–416
Kroger, F.: Temporal logic of programs. Springer Verlag, 1987. In EATCS Monograph on Theoretical Computer Science
Kutsia, T.: Unification with sequence variables and flexible arity symbols and its extension with pattern.terms. In: Artificial Intelligence, Automated Reasoning and Symbolic Computation. Proceedings of Joint AICS’2002 – Calculemos’2002 Conference, number 2385 in Lecture Notes in Artificial Intelligence. Springer-Verlag, 2002
Lamport, L.: The temporal logic of actions. ACM Transactions on Programming Languages and Systems, 16(3): 872–923, 1994
Lano, K.: Logical specification of reactive and real-time systems. Journal of Logic and Computation, 8(5): 679–711, 1998
Lano, K., Bicarregui, J.C.: Formalising the UML in structured temporal theories. In: Proceedings of Second ECOOP Workshop on Precise Behavioral Semantics, Brussels, Belgium, 1998
Latella, D., Majzik, I., Massink, M.: Automatic Verification of a Behavioural Subset of UML Statechart Diagrams Using the SPIN Model-Checker. Formal Aspects Comp., 11(6): 637–664, 1999
Lavazza, L., Quaroni, G., Venturelli, M.: Combining UML and Formal Notations for Modelling Real-Time Systems. In: 8th Europ. Conf. Software Engineering, Wien, 2001
Lilius, J., Porres, I.: The semantics of UML state machines. Technical report, Turku Centre for Computer Science, 1999
Manna, Z., Pnueli, A.: Temporal verification of reactive systems: Safety. Springer-Verlag, 1995
Object Management Group. Unified Modeling Language Specification, version 1.4, 2001
Object Management Group. UML-Related Work In Progress, 2002. http://www.omg.org/uml
Pnueli, A.: The temporal logic of programs. In: 18th Symposium on the foundations of Computer Science. IEEE, 1977
Polle, T., Ripke, T., Schewe, K.D. (eds.) Fundamentals of information systems. Kluwer Academic Publishers, 1999
Reggio, G.: Metamodelling behavioural aspects: the case of the UML state machines. Technical Report DISI-TR-02-3, Université di Genova, Italy, 2002
Robertson, D., Agustí, J.: Software Blueprints: Lightweight Uses of Logic in Conceptual Modelling. Addison-Wesley, 1999
Rossi, C.: Lógica Temporal de Intervalos. Formalización de Diagramas de Estados. PhD thesis, Universidad de Málaga, Spain, 2001
Rumbaugh, J., Blaha, M., Premerlani, W., Eddy, F., Lorensen, W.: Object-Oriented Modeling and Design. Prentice Hall, 1991
Schäfer, T., Knapp, A., Merz, S.: Model Checking UML State Machines and Collaborations. In: Stoller, S., Visser, W. (eds.) Proc. Wsh. Software Model Checking, Elect. Notes Theo. Comp. Sci., vol. 55(3). Paris, 2001
Simons, A.J.: On the compositional properties of UML statechart diagrams. In: Clarke, A.N., Evans, A., Lano, K. (eds.) Proceedings of 3rd Conference on Rigourous Object-Oriented Methods, 2000, 2000, pp. 4.1–4.19
Simons, A.J., Graham, I.: 30 things that go wrong in object modelling with UML. In: Kilov, H., Rumpe, B., Simmonds, I. (eds.) Precise Behavioral Specification of Businesses and Systems, chapter 17. Kluwer Academic Publishers, 1999
Slotosch, O.: Overview over the project QUEST. In: Applied Formal Methods. Proceedings of FM-Trends 98, Boppard, Germany, Lecture Notes in Computer Science, vol. 1641. Springer Verlag, 1999, pp. 346–350
U2 Partners. UML 2.0 Proposal, 2002. http://www.u2-partners.org
von der Beeck, M.: A comparison of statechart variants. In: Formal Techniques in Real-Time and Fault-Tolerant Systems, in Lecture Notes in Computer Science, vol. 863. Springer-Verlag, 1994, pp. 128–148
von der Beeck, M.: A structured operational semantics for UML-statecharts. Software and System Modeling, 1(2): 130–141, 2002
Author information
Authors and Affiliations
Corresponding authors
Rights and permissions
About this article
Cite this article
Rossi, C., Enciso, M. & de Guzmán, I. Formalization of UML state machines using temporal logic. Softw Syst Model 3, 31–54 (2004). https://doi.org/10.1007/s10270-003-0029-7
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-003-0029-7