Abstract
This paper provides a semantics for the UML-RSDS (Reactive System Development Support) subset of UML, using the real-time action logic (RAL) formalism. We show how this semantics can be used to resolve some ambiguities and omissions in UML semantics, and to support reasoning about specifications using the B formal method and tools. We use ‘semantic profiles’ to provide precise semantics for different semantic variation points of UML. We also show how RAL can be used to give a semantics to notations for real-time specification in UML. Unlike other approaches to UML semantics, which concentrate on the class diagram notation, our semantic representation has behaviour as a central element, and can be used to define semantics for use cases, state machines and interactions, in addition to class diagrams.
Similar content being viewed by others
References
Abrial J.-R. (1996). The B Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge
Androutsopoulos, K.: Verification of reactive system specifications using model checking. Ph.D. thesis, King’s College, London (2004)
Aruchamy, G., Kim Cheng, A.M.: Translating real-time UML timing constraints into real-time logic formulas. Technical Report UH-CS-06-07, University of Houston, Houston (2006)
B4Free (2006) B4Free, http://www.b4free.com
Bicarregui, J.C., Lano, K.C., Maibaum, T.S.E.: Objects, associations and subsystems: a hierarchical approach to encapsulation. In: ECOOP 97, LNCS. Springer, Heidelberg (1997)
Bicarregui, J.C., Lano, K.C., Maibaum, T.S.E.: Towards a compositional interpretation of object diagrams. In: Proceedings of IFIP TC2 Working Conference on Algorithmic Languages and Calculi, February, 1997
Bowen, J., Hinchey, M.: Ten commandments ten years on: An assessment of formal methods usage. In: Eleftherakis, M. (ed.) SEEFM05: 2nd South-East European Workshop on Formal Methods, pp. 1–16 (2006)
Broy, M., Cengarle, M., Rumpe, B.: Towards a system model for UML. UML Semantics Project document 06.06.04 System Model Part 1 (2006)
B-Core UK Ltd. The BToolkit (2005)
Chiaradia, J.M., Pons, C.: Improving the OCL semantics definition by applying dynamic meta modelling and design patterns. In: OCL for (Meta-) Models in Multiple Application Domains. TUD-FI06-04 (2006)
Clark, T., Evans, A., Kent, S., Sammut, P.: The MMF approach to engineering object-oriented design languages. In: Workshop on Language Descriptions, Tools and Applications, LDTA (2001)
Damm W., Josko B., Pnueli A., Votintseva A.: A discrete-time UML semantics for concurrency and communication in safety-itical applications. Sci. Comput. Program. 55, 81–115 (2005)
Dierks, H.: Comparing model-checking and logical reasoning for real-time systems. In: ESSLLI ’98, Workshop proceedings, pp. 13–22 (1998)
Evans, A., Kent, S.: Core meta-modelling semantics of UML: The pUML approach. In: UML ’99, pp. 140–155 (1999)
Fecher, H., Schonborn, J., Kyas, M., de Roever, W.-P.: 29 new unclarities in the semantics of UML 2.0 state machines. In: Formal Methods and Software Engineering ICFEM 2005, vol. 3785, LNCS, pp. 52–65. Springer, Heidelberg (2005)
Fiadeiro, J., Maibaum, T.: Describing, structuring and implementing objects. In: Foundations of Object Oriented languages, vol. 489 of LNCS. Springer, Heidelberg (1991)
Fiadeiro, J., Maibaum, T.: Sometimes “tomorrow” is “sometime”. In: Temporal Logic, vol. 827 of Lecture Notes in Artificial Intelligence, pp. 48–66. Springer, Heidelberg (1994)
Fowler M. (2000). Refactoring: Improving the Design of Existing Code. Addison-Wesley, Reading
Gamma E., Helm R., Johnson R. and Vlissides J. (1995). Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Reading
Glinz, M.: Problems and deficiencies of UML as a requirements specification language. In: Proceedings of 10th International Workshop on Software Specification and Design (IWSSD-10), pp. 11–22 (2000)
Gogolla M., Radfelder O. and Richters M. (1999). A UML Semantics FAQ: The View From Bremen. University of Bremen, Bremen
Goldsack, S., Lano, K., Sanchez, A.: Transforming continuous into discrete specifications with VDM++. In: IEE C8 colloquim digest on hybrid control for real-time systems. IEE (1996)
Graf, S., Ober, I., Ober, I.: Timed annotations with UML. In: SVERTS ’03 (2003)
Grand M. (1998). Patterns in Java, vol. 1. Wiley, London
Jahanian F. and Mok A.K. (1986). Safety analysis of timing properties in real-time systems. IEEE Trans. Softw. Eng. SE-12: 890–904
Knapp, A., Wuttke, J.: Model checking of UML 2.0 interactions. In: 5th International Workshop CSDUML (2006)
Kyas, M., Fecher, H., de Boer, F., Jacob, J., Hooman, J., van der Kwaag, M., Arons, T., Kugler, H.: Formalizing UML models and OCL constraints in PVS. In: SFEDL ’04 (2004)
Lamport, L.: The temporal logic of actions. Technical Report 79, Digital Equipment Corporation, Systems Research Center, December, 1991
Lano K. (1998). Logical specification of reactive and real-time systems. J. Logic Comput. 8(5): 679–711
Lano, K.: UML to B: Formal verification of object-oriented models. In: IFM ’04 (2004)
Lano, K., Androutsopolous, K.: Automated synthesis of high-integrity systems using model-driven development. In: 5th International Workshop CSDUML (2006)
Lano, K., Androutsopolous, K., Clark, D.: Concurrency specification in UML-RSDS. In: MARTES ’06, MODELS Conference (2006)
Lano, K., Clark, D., Androutsopolous, K.: From implicit specifications to explicit designs in reactive system development. In: IFM ’02 (2002)
Lano, K., Clark, D., Androutsopolous, K., Kan, P.: Invariant-based synthesis of fault-tolerant systems. In: FTRTFT. Springer, Heidelberg (2000)
Lano K., Clark D. and Androutsopolous K. (2003). RSDS: A subset of UML with precise semantics. L’Objet 9(4): 53–73
Lano, K., Evans, A.: Rigorous development in UML. In: FASE ’99, vol. 1577 of Lecture Notes in Computer Science, pp. 129–144. Springer, Heidelberg (1999)
Liskov, B., Wing, J.: Specifications and their use in defining subtypes. In: ZUM ’95 Proceedings, vol. 967 of LNCS. Springer, Heidelberg (1995)
Meyer B. (1997). Object-Oriented Software Construction. Prentice Hall, Englewood
Monk J.D. (1976). Mathematical Logic. Springer, Heidelberg
Naumenko, A., Wegmann, A.: Triune continuum paradigm and problems of UML semantics. icwww.epfl.ch/publications/documents/ IC_TECH_REPORT_200344.pdf (2003)
OMG. UML profile for schedulability, performance and time. Version 1.1 (2005)
OMG. UML superstructure, version 2.0. OMG document formal/05-07-04 (2005)
OMG. UML OCL 2.0 specification, final/06-05-01 (2006)
Ostroff J.S. (1989). Temporal Logic for Real-Time Systems. Wiley, London
Pnueli, A.: Applications of temporal logic to the specification and verification of reactive systems: A survey of current trends. In: Current Trends in Concurrency, vol. 224 of LNCS. Springer, Heidelberg (1986)
Richters, M.: OCL semantics. Annex A of [43] (2005)
Ryan, M., Fiadeiro, J., Maibaum, T.S.E.: Sharing actions and attributes in modal action logic. In: Proceedings of International Conference on Theoretical Aspects of Computer Science (TACS ’91). Springer, Heidelberg (1991)
Simons A. (2003). The theory of classification, part 8: Classification and inheritance. J. Object Technol. 2(4): 55–64
Smith, J., DeLoach, S., Kokar, M., Baclawski, K.: Category theoretic approaches of representing precise UML semantics. In: Proceedings ECOOP Workshop on Defining Precise Semantics for UML (2000)
Sunyé, G., Le Guennec, A., Jézéquel, J.M.: Design patterns application in UML. In: ECOOP 2000, number 1850 in Lecture Notes in Computer Science, pp. 44–62. Springer, Heidelberg (2000)
Verhoef M., Larsen P. and Hooman J. (2006). Modelling and Validating Distributed Embedded Systems with VDM++. Engineering College of Aarhus, Denmark
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Prof. Jean-Marc Jezequel.
Rights and permissions
About this article
Cite this article
Lano, K. A compositional semantics of UML-RSDS. Softw Syst Model 8, 85–116 (2009). https://doi.org/10.1007/s10270-007-0064-x
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-007-0064-x