dc.contributor | Zapata-Jaramillo, Carlos Mario | |
dc.contributor | Lenguajes Computacionales | |
dc.creator | Mosquera Tobón, Jose David | |
dc.date.accessioned | 2022-03-14T16:51:07Z | |
dc.date.available | 2022-03-14T16:51:07Z | |
dc.date.created | 2022-03-14T16:51:07Z | |
dc.date.issued | 2021-12 | |
dc.identifier | https://repositorio.unal.edu.co/handle/unal/81204 | |
dc.identifier | Universidad Nacional de Colombia | |
dc.identifier | Repositorio Institucional Universidad Nacional de Colombia | |
dc.identifier | https://repositorio.unal.edu.co/ | |
dc.description.abstract | Model 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. | |
dc.description.abstract | Los 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) | |
dc.language | eng | |
dc.publisher | Universidad Nacional de Colombia | |
dc.publisher | Medellín - Minas - Maestría en Ingeniería - Ingeniería de Sistemas | |
dc.publisher | Departamento de la Computación y la Decisión | |
dc.publisher | Facultad de Minas | |
dc.publisher | Medellín, Colombia | |
dc.publisher | Universidad Nacional de Colombia - Sede Medellín | |
dc.relation | Acerbis, 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. | |
dc.relation | Achilleos, 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. | |
dc.relation | Achilleos, 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. | |
dc.relation | Alur, D., Crupi, J., & Malks, D. (2001). Core J2EE Patterns: Best Practices and Design
Strategies (2nd). Hall Prentice, Upper Saddle River, USA. | |
dc.relation | Bernardi, 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. | |
dc.relation | Bernaschina, 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. | |
dc.relation | Bishop, J., & Horspool, N. (2006). Cross-Platform Development: Software that Lasts. Computer,
39 (10), 26{35. | |
dc.relation | Brambilla, 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. | |
dc.relation | Calle, 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. | |
dc.relation | Calle, 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. | |
dc.relation | Charkaoui, 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. | |
dc.relation | Chaverra, 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. | |
dc.relation | El-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. | |
dc.relation | Evers, 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. | |
dc.relation | Gamma, 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. | |
dc.relation | Gaouar, 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. | |
dc.relation | Gronli, 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. | |
dc.relation | Heitkotter, 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. | |
dc.relation | Heitk 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. | |
dc.relation | Heitkotter, 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. | |
dc.relation | Henao-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. | |
dc.relation | Inayatullah, 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. | |
dc.relation | Inostroza, 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. | |
dc.relation | Iscoe, N., Williams, G., & Arango, G. (1991). Domain modeling for software engineering.
13th International Conference on Software Engineering, Los Alamitos, USA, 340{343. | |
dc.relation | ISO:25010. (2015). System and software quality models (Standard). International Organization
for Standardization. | |
dc.relation | Jia, 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. | |
dc.relation | Jia, 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. | |
dc.relation | Jia, 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. | |
dc.relation | Jia, 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. | |
dc.relation | Jones, 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. | |
dc.relation | Jones, 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. | |
dc.relation | Jones, 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. | |
dc.relation | Kitchenham, B. (2007). Guidelines for performing Systematic Literature Reviews in Software
Engineering (tech. rep.). School of Computer Science and Mathematics, Keele
University. | |
dc.relation | Lachgar, 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. | |
dc.relation | Lachgar, M., & Abdali, A. (2017). Modeling and generating native code for cross-platform
mobile applications using DSL. Intelligent Automation & Soft Computing, 23 (3), 445{
458. | |
dc.relation | Lachgar, 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. | |
dc.relation | Le 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. | |
dc.relation | Majchrzak, 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. | |
dc.relation | Manjarré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. | |
dc.relation | Marin, 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. | |
dc.relation | Nguyen, 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. | |
dc.relation | Nuñ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. | |
dc.relation | Peffers, 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. | |
dc.relation | Ribeiro, 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. | |
dc.relation | Rieger, C. (2018). Interoperability of BPMN and MAML for Model-Driven Development of
Business Apps. BMSD: Business Modeling and Software Design, Cham, Switzerland,
144{166. | |
dc.relation | Rieger, C., & Kuchen, H. (2018). A process-oriented modeling approach for graphical development
of mobile business apps. Computer Languages, Systems & Structures, 53 (1),
43{58. | |
dc.relation | Rieger, 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. | |
dc.relation | Rieger, 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. | |
dc.relation | Roberto, 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, Switzerland | |
dc.relation | Rosales-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. | |
dc.relation | Salma, 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. | |
dc.relation | Sá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. | |
dc.relation | Sendall, S., & Kozaczynski, W. (2003). Model transformation: the heart and soul of modeldriven
software development. IEEE Software, 20 (5), 42{45. | |
dc.relation | Steiner, 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. | |
dc.relation | Tufail, 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. | |
dc.relation | Usman, 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. | |
dc.relation | Vaupel, 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. | |
dc.relation | Vin, 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. | |
dc.relation | Wieringa, R. (2014). Experimentation in Software Engineering (1st). Springer Publishing,
Manhattan, Nueva York, USA. | |
dc.relation | Wohlin, C., Runeson, P., Hst, M., Ohlsson, M. C., Regnell, B., & Wessln, A. (2012). Experimentation
in Software Engineering (1st). Springer Publishing, Manhattan, Nueva
York, USA. | |
dc.relation | Zapata, 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. | |
dc.relation | Zapata, 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. | |
dc.relation | Zapata, C. M. (2012). The UNC-Method revisited: elements of the new approach (1st). LAP
LAMBERT Academic Publishing, Sunnyvale, California, USA. | |
dc.relation | Zapata, 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. | |
dc.relation | Zapata, 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. | |
dc.relation | Zapata, 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. | |
dc.relation | Zapata-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. | |
dc.rights | Atribución-NoComercial 4.0 Internacional | |
dc.rights | http://creativecommons.org/licenses/by-nc/4.0/ | |
dc.rights | info:eu-repo/semantics/openAccess | |
dc.title | Model-driven development of cross-platform mobile applications by using a set of heuristic rules based on pre-conceptual schemas | |
dc.type | Trabajo de grado - Maestría | |