Model-driven development of cross-platform mobile applications by using a set of heuristic rules based on pre-conceptual schemas

dc.contributor.advisorZapata-Jaramillo, Carlos Mario
dc.contributor.authorMosquera Tobón, Jose David
dc.contributor.researchgroupLenguajes Computacionalesspa
dc.date.accessioned2022-03-14T16:51:07Z
dc.date.available2022-03-14T16:51:07Z
dc.date.issued2021-12
dc.descriptionilustraciones, diagramas, tablasspa
dc.description.abstractModel driven development (MDD) approaches aim for increasing development team productivity and decreasing software time-to-market. Such approaches comprise a set of model-to-model and model-to-text transformation rules for generating the source code based on models. Some authors propose MDD approaches for cross-platform mobile applications. So, we perform a systematic literature review looking for MDD approaches for cross-platform mobile applications, having as a result 39 primary studies grouped on 19 different MDD approaches. We observe 100.0 % approaches lack close-to-natural modeling languages, 36.8 % approaches lack design patterns, and 84.2 % lack usability features. In addition, 42.1 % approaches use out-of-date programming languages as automation result. Therefore, we propose an MDD approach for cross-platform mobile applications by using pre-conceptual schemas. Such schemas allow for guaranteeing a close-to-natural modeling language, including design patterns, and including usability features. Moreover, we complete the UN-LEND specification language as an intermediate model between pre-conceptual schemas and cross-platform mobile applications, avoiding the usage of out-of-date programming languages. Then, we design a pre-conceptual-schema-based metamodel in order to develop an MDD prototype based on the Eclipse Modeling Framework and XPAND. We propose a set of heuristic rules divided into model, view, and controller layers, having the pre-conceptual schema as a rule left-hand side, UN-LEND as an intermediate model, and Java-Android and Swift-iOS code as a rule right-hand side. We validate our approach by using a case of study about MobileSQUARE: an Android application for requirements gathering based on a question answering model. As a result, we automatically generate 90.86 % of the MobileSQUARE application by using our approach. Specifically, we observe model layer is close to be fully automated having 98.95 % as automation percentage compared to view and controller layers with 82.31 % and 84.56 % respectively. We expect researchers and software engineering practitioners increase their productivity and decrease software time-to-market based on our results. We identify some future work and challenges such as: including Programming eXperience heuristics in the resulting code (PX); allowing round-trip transformations between code, UN-LEND, and pre-conceptual schemas; including rules related to pre-conceptual schema vectors, matrices, and achievement relationships; improving controller and view layers related rules to increase the automation percentage; developing a compiler for UN-LEND models.eng
dc.description.abstractLos enfoques de desarrollo dirigidos por modelos (MDD) tienen como objetivo aumentar la productividad del equipo de desarrollo y reducir el tiempo de comercialización del software. Algunos autores proponen enfoques MDD para aplicaciones móviles multiplataforma. Por ello, se realiza una revisión sistemática de la literatura en busca de enfoques MDD para aplicaciones móviles multiplataforma, teniendo como resultado 39 estudios primarios agrupados en 19 enfoques MDD diferentes. Se observa que el 100,0 % de los enfoques carecen de lenguajes de modelado cercanos al natural, el 36,8 % de los enfoques carecen de patrones de diseño y el 84,2 % carecen de características de usabilidad. Además, el 42,1 % de los enfoques utilizan lenguajes de programación obsoletos como resultado de la automatización. Por lo tanto, se propone un enfoque MDD para aplicaciones móviles multiplataforma mediante el uso de esquemas preconceptuales. Estos esquemas permiten garantizar un lenguaje de modelado cercano al natural, incluir patrones de diseño e incluir características de usabilidad. Además, se completa el lenguaje de especificación UN-LEND como modelo intermedio entre los esquemas preconceptuales y las aplicaciones móviles multiplataforma, evitando el uso de lenguajes de programación desfasados. Luego, se diseña un metamodelo del esquema preconceptual para desarrollar un prototipo de MDD basado en el Eclipse Modeling Framework y XPAND. Se propone un conjunto de reglas heurísticas divididas en las capas modelo, vista, y controlador, teniendo al esquema preconceptual como el lado izquierdo de la regla, UN-LEND como modelo intermedio, y el código Android Java e iOS Swift como el lado derecho de la regla. Se valida este enfoque utilizando un caso de estudio sobre MobileSQUARE: una aplicación Android para la recopilación de requisitos basada en un modelo de respuesta a preguntas. Como resultado, se genera automáticamente el 90,86 % de la aplicación MobileS-QUARE utilizando las reglas propuestas. En concreto, se observa que la capa model está cerca de la automatización total teniendo un 98,95 % como porcentaje de automatización en comparación con las capas vista y controlador con un 82,31 % y 84,56 % respectivamente. Se espera que los investigadores y los profesionales de la ingeniería del software aumenten su productividad y reduzcan el tiempo de comercialización del software basándose en estos resultados. Como resultado de esta Tesis de Maestría, se identifican algunas propuestas y retos futuros como: incluir heurísticas de Experiencia del Programador (PX) en el código resultante; permitir las transformaciones de ida y vuelta entre código, UN-LEND y los esquemas preconceptuales; incluir reglas relacionadas con los vectores, la matrices y las relaciones de logro de los esquemas preconceptuales; y desarrollar un compilador para los modelos UN-LEND. (Texto tomado de la fuente)spa
dc.description.curricularareaÁrea Curricular de Ingeniería de Sistemas e Informáticaspa
dc.description.degreelevelMaestríaspa
dc.description.degreenameMagister en Ingeniería - Ingeniería de Sistemasspa
dc.description.researchareaSoftware engineeringspa
dc.format.extentxv, 122 páginasspa
dc.format.mimetypeapplication/pdfspa
dc.identifier.instnameUniversidad Nacional de Colombiaspa
dc.identifier.reponameRepositorio Institucional Universidad Nacional de Colombiaspa
dc.identifier.repourlhttps://repositorio.unal.edu.co/spa
dc.identifier.urihttps://repositorio.unal.edu.co/handle/unal/81204
dc.language.isoengspa
dc.publisherUniversidad Nacional de Colombiaspa
dc.publisher.branchUniversidad Nacional de Colombia - Sede Medellínspa
dc.publisher.departmentDepartamento de la Computación y la Decisiónspa
dc.publisher.facultyFacultad de Minasspa
dc.publisher.placeMedellín, Colombiaspa
dc.publisher.programMedellín - Minas - Maestría en Ingeniería - Ingeniería de Sistemasspa
dc.relation.referencesAcerbis, R., Bongio, A., Brambilla, M., & Butti, S. (2015). Model-Driven Development of Cross-Platform Mobile Applications with Web Ratio and IFML. 2nd ACM International Conference on Mobile Software Engineering and Systems, Florence, Italy, 170{ 171.spa
dc.relation.referencesAchilleos, A., Kapitsaki, G. M., & Papadopoulos, G. A. (2012). A model-driven framework for developing web service oriented applications. ICWE: Current Trends in Web Engineering, Berlin, Germany, 181{195.spa
dc.relation.referencesAchilleos, A., Paspallis, N., & Papadopoulos, G. A. (2011). Automating the development of device-aware Web Services: A model-driven approach. IEEE 35th Annual Computer Software and Applications Conference, Munich, Germany, 535{540.spa
dc.relation.referencesAlur, D., Crupi, J., & Malks, D. (2001). Core J2EE Patterns: Best Practices and Design Strategies (2nd). Hall Prentice, Upper Saddle River, USA.spa
dc.relation.referencesBernardi, M. L., & Cimitile, M. (2012). Model driven development of cross-platform mobile applications. The 11th IASTED International Conference on Software Engineering, Crete, Greece, 1{7.spa
dc.relation.referencesBernaschina, C., Comai, S., & Fraternali, P. (2018). Formal semantics of OMG's Interaction Flow Modeling Language (IFML) for mobile and rich-client application model driven development. Journal of Systems and Software, 137 (1), 239{260.spa
dc.relation.referencesBishop, J., & Horspool, N. (2006). Cross-Platform Development: Software that Lasts. Computer, 39 (10), 26{35.spa
dc.relation.referencesBrambilla, M., Mauri, A., & Umuhoza, E. (2014). Extending the Interaction Flow Modeling Language (IFML) for model driven development of mobile applications front end. MobiWIS: Mobile Web Information Systems, Cham, Switzerland, 176{191.spa
dc.relation.referencesCalle, J. M. (2016). Identi caci on de patrones de dise~no para software cient co a partir de esquemas preconceptuales (M.Sc. Thesis). Universidad Nacional de Colombia sede Medell n.spa
dc.relation.referencesCalle, J. M. (2021). A question answering model for eliciting requirements in the context of software development (PhD Thesis). In press. Universidad Nacional de Colombia sede Medellín.spa
dc.relation.referencesCharkaoui, S., Ben Lahmar, E., Marzak, A., & Abdelbaki, I. (2016). Cross-platform mobile development based on MDA approach. International Journal of Interactive Mobile Technologies, 10 (4), 18{25.spa
dc.relation.referencesChaverra, J. J. (2011). Generación automática de prototipos funcionales a partir de esquemas preconceptuales (M.Sc. Thesis). Universidad Nacional de Colombia sede Medellín.spa
dc.relation.referencesEl-Kassas, W. S., Abdullah, B. A., Yousef, A. H., & Wahba, A. M. (2017). Taxonomy of Cross-Platform Mobile Applications Development Approaches. Ain Shams Engineering Journal, 8 (2), 163{190.spa
dc.relation.referencesEvers, S., Ernsting, J., & Majchrzak, T. A. (2016). Towards a Reference Architecture for Model-Driven Business Apps. 49th Hawaii International Conference on System Sciences (HICSS), Koloa, USA, 5731{5740.spa
dc.relation.referencesGamma, E., Helm, R., Johnson, R., & Vlissides, J. (1995). Design Patterns: Elements of Reusable Object-Oriented Software (1st). Addison-Wesley Longman Publishing Co., Inc., Reading, Massachusetts, USA.spa
dc.relation.referencesGaouar, L., Benamar, A., & Bendimerad, F. T. (2015). Model Driven Approaches to Cross Platform Mobile Development. IPAC'15: International Conference on Intelligent Information Processing, Security and Advanced Communication, Batna, Algeria, 1{5.spa
dc.relation.referencesGronli, T. M., Hansen, J., Ghinea, G., & Younas, M. (2014). Mobile Application Platform Heterogeneity: Android vs Windows Phone vs iOS vs Firefox OS. 28th International Conference on Advanced Information Networking and Applications, Victoria, Canada, 635{641.spa
dc.relation.referencesHeitkotter, H., Kuchen, H., & Majchrzak, T. A. (2015). Extending a model-driven crossplatform development approach for business apps. Science of Computer Programming, 97 (1), 31{36.spa
dc.relation.referencesHeitk otter, H., & Majchrzak, T. A. (2013a). Cross-Platform Development of Business Apps with MD2. DESRIST: Design Science at the Intersection of Physical and Virtual Design, Berlin, Germany, 405{411.spa
dc.relation.referencesHeitkotter, H., & Majchrzak, T. A. (2013b). Cross-platform development of business apps with MD2. DESRIST: Design Science at the Intersection of Physical and Virtual Design, Berlin, Germany, 405{411.spa
dc.relation.referencesHenao-Roqueme, A. d. J. (2018). Towards a theory for de fining a project management multidisciplinary kernel: An approach based on Abstract Level Progress Health Attributes (M.Sc. Thesis). Universidad Nacional de Colombia sede Medellín.spa
dc.relation.referencesInayatullah, M., Azam, F., & Anwar, M. W. (2019). Model-Based Scaffolding Code Generation for Cross-Platform Applications. IEEE 10th Annual Information Technology, Electronics and Mobile Communication Conference (IEMCON), Vancouver, Canada, 1006{1012.spa
dc.relation.referencesInostroza, R., Rusu, C., Roncagliolo, S., Rusu, V., & Collazos, C. A. (2016). Developing SMASH: A set of SMArtphone's uSability Heuristics. Computer Standards & Interfaces, 43, 40{52.spa
dc.relation.referencesIscoe, N., Williams, G., & Arango, G. (1991). Domain modeling for software engineering. 13th International Conference on Software Engineering, Los Alamitos, USA, 340{343.spa
dc.relation.referencesISO:25010. (2015). System and software quality models (Standard). International Organization for Standardization.spa
dc.relation.referencesJia, X., & Jones, C. (2012). AXIOM: A model-driven approach to cross-platform application development. 7th International Conference on Software Paradigm Trends, Rome, Italy, 24{33.spa
dc.relation.referencesJia, X., & Jones, C. (2013). Cross-Platform Application Development Using AXIOM as an Agile Model-Driven Approach. ICSOFT: Software and Data Technologies, Berlin, Germany, 36{51.spa
dc.relation.referencesJia, X., & Jones, C. (2015a). An approach for the automatic adaptation of domain-speci c modeling languages for model-driven mobile application development. ICSOFT: Software Technologies, Cham, Switzerland, 365{379.spa
dc.relation.referencesJia, X., & Jones, C. (2015b). Design of adaptive domain-speci c modeling languages for model-driven mobile application development. 10th International Joint Conference on Software Technologies, Colmar, France, 1{6.spa
dc.relation.referencesJones, C., & Jia, X. (2014). The AXIOM model framework: Transforming requirements to native code for cross-platform mobile applications. 9th International Conference on Evaluation of Novel Approaches to Software Engineering, Lisbon, Portugal, 26{37.spa
dc.relation.referencesJones, C., & Jia, X. (2015). Using a Domain Speci c Language for Lightweight Model- Driven Development. ENASE: Evaluation of Novel Approaches to Software Engineering, Cham, Switzerland, 46{62.spa
dc.relation.referencesJones, C., & Jia, X. (2016). An empirical evaluation of AXIOM as an approach to crossplatform mobile application development. 11th International Joint Conference on Software Technologies, Lisbon, Portugal, 264{271.spa
dc.relation.referencesKitchenham, B. (2007). Guidelines for performing Systematic Literature Reviews in Software Engineering (tech. rep.). School of Computer Science and Mathematics, Keele University.spa
dc.relation.referencesLachgar, M., & Abdali, A. (2015). Modeling and generating the user interface of mobile devices and web development with DSL. Journal of Theoretical and Applied Information Technology, 72 (1), 124{132.spa
dc.relation.referencesLachgar, M., & Abdali, A. (2017). Modeling and generating native code for cross-platform mobile applications using DSL. Intelligent Automation & Soft Computing, 23 (3), 445{ 458.spa
dc.relation.referencesLachgar, M., Lamhaddab, K., Abdali, A., & Elbaamrani, K. (2019). Pragmatic approach to modeling and generating mobile cross-platform applications. Journal of Computer Science, 15 (3), 416{434.spa
dc.relation.referencesLe Goaer, O., & Waltham, S. (2013). Yet another DSL for cross-platforms mobile development. First Workshop on the Globalization of Domain Speci c Languages, Montpellier, France, 28{33.spa
dc.relation.referencesMajchrzak, T. A., Ernsting, J., & Kuchen, H. (2015). Model-Driven cross-platform apps: Towards business practicability. Open Journal of Information Systems (OJIS), 2 (2), 3{14.spa
dc.relation.referencesManjarrés, R. A. (2010). Generación de la especi cación declarativa a partir de la especificación gráfi ca de un metamodelo (M.Sc. Thesis). Universidad Nacional de Colombia sede Medellín.spa
dc.relation.referencesMarin, I., Ortin, F., Pedrosa, G., & Rodriguez, J. (2015). Generating native user interfaces for multiple devices by means of model transformation. Frontiers of Information Technology & Electronic Engineering, 16 (1), 995{1017.spa
dc.relation.referencesNguyen, V. T., Tran, M. T., & Duong, A. D. (2014). Picture-Driven User Interface Development for Applications on Multi-platforms. HCI 2014: Human-Computer Interaction. Theories, Methods, and Tools, Cham, Switzerland, 350{360.spa
dc.relation.referencesNuñez, M., Bonhaure, D., Gonz alez, M., & Cernuzzi, L. (2020). A model-driven approach for the development of native mobile applications focusing on the data layer. Journal of Systems and Software, 161 (1), 1{33.spa
dc.relation.referencesPeffers, K., Tuunanen, T., Rothenberger, M. A., & Chatterjee, S. (2007). A Design Science Research Methodology for Information Systems Research. Journal of Management Information Systems, 24 (3), 45{77.spa
dc.relation.referencesRibeiro, A., & Da Silva, A. R. (2012). Survey on Cross-Platforms and Languages for Mobile Apps. Eighth International Conference on the Quality of Information and Communications Technology, Lisbon, Portugal, 255{260.spa
dc.relation.referencesRieger, C. (2018). Interoperability of BPMN and MAML for Model-Driven Development of Business Apps. BMSD: Business Modeling and Software Design, Cham, Switzerland, 144{166.spa
dc.relation.referencesRieger, C., & Kuchen, H. (2018). A process-oriented modeling approach for graphical development of mobile business apps. Computer Languages, Systems & Structures, 53 (1), 43{58.spa
dc.relation.referencesRieger, C., & Kuchen, H. (2019). Towards Pluri-Platform Development: Evaluating a Graphical Model-Driven Approach to App Development Across Device Classes. Towards Integrated Web, Mobile, and IoT Technology, Cham, Switzerland, 36{66.spa
dc.relation.referencesRieger, C., Lucr edio, D., Fortes, R. P. M., Kuchen, H., DIas, F., & Duarte, L. (2020). A model-driven approach to cross-platform development of accessible business apps. 35th Annual ACM Symposium on Applied Computing, Brno, Czech Republic, 984{ 993.spa
dc.relation.referencesRoberto, A., Aldo, B., Marco, B., & Stefano, B. (2015). Model-Driven Development Based on OMG's IFML with WebRatio Web and Mobile Platform. ICWE: Engineering the Web in the Big Data Era, 605{608. Cham, Switzerlandspa
dc.relation.referencesRosales-Morales, V. Y., S anchez-Morales, L. N., Alor-Hern andez, G., Garcia-Alcaraz, J. L., Sánchez-Cervantes, J. L., & Rodriguez-Mazahua, L. (2020). ImagIngDev: A New Approach for Developing Automatic Cross-Platform Mobile Applications Using Image Processing Techniques. The Computer Journal, 63 (1), 732{757.spa
dc.relation.referencesSalma, C., Abdelaziz, M., Ben Lahma, E. H., & Issam, A. (2018). Cross-Platform Mobile Development Framework Based on MDA Approach. International Journal of Technology Di usion, 9 (1), 45{59.spa
dc.relation.referencesSánchez-Morales, L. N., Alor-Hernández, G., Rosales-Morales, V. Y., Cortes-Camarillo, C. A., & Sánchez-Cervantes, J. L. (2020). Generating educational mobile applications using UIDPs identi ed by artificial intelligence techniques. Computer Standards & Interfaces, 70 (1), 1{22.spa
dc.relation.referencesSendall, S., & Kozaczynski, W. (2003). Model transformation: the heart and soul of modeldriven software development. IEEE Software, 20 (5), 42{45.spa
dc.relation.referencesSteiner, D., T urlea, C., Culea, C., & Selinger, S. (2013). Model-Driven Development of Cloud-Connected Mobile Applications Using DSLs with Xtext. EUROCAST: Computer Aided Systems Theory, Berlin, Germany, 409{416.spa
dc.relation.referencesTufail, H., Azam, F., Anwar, M. W., & Qasim, I. (2019). Model-Driven Development of Mobile Applications: A Systematic Literature Review. 9th Annual Information Technology, Electronics and Mobile Communication Conference, Vancouver, Canada, 1165{ 1171.spa
dc.relation.referencesUsman, M., Iqbal, M. Z., & Khan, M. U. (2017). A product-line model-driven engineering approach for generating feature-based mobile applications. Journal of Systems and Software, 123 (1), 1{32.spa
dc.relation.referencesVaupel, S., Taentzer, G., Gerlach, R., & Guckert, M. (2018). Model-driven development of mobile applications for Android and iOS supporting role-based app variability. Software & Systems Modeling, 17 (1), 35{63.spa
dc.relation.referencesVin, M., Barbosa, F., & Carvalho, M. C. (2020). Educom.ml : A Modeling Approach for Mobile Educational Content. IEEE Frontiers in Education Conference (FIE), Uppsala, Sweden, 1{8.spa
dc.relation.referencesWieringa, R. (2014). Experimentation in Software Engineering (1st). Springer Publishing, Manhattan, Nueva York, USA.spa
dc.relation.referencesWohlin, C., Runeson, P., Hst, M., Ohlsson, M. C., Regnell, B., & Wessln, A. (2012). Experimentation in Software Engineering (1st). Springer Publishing, Manhattan, Nueva York, USA.spa
dc.relation.referencesZapata, C. M., Lezcano, L. A., & Tamayo, P. A. (2011). Preconceptual-schema-based representation of KAOS goal diagram. 6th Colombian Computing Congress, Manizales, Colombia, 1{6.spa
dc.relation.referencesZapata, C. M. (2007). Definición de un esquema preconceptual para la obtención automática de esquemas conceptuales de UML (PhD Thesis). Universidad Nacional de Colombia sede Medellín.spa
dc.relation.referencesZapata, C. M. (2012). The UNC-Method revisited: elements of the new approach (1st). LAP LAMBERT Academic Publishing, Sunnyvale, California, USA.spa
dc.relation.referencesZapata, C. M., & Arango, F. (2004). UN-LEND: Un lenguaje para la especi cación de modelos de UN-MetaCASE. Avances en Sistemas e Informática, 1 (2), 7{19.spa
dc.relation.referencesZapata, C. M., Arango, F., & Gelbukh, A. (2006). Pre-conceptual Schema: a UML Isomorphism for Automatically Obtaining UML Conceptual Schemas. Research in Computing Science: Advances in Computer Science and Engineering, 19, 3{13.spa
dc.relation.referencesZapata, C. M., Chaverra, J. J., & Zapata, B. (2010). Generación Automática de Código a Partir del Lenguaje Controlado UN-Lencep. Sistemas, Cibernética e Informática, 7 (1), 1{5.spa
dc.relation.referencesZapata-Tamayo, S. (2019). Generación Semiautomática de Código PL/SQL a partir de Representaciones de Eventos Basadas en Esquemas Preconceptuales (M.Sc. Thesis). Universidad Nacional de Colombia sede Medellín.spa
dc.rights.accessrightsinfo:eu-repo/semantics/openAccessspa
dc.rights.licenseAtribución-NoComercial 4.0 Internacionalspa
dc.rights.urihttp://creativecommons.org/licenses/by-nc/4.0/spa
dc.subject.ddc000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computaciónspa
dc.subject.ddc000 - Ciencias de la computación, información y obras generales::003 - Sistemasspa
dc.subject.proposalModel-driven developmenteng
dc.subject.proposalPre-conceptual schemaseng
dc.subject.proposalCross-platform mobile applicationseng
dc.subject.proposalHeuristic ruleseng
dc.subject.proposalDesarrollo dirigido por modelosspa
dc.subject.proposalEsquemas preconceptualesspa
dc.subject.proposalAplicaciones móviles multiplataformaspa
dc.subject.proposalReglas heurísticasspa
dc.subject.proposalAndroideng
dc.subject.proposaliOSeng
dc.titleModel-driven development of cross-platform mobile applications by using a set of heuristic rules based on pre-conceptual schemaseng
dc.title.translatedDesarrollo dirigido por modelos de aplicaciones móviles multiplataforma a partir de un conjunto de reglas heurísticas basadas en esquemas preconceptualesspa
dc.typeTrabajo de grado - Maestríaspa
dc.type.coarhttp://purl.org/coar/resource_type/c_bdccspa
dc.type.coarversionhttp://purl.org/coar/version/c_ab4af688f83e57aaspa
dc.type.contentTextspa
dc.type.driverinfo:eu-repo/semantics/masterThesisspa
dc.type.redcolhttp://purl.org/redcol/resource_type/TMspa
dc.type.versioninfo:eu-repo/semantics/acceptedVersionspa
dcterms.audience.professionaldevelopmentInvestigadoresspa
oaire.accessrightshttp://purl.org/coar/access_right/c_abf2spa

Archivos

Bloque original

Mostrando 1 - 1 de 1
Cargando...
Miniatura
Nombre:
1020484751.2021.pdf
Tamaño:
55.2 MB
Formato:
Adobe Portable Document Format
Descripción:
Tesis de Maestría en Ingeniería - Ingeniería de Sistemas

Bloque de licencias

Mostrando 1 - 1 de 1
No hay miniatura disponible
Nombre:
license.txt
Tamaño:
3.98 KB
Formato:
Item-specific license agreed upon to submission
Descripción: