[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
article

SQL-PL4OCL: an automatic code generator from OCL to SQL procedural language

Published: 01 February 2019 Publication History

Abstract

In this paper, we introduce a SQL-PL code generator for OCL expressions that, in contrast to other proposals, is able to map OCL iterate and iterator expressions thanks to our use of stored procedures. We explain how the mapping presented here introduces key differences to the previous version of our mapping in order to (i) simplify its definition, (ii) improve the evaluation time of the resulting code, and (iii) consider OCL three-valued evaluation semantics. Moreover, we have implemented our mapping to target several relational database management systems, i.e., MySQL, MariaDB, PostgreSQL, and SQL server, which allows us to widen its usability and to benchmark the evaluation time of the SQL-PL code produced.

References

[1]
Armonas, A., Nemuraité, L.: Pattern based generation of full-fledged relational schemas from UML/OCL models. Inf. Technol. Control, 35(1), (2006)
[2]
Basin, D., Clavel, M., Egea, M., de Dios, M.A.G., Dania, C., Ortiz, G., Valdazo, J.: Model-driven development of security-aware guis for data-centric applications. In: Foundations of Security Analysis and Design VI--FOSAD Tutorial Lectures, volume 6858 of LNCS, pp. 101---124. Springer, (2011)
[3]
Basin, D.A., Clavel, M., Doser, J., Egea, M.: Automated analysis of security-design models. Inf. Softw. Technol. 51(5), 815---831 (2009)
[4]
Berrabah, D., Boufarès, F.: Constraints checking in UML class diagrams: SQL vs OCL. In: Wagner, R., Revell, N., Pernul, G. (eds.) Database and Expert Systems Applications, 18th International Conference, DEXA 2007, Regensburg, Germany, September 3---7, 2007, Proceedings, volume 4653 of LNCS, pp. 593---602. Springer, (2007)
[5]
Carlos, X.D., Sagardui, G., Trujillo, S.: MQT, an approach for run-time query translation: From EOL to SQL. In: Brucker, A.D., Dania, C., Georg, G., Gogolla, M. (eds.) Proceedings of the 14th International Workshop on OCL and Textual Modelling co-located with 17th International Conference on Model Driven Engineering Languages and Systems (MODELS 2014), Valencia, Spain, September 30, 2014, volume 1285 of CEUR Workshop Proceedings, pp. 13---22. CEUR-WS.org, (2014)
[6]
Clavel, M., Egea, M., de Dios, M.A.G.: ECEASST building an efficient component for OCL evaluation. ECEASST, 15, 27---33 (2008)
[7]
Cortázar, S.C.: Transformación de las restricciones OCL de un esquema UML a consultas de SQL. trabajo de fin de grado. Technical report, Universidad Carlos III de Madrid, (2012). http://e-archivo.uc3m.es/bitstream/handle/10016/16799/TFG_Sergio_Casillas_Cortazar.pdf?sequence=1&isAllowed=y
[8]
Cosentino, V.: A model-based approach for extracting business rules out of legacy information systems. PhD thesis, École des mines de Nantes, France (2013)
[9]
Dania, C.: MySQL4OCL: Un compilador de OCL a MySQL. Master thesis. Universidad Complutense de Madrid (2011)
[10]
Dania, C. Egea, M.: SQLPL4OCL tool (2016). http://software.imdea.org/~dania/tools/sqlpl4ocl
[11]
Demuth, B., Hußmann, H.: Using UML/OCL Constraints for Relational Database Design. In: France, R.B., Rumpe, B. (eds.) UML, volume 1723 of LNCS, pp. 598---613. Springer, (1999)
[12]
Demuth, B., Hußmann, H., Loecher, S.: OCL as a Specification Language for Business Rules in Database Applications. In: Gogolla, M., Kobryn, C. (eds.) UML, volume 2185 of LNCS, pp. 104---117. Springer, (2001)
[13]
Egea, M., Dania, C., Clavel, M.: MySQL4OCL: A stored procedure-based MySQL code generator for OCL. ECEASST, 36, (2010)
[14]
I.O. for Standardization. Object Management Group Object Constraint Language (OCL), (2012). https://www.iso.org/obp/ui/#iso:std:iso-iec:19507:ed-1:v1:en
[15]
Heidenreich, F., Wende, C., Demuth, B.: A framework for generating query language code from OCL invariants. ECEASST, 9, (2008)
[16]
Kleppe, A., Bast, W., Warmer, J.B., Watson, A.: MDA Explained: The Model Driven Architecture---Practice and Promise. Addison-Wesley, Boston (2003)
[17]
MariaDB (2016) https://mariadb.org/
[18]
Microsoft. SQL Server (2016). https://www.microsoft.com/es-es/server-cloud/products/sql-server/overview.aspx
[19]
Monperrus, M., Jézéquel, J., Baudry, B., Champeau, J., Hoeltzener, B.: Model-driven generative development of measurement software. Softw. Syst. Model. 10(4), 537---552 (2011)
[20]
MySQL 5.7 Reference Manual. http://dev.mysql.com/doc/refman/5.7/
[21]
Object Management Group: Common Warehouse Metamodel specification. (March 2003). OMG document available at http://www.omg.org/technology/documents/formal/cwm.htm
[22]
Object Management Group: Object Constraint Language specification. (May 2006). OMG document available at http://www.omg.org/cgi-bin/doc?formal/2006-05-01
[23]
Object Management Group: Object constraint language specification version 2.4. Technical report, OMG, (2014). http://www.omg.org/spec/OCL/2.4
[24]
Object Management Group: Unified modeling language version 2.5. Technical report, OMG, (2015). http://www.omg.org/spec/UML/2.5/PDF/
[25]
Oriol, X., Teniente, E.: Incremental checking of OCL constraints through SQL queries. In: Brucker, A.D., Dania, C., Georg, G., Gogolla, M. (eds.) Proceedings of the 14th International Workshop on OCL and Textual Modelling co-located with 17th International Conference on Model Driven Engineering Languages and Systems (MODELS 2014), Valencia, Spain, September 30, 2014., volume 1285 of CEUR Workshop Proceedings, pp. 23---32. CEUR-WS.org, (2014)
[26]
Pinet, F., Kang, M., Vigier, F.: Spatial Constraint Modelling with a GIS Extension of UML and OCL: Application to Agricultural Information Systems. In: Wiil, U.K. (ed), Metainformatics, volume 3511 of LNCS, pp. 160---178. Springer, (2004)
[27]
PL/pgSQL - SQL procedural language (2016). https://www.postgresql.org/docs/9.2/static/plpgsql.html
[28]
Schmidt, A.: Untersuchungen zur Abbildung von OCL-ausdrücken auf SQL. Master's thesis, Institut für Softwaretechnik II - Technische Universität Dresden, Germany, (1998)
[29]
Siripornpanit, N., Lekcharoen, S.: An adaptive algorithms translating and back-translating of object constraint language into structure query language. In: International Conference on Information and Multimedia Technology, 2009. ICIMT'09, pp. 149---151. IEEE, (2009)
[30]
Sobotka, P.: Transformation from OCL into SQL, 2012. Master thesis. Charles University in Prague. https://is.cuni.cz/webapps/zzp/download/120076745
[31]
ISO/IEC 9075-(1---10) Information technology--Database languages--SQL. Technical report, International Organization for Standardization, (2011). http://www.iso.org/iso/home/store/catalogue_tc/catalogue_detail.htm?csnumber=63555
[32]
SQL Dialects Reference (2016). https://en.wikibooks.org/wiki/SQL_Dialects_Reference/Print_version

Cited By

View all
  • (2022)Combining OCL and natural languageProceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings10.1145/3550356.3561542(908-912)Online publication date: 23-Oct-2022
  • (2020)Efficiently querying large-scale heterogeneous modelsProceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings10.1145/3417990.3420207(1-5)Online publication date: 16-Oct-2020
  • (2019)$$\hbox {OCL}_\textsf {FO}$$OCLFOSoftware and Systems Modeling (SoSyM)10.1007/s10270-018-0688-z18:4(2655-2678)Online publication date: 2-Aug-2019
  • Show More Cited By
  1. SQL-PL4OCL: an automatic code generator from OCL to SQL procedural language

    Recommendations

    Comments

    Please enable JavaScript to view thecomments powered by Disqus.

    Information & Contributors

    Information

    Published In

    cover image Software and Systems Modeling (SoSyM)
    Software and Systems Modeling (SoSyM)  Volume 18, Issue 1
    February 2019
    773 pages

    Publisher

    Springer-Verlag

    Berlin, Heidelberg

    Publication History

    Published: 01 February 2019

    Author Tags

    1. Code generator
    2. OCL
    3. SQL
    4. Stored procedures
    5. UML

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 01 Jan 2025

    Other Metrics

    Citations

    Cited By

    View all
    • (2022)Combining OCL and natural languageProceedings of the 25th International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings10.1145/3550356.3561542(908-912)Online publication date: 23-Oct-2022
    • (2020)Efficiently querying large-scale heterogeneous modelsProceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings10.1145/3417990.3420207(1-5)Online publication date: 16-Oct-2020
    • (2019)$$\hbox {OCL}_\textsf {FO}$$OCLFOSoftware and Systems Modeling (SoSyM)10.1007/s10270-018-0688-z18:4(2655-2678)Online publication date: 2-Aug-2019
    • (2017)SQL-PL4OCLProceedings of the ACM/IEEE 20th International Conference on Model Driven Engineering Languages and Systems10.1109/MODELS.2017.34(54-54)Online publication date: 17-Sep-2017

    View Options

    View options

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media