Abstract
UML is the defacto standard language to graphically describe systems in an object oriented way. Once an application has been specified, Model Driven Architecture (MDA) techniques can be applied to generate code from such specifications. Because UML lacks formal basis to analyze and check model consistency, it is pertinent to choose a formal target language (in the MDA process) to enable proofs and verification techniques. To achieve this goal, we have associated to UML the FoCaLiZe language, an object-oriented development environment using a proof-based formal approach. This paper focuses on a subset of UML constructors, the template classes. These latter allow developers to create generic models that can be instantiated for actual models through a binding relationship. Specifically, we propose a formal transformation of UML template classes annotated with OCL constraints into FoCaLiZe specification. The proposed mapping directly supports most of UML template features.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Sunyé, G., Le Guennec, A., Jézéquel, J.-M.: Design Patterns Application in UML. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, pp. 44–62. Springer, Heidelberg (2000)
Kienzle, J., Al Abed, W., Fleurey, F., Jézéquel, J.-M., Klein, J.: Aspect-Oriented Design with Reusable Aspect Models. In: Katz, S., Mezini, M., Kienzle, J. (eds.) Transactions on AOSD VII. LNCS, vol. 6210, pp. 272–320. Springer, Heidelberg (2010)
Cuccuru, A., Radermacher, A., Gérard, S., Terrier, F.: Constraining Type Parameters of UML 2 Templates with Substitutable Classifiers. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 644–649. Springer, Heidelberg (2009)
Abrial, J.R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press (2005)
Jackson, D.: Software Abstractions: Logic, Language and Anlysis. MIT Press (2012)
Clavel, M., Durán, F., Eker, S., Lincoln, P., Martí-Oliet, N., Meseguer, J., Talcott, C.: All About Maude - A High-Performance Logical Framework. LNCS, vol. 4350. Springer, Heidelberg (2007)
Nipkow, T., Paulson, L.C., Wenzel, M.: Isabelle/HOL. LNCS, vol. 2283. Springer, Heidelberg (2002)
Hardin, T., Francois, P., Pierre, W., Damien, D.: FoCaLiZe: Tutorial and Reference Manual, version 0.8.0. CNAM/INRIA/LIP6 (2012), http://focalize.inria.fr
Ayrault, P., Hardin, T., Pessaux, F.: Development Life-Cycle of Critical Software under FoCal. Electronic Notes in Theoretical Computer Science 243, 15–31 (2009)
Doligez, D.: The Zenon Tool. Software and Documentations freely available at http://focal.inria.fr/zenon/
Coq: The Coq Proof Assistant, Tutorial and Reference Manual, version 8.4. INRIA – LIP – LRI – LIX – PPS (2012), Distribution available at http://coq.inria.fr/
Fechter, S.: Sémantique des Traits Orientés Objet de Focal. PhD thesis, Paris 6 (2005)
François, P.: Another Tutorial for FoCaLize: Playing with Proofs (2013)
Dubois, C., Hardin, T., Donzeau-Gouge, V.: Building Certified Components within FOCAL. Trends in Functional Programming 5, 33–48 (2006)
OMG: UML: Superstructure, version 2.4 (January 2011), http://www.omg.org/spec/UML/2.4/Infrastructure
Delahaye, D., Étienne, J., Donzeau-Gouge, V.: Producing UML Models from Focal Specifications: An Application to Airport Security Regulations. In: 2nd IFIP/IEEE International Symposium on Theoretical Aspects of Software Engineering, pp. 121–124 (2008)
OMG: OCL: Object Constraint Language 2.3.1 (January 2012), http://www.omg.org/spec/OCL
Snook, C., Savicks, V., Butler, M.: Verification of UML Models by Translation to UML-B. In: Aichernig, B.K., de Boer, F.S., Bonsangue, M.M. (eds.) Formal Methods for Components and Objects. LNCS, vol. 6957, pp. 251–266. Springer, Heidelberg (2011)
Ledang, H., Souquières, J., Charles, S., et al.: Argouml+ B: Un Outil de Transformation Systématique de Spécifications UML en B. In: Approches Formelles dans l’Assistance au Développement de Logiciels (2003)
Hazem, L., Levy, N., Marcano-Kamenoff, R.: UML2B: Un Outil pour la Génération de Mod‘eles Formels. In: AFADL (2004)
Snook, C., Butler, M.: UML-B: Formal Modeling and Design Aided by UML. ACM Transactions on Software Engineering and Methodology (TOSEM) 15(1), 92–122 (2006)
Cunha, A., Garis, A., Riesco, D.: Translating between Alloy Specifications and UML Class Diagrams Annotated with OCL Constraints. Software & Systems Modeling, 1–21 (2013)
Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: UML2Alloy: A Challenging Model Transformation. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 436–450. Springer, Heidelberg (2007)
Durán, F., Gogolla, M., Roldán, M.: Tracing Properties of UML and OCL Models with Maude. arXiv preprint arXiv:1107.0068 (2011)
Mokhati, F., Sahraoui, B., Bouzaher, S., Kimour, M.T.: A Tool for Specifying and Validating Agents’ Interaction Protocols: From Agent UML to Maude. Object Technology 9(3) (2010)
Brucker, A.D., Wolff, B.: HOL-OCL: A Formal Proof Environment for UML/OCL. In: Fiadeiro, J.L., Inverardi, P. (eds.) FASE 2008. LNCS, vol. 4961, pp. 97–100. Springer, Heidelberg (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Abbas, M., Ben-Yelles, CB., Rioboo, R. (2014). Modeling UML Template Classes with FoCaLiZe. In: Albert, E., Sekerinski, E. (eds) Integrated Formal Methods. IFM 2014. Lecture Notes in Computer Science(), vol 8739. Springer, Cham. https://doi.org/10.1007/978-3-319-10181-1_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-10181-1_6
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-10180-4
Online ISBN: 978-3-319-10181-1
eBook Packages: Computer ScienceComputer Science (R0)