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

ilustraciones, diagramas, tablas

Autores:
Mosquera Tobón, Jose David
Tipo de recurso:
Fecha de publicación:
2021
Institución:
Universidad Nacional de Colombia
Repositorio:
Universidad Nacional de Colombia
Idioma:
eng
OAI Identifier:
oai:repositorio.unal.edu.co:unal/81204
Acceso en línea:
https://repositorio.unal.edu.co/handle/unal/81204
https://repositorio.unal.edu.co/
Palabra clave:
000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computación
000 - Ciencias de la computación, información y obras generales::003 - Sistemas
Model-driven development
Pre-conceptual schemas
Cross-platform mobile applications
Heuristic rules
Android
iOS
Desarrollo dirigido por modelos
Esquemas preconceptuales
Aplicaciones móviles multiplataforma
Reglas heurísticas
Rights
openAccess
License
Atribución-NoComercial 4.0 Internacional
id UNACIONAL2_a763b8a81228c5b8f9850ace5677968e
oai_identifier_str oai:repositorio.unal.edu.co:unal/81204
network_acronym_str UNACIONAL2
network_name_str Universidad Nacional de Colombia
repository_id_str
dc.title.eng.fl_str_mv Model-driven development of cross-platform mobile applications by using a set of heuristic rules based on pre-conceptual schemas
dc.title.translated.spa.fl_str_mv Desarrollo dirigido por modelos de aplicaciones móviles multiplataforma a partir de un conjunto de reglas heurísticas basadas en esquemas preconceptuales
title Model-driven development of cross-platform mobile applications by using a set of heuristic rules based on pre-conceptual schemas
spellingShingle Model-driven development of cross-platform mobile applications by using a set of heuristic rules based on pre-conceptual schemas
000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computación
000 - Ciencias de la computación, información y obras generales::003 - Sistemas
Model-driven development
Pre-conceptual schemas
Cross-platform mobile applications
Heuristic rules
Android
iOS
Desarrollo dirigido por modelos
Esquemas preconceptuales
Aplicaciones móviles multiplataforma
Reglas heurísticas
title_short Model-driven development of cross-platform mobile applications by using a set of heuristic rules based on pre-conceptual schemas
title_full Model-driven development of cross-platform mobile applications by using a set of heuristic rules based on pre-conceptual schemas
title_fullStr Model-driven development of cross-platform mobile applications by using a set of heuristic rules based on pre-conceptual schemas
title_full_unstemmed Model-driven development of cross-platform mobile applications by using a set of heuristic rules based on pre-conceptual schemas
title_sort Model-driven development of cross-platform mobile applications by using a set of heuristic rules based on pre-conceptual schemas
dc.creator.fl_str_mv Mosquera Tobón, Jose David
dc.contributor.advisor.none.fl_str_mv Zapata-Jaramillo, Carlos Mario
dc.contributor.author.none.fl_str_mv Mosquera Tobón, Jose David
dc.contributor.researchgroup.spa.fl_str_mv Lenguajes Computacionales
dc.subject.ddc.spa.fl_str_mv 000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computación
000 - Ciencias de la computación, información y obras generales::003 - Sistemas
topic 000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computación
000 - Ciencias de la computación, información y obras generales::003 - Sistemas
Model-driven development
Pre-conceptual schemas
Cross-platform mobile applications
Heuristic rules
Android
iOS
Desarrollo dirigido por modelos
Esquemas preconceptuales
Aplicaciones móviles multiplataforma
Reglas heurísticas
dc.subject.proposal.eng.fl_str_mv Model-driven development
Pre-conceptual schemas
Cross-platform mobile applications
Heuristic rules
Android
iOS
dc.subject.proposal.spa.fl_str_mv Desarrollo dirigido por modelos
Esquemas preconceptuales
Aplicaciones móviles multiplataforma
Reglas heurísticas
description ilustraciones, diagramas, tablas
publishDate 2021
dc.date.issued.none.fl_str_mv 2021-12
dc.date.accessioned.none.fl_str_mv 2022-03-14T16:51:07Z
dc.date.available.none.fl_str_mv 2022-03-14T16:51:07Z
dc.type.spa.fl_str_mv Trabajo de grado - Maestría
dc.type.driver.spa.fl_str_mv info:eu-repo/semantics/masterThesis
dc.type.version.spa.fl_str_mv info:eu-repo/semantics/acceptedVersion
dc.type.content.spa.fl_str_mv Text
dc.type.redcol.spa.fl_str_mv http://purl.org/redcol/resource_type/TM
status_str acceptedVersion
dc.identifier.uri.none.fl_str_mv https://repositorio.unal.edu.co/handle/unal/81204
dc.identifier.instname.spa.fl_str_mv Universidad Nacional de Colombia
dc.identifier.reponame.spa.fl_str_mv Repositorio Institucional Universidad Nacional de Colombia
dc.identifier.repourl.spa.fl_str_mv https://repositorio.unal.edu.co/
url https://repositorio.unal.edu.co/handle/unal/81204
https://repositorio.unal.edu.co/
identifier_str_mv Universidad Nacional de Colombia
Repositorio Institucional Universidad Nacional de Colombia
dc.language.iso.spa.fl_str_mv eng
language eng
dc.relation.references.spa.fl_str_mv 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.
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.
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.
Alur, D., Crupi, J., & Malks, D. (2001). Core J2EE Patterns: Best Practices and Design Strategies (2nd). Hall Prentice, Upper Saddle River, USA.
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.
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.
Bishop, J., & Horspool, N. (2006). Cross-Platform Development: Software that Lasts. Computer, 39 (10), 26{35.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Iscoe, N., Williams, G., & Arango, G. (1991). Domain modeling for software engineering. 13th International Conference on Software Engineering, Los Alamitos, USA, 340{343.
ISO:25010. (2015). System and software quality models (Standard). International Organization for Standardization.
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.
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.
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.
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.
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.
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.
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.
Kitchenham, B. (2007). Guidelines for performing Systematic Literature Reviews in Software Engineering (tech. rep.). School of Computer Science and Mathematics, Keele University.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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.
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.
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.
Sendall, S., & Kozaczynski, W. (2003). Model transformation: the heart and soul of modeldriven software development. IEEE Software, 20 (5), 42{45.
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.
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.
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.
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.
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.
Wieringa, R. (2014). Experimentation in Software Engineering (1st). Springer Publishing, Manhattan, Nueva York, USA.
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.
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.
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.
Zapata, C. M. (2012). The UNC-Method revisited: elements of the new approach (1st). LAP LAMBERT Academic Publishing, Sunnyvale, California, USA.
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.
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.
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.
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.coar.fl_str_mv http://purl.org/coar/access_right/c_abf2
dc.rights.license.spa.fl_str_mv Atribución-NoComercial 4.0 Internacional
dc.rights.uri.spa.fl_str_mv http://creativecommons.org/licenses/by-nc/4.0/
dc.rights.accessrights.spa.fl_str_mv info:eu-repo/semantics/openAccess
rights_invalid_str_mv Atribución-NoComercial 4.0 Internacional
http://creativecommons.org/licenses/by-nc/4.0/
http://purl.org/coar/access_right/c_abf2
eu_rights_str_mv openAccess
dc.format.extent.spa.fl_str_mv xv, 122 páginas
dc.format.mimetype.spa.fl_str_mv application/pdf
dc.publisher.spa.fl_str_mv Universidad Nacional de Colombia
dc.publisher.program.spa.fl_str_mv Medellín - Minas - Maestría en Ingeniería - Ingeniería de Sistemas
dc.publisher.department.spa.fl_str_mv Departamento de la Computación y la Decisión
dc.publisher.faculty.spa.fl_str_mv Facultad de Minas
dc.publisher.place.spa.fl_str_mv Medellín, Colombia
dc.publisher.branch.spa.fl_str_mv Universidad Nacional de Colombia - Sede Medellín
institution Universidad Nacional de Colombia
bitstream.url.fl_str_mv https://repositorio.unal.edu.co/bitstream/unal/81204/3/1020484751.2021.pdf
https://repositorio.unal.edu.co/bitstream/unal/81204/2/license.txt
https://repositorio.unal.edu.co/bitstream/unal/81204/4/1020484751.2021.pdf.jpg
bitstream.checksum.fl_str_mv df07b06aac729ad2f732da404134bfc8
8153f7789df02f0a4c9e079953658ab2
1fce0ce9294f7719df13cd4e6e7ce28a
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositorio Institucional Universidad Nacional de Colombia
repository.mail.fl_str_mv repositorio_nal@unal.edu.co
_version_ 1806886099607355392
spelling Atribución-NoComercial 4.0 Internacionalhttp://creativecommons.org/licenses/by-nc/4.0/info:eu-repo/semantics/openAccesshttp://purl.org/coar/access_right/c_abf2Zapata-Jaramillo, Carlos Mariodd277507a63e09d39f448200aa91ac00600Mosquera Tobón, Jose Davidfbc77a90d1b9d075e17bbcb581fd43beLenguajes Computacionales2022-03-14T16:51:07Z2022-03-14T16:51:07Z2021-12https://repositorio.unal.edu.co/handle/unal/81204Universidad Nacional de ColombiaRepositorio Institucional Universidad Nacional de Colombiahttps://repositorio.unal.edu.co/ilustraciones, diagramas, tablasModel 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.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)MaestríaMagister en Ingeniería - Ingeniería de SistemasSoftware engineeringÁrea Curricular de Ingeniería de Sistemas e Informáticaxv, 122 páginasapplication/pdfengUniversidad Nacional de ColombiaMedellín - Minas - Maestría en Ingeniería - Ingeniería de SistemasDepartamento de la Computación y la DecisiónFacultad de MinasMedellín, ColombiaUniversidad Nacional de Colombia - Sede Medellín000 - Ciencias de la computación, información y obras generales::005 - Programación, programas, datos de computación000 - Ciencias de la computación, información y obras generales::003 - SistemasModel-driven developmentPre-conceptual schemasCross-platform mobile applicationsHeuristic rulesAndroidiOSDesarrollo dirigido por modelosEsquemas preconceptualesAplicaciones móviles multiplataformaReglas heurísticasModel-driven development of cross-platform mobile applications by using a set of heuristic rules based on pre-conceptual schemasDesarrollo dirigido por modelos de aplicaciones móviles multiplataforma a partir de un conjunto de reglas heurísticas basadas en esquemas preconceptualesTrabajo de grado - Maestríainfo:eu-repo/semantics/masterThesisinfo:eu-repo/semantics/acceptedVersionTexthttp://purl.org/redcol/resource_type/TMAcerbis, 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.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.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.Alur, D., Crupi, J., & Malks, D. (2001). Core J2EE Patterns: Best Practices and Design Strategies (2nd). Hall Prentice, Upper Saddle River, USA.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.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.Bishop, J., & Horspool, N. (2006). Cross-Platform Development: Software that Lasts. Computer, 39 (10), 26{35.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.Iscoe, N., Williams, G., & Arango, G. (1991). Domain modeling for software engineering. 13th International Conference on Software Engineering, Los Alamitos, USA, 340{343.ISO:25010. (2015). System and software quality models (Standard). International Organization for Standardization.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.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.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.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.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.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.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.Kitchenham, B. (2007). Guidelines for performing Systematic Literature Reviews in Software Engineering (tech. rep.). School of Computer Science and Mathematics, Keele University.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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.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, SwitzerlandRosales-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.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.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.Sendall, S., & Kozaczynski, W. (2003). Model transformation: the heart and soul of modeldriven software development. IEEE Software, 20 (5), 42{45.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.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.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.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.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.Wieringa, R. (2014). Experimentation in Software Engineering (1st). Springer Publishing, Manhattan, Nueva York, USA.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.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.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.Zapata, C. M. (2012). The UNC-Method revisited: elements of the new approach (1st). LAP LAMBERT Academic Publishing, Sunnyvale, California, USA.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.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.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.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.InvestigadoresORIGINAL1020484751.2021.pdf1020484751.2021.pdfTesis de Maestría en Ingeniería - Ingeniería de Sistemasapplication/pdf57883112https://repositorio.unal.edu.co/bitstream/unal/81204/3/1020484751.2021.pdfdf07b06aac729ad2f732da404134bfc8MD53LICENSElicense.txtlicense.txttext/plain; charset=utf-84074https://repositorio.unal.edu.co/bitstream/unal/81204/2/license.txt8153f7789df02f0a4c9e079953658ab2MD52THUMBNAIL1020484751.2021.pdf.jpg1020484751.2021.pdf.jpgGenerated Thumbnailimage/jpeg4977https://repositorio.unal.edu.co/bitstream/unal/81204/4/1020484751.2021.pdf.jpg1fce0ce9294f7719df13cd4e6e7ce28aMD54unal/81204oai:repositorio.unal.edu.co:unal/812042023-10-06 14:59:31.87Repositorio Institucional Universidad Nacional de Colombiarepositorio_nal@unal.edu.coUExBTlRJTExBIERFUMOTU0lUTwoKQ29tbyBlZGl0b3IgZGUgZXN0ZSDDrXRlbSwgdXN0ZWQgcHVlZGUgbW92ZXJsbyBhIHJldmlzacOzbiBzaW4gYW50ZXMgcmVzb2x2ZXIgbG9zIHByb2JsZW1hcyBpZGVudGlmaWNhZG9zLCBkZSBsbyBjb250cmFyaW8sIGhhZ2EgY2xpYyBlbiBHdWFyZGFyIHBhcmEgZ3VhcmRhciBlbCDDrXRlbSB5IHNvbHVjaW9uYXIgZXN0b3MgcHJvYmxlbWFzIG1hcyB0YXJkZS4KClBhcmEgdHJhYmFqb3MgZGVwb3NpdGFkb3MgcG9yIHN1IHByb3BpbyBhdXRvcjoKIApBbCBhdXRvYXJjaGl2YXIgZXN0ZSBncnVwbyBkZSBhcmNoaXZvcyBkaWdpdGFsZXMgeSBzdXMgbWV0YWRhdG9zLCB5byBnYXJhbnRpem8gYWwgUmVwb3NpdG9yaW8gSW5zdGl0dWNpb25hbCBVbmFsIGVsIGRlcmVjaG8gYSBhbG1hY2VuYXJsb3MgeSBtYW50ZW5lcmxvcyBkaXNwb25pYmxlcyBlbiBsw61uZWEgZGUgbWFuZXJhIGdyYXR1aXRhLiBEZWNsYXJvIHF1ZSBsYSBvYnJhIGVzIGRlIG1pIHByb3BpZWRhZCBpbnRlbGVjdHVhbCB5IHF1ZSBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIFVuYWwgbm8gYXN1bWUgbmluZ3VuYSByZXNwb25zYWJpbGlkYWQgc2kgaGF5IGFsZ3VuYSB2aW9sYWNpw7NuIGEgbG9zIGRlcmVjaG9zIGRlIGF1dG9yIGFsIGRpc3RyaWJ1aXIgZXN0b3MgYXJjaGl2b3MgeSBtZXRhZGF0b3MuIChTZSByZWNvbWllbmRhIGEgdG9kb3MgbG9zIGF1dG9yZXMgYSBpbmRpY2FyIHN1cyBkZXJlY2hvcyBkZSBhdXRvciBlbiBsYSBww6FnaW5hIGRlIHTDrXR1bG8gZGUgc3UgZG9jdW1lbnRvLikgRGUgbGEgbWlzbWEgbWFuZXJhLCBhY2VwdG8gbG9zIHTDqXJtaW5vcyBkZSBsYSBzaWd1aWVudGUgbGljZW5jaWE6IExvcyBhdXRvcmVzIG8gdGl0dWxhcmVzIGRlbCBkZXJlY2hvIGRlIGF1dG9yIGRlbCBwcmVzZW50ZSBkb2N1bWVudG8gY29uZmllcmVuIGEgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgdW5hIGxpY2VuY2lhIG5vIGV4Y2x1c2l2YSwgbGltaXRhZGEgeSBncmF0dWl0YSBzb2JyZSBsYSBvYnJhIHF1ZSBzZSBpbnRlZ3JhIGVuIGVsIFJlcG9zaXRvcmlvIEluc3RpdHVjaW9uYWwsIHF1ZSBzZSBhanVzdGEgYSBsYXMgc2lndWllbnRlcyBjYXJhY3RlcsOtc3RpY2FzOiBhKSBFc3RhcsOhIHZpZ2VudGUgYSBwYXJ0aXIgZGUgbGEgZmVjaGEgZW4gcXVlIHNlIGluY2x1eWUgZW4gZWwgcmVwb3NpdG9yaW8sIHF1ZSBzZXLDoW4gcHJvcnJvZ2FibGVzIGluZGVmaW5pZGFtZW50ZSBwb3IgZWwgdGllbXBvIHF1ZSBkdXJlIGVsIGRlcmVjaG8gcGF0cmltb25pYWwgZGVsIGF1dG9yLiBFbCBhdXRvciBwb2Ryw6EgZGFyIHBvciB0ZXJtaW5hZGEgbGEgbGljZW5jaWEgc29saWNpdMOhbmRvbG8gYSBsYSBVbml2ZXJzaWRhZC4gYikgTG9zIGF1dG9yZXMgYXV0b3JpemFuIGEgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgcGFyYSBwdWJsaWNhciBsYSBvYnJhIGVuIGVsIGZvcm1hdG8gcXVlIGVsIHJlcG9zaXRvcmlvIGxvIHJlcXVpZXJhIChpbXByZXNvLCBkaWdpdGFsLCBlbGVjdHLDs25pY28gbyBjdWFscXVpZXIgb3RybyBjb25vY2lkbyBvIHBvciBjb25vY2VyKSB5IGNvbm9jZW4gcXVlIGRhZG8gcXVlIHNlIHB1YmxpY2EgZW4gSW50ZXJuZXQgcG9yIGVzdGUgaGVjaG8gY2lyY3VsYSBjb24gYWxjYW5jZSBtdW5kaWFsLiBjKSBMb3MgYXV0b3JlcyBhY2VwdGFuIHF1ZSBsYSBhdXRvcml6YWNpw7NuIHNlIGhhY2UgYSB0w610dWxvIGdyYXR1aXRvLCBwb3IgbG8gdGFudG8sIHJlbnVuY2lhbiBhIHJlY2liaXIgZW1vbHVtZW50byBhbGd1bm8gcG9yIGxhIHB1YmxpY2FjacOzbiwgZGlzdHJpYnVjacOzbiwgY29tdW5pY2FjacOzbiBww7pibGljYSB5IGN1YWxxdWllciBvdHJvIHVzbyBxdWUgc2UgaGFnYSBlbiBsb3MgdMOpcm1pbm9zIGRlIGxhIHByZXNlbnRlIGxpY2VuY2lhIHkgZGUgbGEgbGljZW5jaWEgQ3JlYXRpdmUgQ29tbW9ucyBjb24gcXVlIHNlIHB1YmxpY2EuIGQpIExvcyBhdXRvcmVzIG1hbmlmaWVzdGFuIHF1ZSBzZSB0cmF0YSBkZSB1bmEgb2JyYSBvcmlnaW5hbCBzb2JyZSBsYSBxdWUgdGllbmVuIGxvcyBkZXJlY2hvcyBxdWUgYXV0b3JpemFuIHkgcXVlIHNvbiBlbGxvcyBxdWllbmVzIGFzdW1lbiB0b3RhbCByZXNwb25zYWJpbGlkYWQgcG9yIGVsIGNvbnRlbmlkbyBkZSBzdSBvYnJhIGFudGUgbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgeSBhbnRlIHRlcmNlcm9zLiBFbiB0b2RvIGNhc28gbGEgVW5pdmVyc2lkYWQgTmFjaW9uYWwgZGUgQ29sb21iaWEgc2UgY29tcHJvbWV0ZSBhIGluZGljYXIgc2llbXByZSBsYSBhdXRvcsOtYSBpbmNsdXllbmRvIGVsIG5vbWJyZSBkZWwgYXV0b3IgeSBsYSBmZWNoYSBkZSBwdWJsaWNhY2nDs24uIGUpIExvcyBhdXRvcmVzIGF1dG9yaXphbiBhIGxhIFVuaXZlcnNpZGFkIHBhcmEgaW5jbHVpciBsYSBvYnJhIGVuIGxvcyBhZ3JlZ2Fkb3JlcywgaW5kaWNlc3MgeSBidXNjYWRvcmVzIHF1ZSBzZSBlc3RpbWVuIG5lY2VzYXJpb3MgcGFyYSBwcm9tb3ZlciBzdSBkaWZ1c2nDs24uIGYpIExvcyBhdXRvcmVzIGFjZXB0YW4gcXVlIGxhIFVuaXZlcnNpZGFkIE5hY2lvbmFsIGRlIENvbG9tYmlhIHB1ZWRhIGNvbnZlcnRpciBlbCBkb2N1bWVudG8gYSBjdWFscXVpZXIgbWVkaW8gbyBmb3JtYXRvIHBhcmEgcHJvcMOzc2l0b3MgZGUgcHJlc2VydmFjacOzbiBkaWdpdGFsLiBTSSBFTCBET0NVTUVOVE8gU0UgQkFTQSBFTiBVTiBUUkFCQUpPIFFVRSBIQSBTSURPIFBBVFJPQ0lOQURPIE8gQVBPWUFETyBQT1IgVU5BIEFHRU5DSUEgTyBVTkEgT1JHQU5JWkFDScOTTiwgQ09OIEVYQ0VQQ0nDk04gREUgTEEgVU5JVkVSU0lEQUQgTkFDSU9OQUwgREUgQ09MT01CSUEsIExPUyBBVVRPUkVTIEdBUkFOVElaQU4gUVVFIFNFIEhBIENVTVBMSURPIENPTiBMT1MgREVSRUNIT1MgWSBPQkxJR0FDSU9ORVMgUkVRVUVSSURPUyBQT1IgRUwgUkVTUEVDVElWTyBDT05UUkFUTyBPIEFDVUVSRE8uIAoKUGFyYSB0cmFiYWpvcyBkZXBvc2l0YWRvcyBwb3Igb3RyYXMgcGVyc29uYXMgZGlzdGludGFzIGEgc3UgYXV0b3I6IAoKRGVjbGFybyBxdWUgZWwgZ3J1cG8gZGUgYXJjaGl2b3MgZGlnaXRhbGVzIHkgbWV0YWRhdG9zIGFzb2NpYWRvcyBxdWUgZXN0b3kgYXJjaGl2YW5kbyBlbiBlbCBSZXBvc2l0b3JpbyBJbnN0aXR1Y2lvbmFsIFVOKSBlcyBkZSBkb21pbmlvIHDDumJsaWNvLiBTaSBubyBmdWVzZSBlbCBjYXNvLCBhY2VwdG8gdG9kYSBsYSByZXNwb25zYWJpbGlkYWQgcG9yIGN1YWxxdWllciBpbmZyYWNjacOzbiBkZSBkZXJlY2hvcyBkZSBhdXRvciBxdWUgY29ubGxldmUgbGEgZGlzdHJpYnVjacOzbiBkZSBlc3RvcyBhcmNoaXZvcyB5IG1ldGFkYXRvcy4KTk9UQTogU0kgTEEgVEVTSVMgQSBQVUJMSUNBUiBBRFFVSVJJw5MgQ09NUFJPTUlTT1MgREUgQ09ORklERU5DSUFMSURBRCBFTiBFTCBERVNBUlJPTExPIE8gUEFSVEVTIERFTCBET0NVTUVOVE8uIFNJR0EgTEEgRElSRUNUUklaIERFIExBIFJFU09MVUNJw5NOIDAyMyBERSAyMDE1LCBQT1IgTEEgQ1VBTCBTRSBFU1RBQkxFQ0UgRUwgUFJPQ0VESU1JRU5UTyBQQVJBIExBIFBVQkxJQ0FDScOTTiBERSBURVNJUyBERSBNQUVTVFLDjUEgWSBET0NUT1JBRE8gREUgTE9TIEVTVFVESUFOVEVTIERFIExBIFVOSVZFUlNJREFEIE5BQ0lPTkFMIERFIENPTE9NQklBIEVOIEVMIFJFUE9TSVRPUklPIElOU1RJVFVDSU9OQUwgVU4sIEVYUEVESURBIFBPUiBMQSBTRUNSRVRBUsONQSBHRU5FUkFMLiAqTEEgVEVTSVMgQSBQVUJMSUNBUiBERUJFIFNFUiBMQSBWRVJTScOTTiBGSU5BTCBBUFJPQkFEQS4gCgpBbCBoYWNlciBjbGljIGVuIGVsIHNpZ3VpZW50ZSBib3TDs24sIHVzdGVkIGluZGljYSBxdWUgZXN0w6EgZGUgYWN1ZXJkbyBjb24gZXN0b3MgdMOpcm1pbm9zLiBTaSB0aWVuZSBhbGd1bmEgZHVkYSBzb2JyZSBsYSBsaWNlbmNpYSwgcG9yIGZhdm9yLCBjb250YWN0ZSBjb24gZWwgYWRtaW5pc3RyYWRvciBkZWwgc2lzdGVtYS4KClVOSVZFUlNJREFEIE5BQ0lPTkFMIERFIENPTE9NQklBIC0gw5psdGltYSBtb2RpZmljYWNpw7NuIDE5LzEwLzIwMjEK