Generación semiautomática de código PL/SQL a partir de representaciones de eventos basadas en esquemas preconceptuales
Type
Trabajo de grado - Maestría
Document language
EspañolPublication Date
2019-07-01Metadata
Show full item recordSummary
PL/SQL (extensión en lenguaje procedural al lenguaje estructurado de búsqueda, por sus siglas en inglés) es un lenguaje híbrido desarrollado en Oracle® para combinar las capacidades de los lenguajes de búsqueda con el enfoque procedimental para el desarrollo de aplicaciones. Algunos autores estudian la generación automática de código fuente a partir de modelos para mejorar el proceso de desarrollo de software. En algunas propuestas se genera código SQL a partir de diagramas como entidad relación y esquemas preconceptuales. En otras propuestas de ingeniería inversa se generan productos de trabajo como los grafos de flujo de datos y los modelos de arquitectura a partir de código SQL y PL/SQL. En relación con el código PL/SQL, en una propuesta se genera código PL/SQL a partir de OCL (lenguaje de restricción de objetos, por sus siglas en inglés). Finalmente, en algunas propuestas se representan gráficamente características relacionadas con elementos del código PL/SQL, como eventos, pero sin propuestas de traducción a ese lenguaje. Las propuestas mencionadas aún excluyen las posibles estructuras del lenguaje procedimental que se incluye en PL/SQL. Igualmente, las propuestas de ingeniería inversa tienen modelos poco claros para los interesados y una de las propuestas comienza la traducción desde OCL, un lenguaje adecuado para comunicación técnica sin la mediación de modelos. Por estas razones, en esta Tesis de Maestría se propone la generación semiautomática de código PL/SQL a partir de eventos basados en esquemas preconceptuales. Se espera mejorar los contenidos del código PL/SQL generado por medio de la definición de reglas para mantener la consistencia entre los modelos y el código. Esta propuesta se valida con un caso de estudio basado en esquemas que describen la formulación real de un proceso químico.Summary
Abstract: PL/SQL (Procedure Language extension to Structured Query Language) is a hybrid language developed by Oracle® for combining the capabilities of query languages with the procedural approach for developing applications. Automated code generation from models has been a topic covered by some authors for improving the software development process. We can find proposals for generating SQL code from diagrams like entity-relationship and pre-conceptual schemas. We can also find reverse engineering proposals for generating work products like data flow graphs and architecture models from SQL and PL/SQL code. Related to PL/SQL code, we can find a proposal for generating PL/SQL code from OCL (Object Constraint Language). Finally, we can find some graphical representations of features related to elements of the PL/SQL code, e.g. events, but no translation is still proposed. The aforementioned proposals fail in generating all the possible structures of the procedure language provided by PL/SQL. In addition, reverse engineering proposals reveal unclear models for stakeholders and one proposal starts the translation from OCL, a language intended for technical communication with no mediation of models. For this reason, in this M.Sc. Thesis we propose the semi-automated generation of PL/SQL code from event representation based on pre-conceptual schemas. We aim to improve the contents of the generated PL/SQL code by defining rules intended to keep consistency among the models and the code. We validate our proposal with a case study based on schemas describing actual formulae from a chemical process.Keywords
Collections
