Spelling suggestions: "subject:"modeldriven"" "subject:"modelldriven""
451 |
Pattern-based refactoring in model-driven engineeringMokaddem, Chihab eddine Mohamed Omar 05 1900 (has links)
L’ingénierie dirigée par les modèles (IDM) est un paradigme du génie logiciel qui utilise les
modèles comme concepts de premier ordre à partir desquels la validation, le code, les tests
et la documentation sont dérivés. Ce paradigme met en jeu divers artefacts tels que les
modèles, les méta-modèles ou les programmes de transformation des modèles. Dans un
contexte industriel, ces artefacts sont de plus en plus complexes. En particulier, leur
maintenance demande beaucoup de temps et de ressources. Afin de réduire la complexité
des artefacts et le coût de leur maintenance, de nombreux chercheurs se sont intéressés au
refactoring de ces artefacts pour améliorer leur qualité.
Dans cette thèse, nous proposons d’étudier le refactoring dans l’IDM dans sa
globalité, par son application à ces différents artefacts. Dans un premier temps, nous
utilisons des patrons de conception spécifiques, comme une connaissance a priori, appliqués
aux transformations de modèles comme un véhicule pour le refactoring. Nous procédons
d’abord par une phase de détection des patrons de conception avec différentes formes et
différents niveaux de complétude. Les occurrences détectées forment ainsi des opportunités
de refactoring qui seront exploitées pour aboutir à des formes plus souhaitables et/ou plus
complètes de ces patrons de conceptions.
Dans le cas d’absence de connaissance a priori, comme les patrons de conception,
nous proposons une approche basée sur la programmation génétique, pour apprendre des
règles de transformations, capables de détecter des opportunités de refactoring et de les
corriger. Comme alternative à la connaissance disponible a priori, l’approche utilise des
exemples de paires d’artefacts d’avant et d’après le refactoring, pour ainsi apprendre les
règles de refactoring. Nous illustrons cette approche sur le refactoring de modèles. / Model-Driven Engineering (MDE) is a software engineering paradigm that uses models as
first-class concepts from which validation, code, testing, and documentation are derived.
This paradigm involves various artifacts such as models, meta-models, or model
transformation programs. In an industrial context, these artifacts are increasingly complex.
In particular, their maintenance is time and resources consuming. In order to reduce the
complexity of artifacts and the cost of their maintenance, many researchers have been
interested in refactoring these artifacts to improve their quality.
In this thesis, we propose to study refactoring in MDE holistically, by its application
to these different artifacts. First, we use specific design patterns, as an example of prior
knowledge, applied to model transformations to enable refactoring. We first proceed with a
detecting phase of design patterns, with different forms and levels of completeness. The
detected occurrences thus form refactoring opportunities that will be exploited to implement
more desirable and/or more complete forms of these design patterns.
In the absence of prior knowledge, such as design patterns, we propose an approach
based on genetic programming, to learn transformation rules, capable of detecting
refactoring opportunities and correcting them. As an alternative to prior knowledge, our
approach uses examples of pairs of artifacts before and after refactoring, in order to learn
refactoring rules. We illustrate this approach on model refactoring.
|
452 |
Simulátor stavových diagramů / Statechart Diagram SimulatorŽídek, Marek Unknown Date (has links)
The Master's thesis presents specification, analyze and design phase of software development. The most stress is putted on Model Driven Development. It contains brief description of almost all UML 2.0 diagrams (use case diagram, class diagram, sequence diagram, activity diagram, state chart, component diagram and deployment diagram). Those principles have been extended to executable UML which can be used for model-driven software architecture. The design of such architecture is one of the current projects of Faculty of Information Technology, BUT. The part of that project is statechart simulator. The thesis discusses whole design of state chart simulator system step by step. It starts with specification, walk thought use case diagram and class diagram to collaboration diagram. In the last chapter, we mention the biggest implementation problems and specificities of Squeak Smalltalk programming language. Finally, it considers possibilities for extension and it evaluates results.
|
453 |
Automatically correcting syntactic and semantic errors in ATL transformations using multi-objective optimizationVaraminyBahnemiry, Zahra 12 1900 (has links)
L’ingénierie dirigée par les modèles (EDM) est un paradigme de développement logiciel
qui promeut l’utilisation de modèles en tant qu’artefacts de première plan et de processus
automatisés pour en dériver d’autres artefacts tels que le code, la documentation et les cas de
test. La transformation de modèle est un élément important de l’EDM puisqu’elle permet de
manipuler les représentations abstraites que sont les modèles. Les transformations de modèles,
comme d’autres programmes, sont sujettes à la fois à des erreurs syntaxiques et sémantiques.
La correction de ces erreurs est difficile et chronophage, car les transformations dépendent
du langage de transformation comme ATL et des langages de modélisation dans lesquels
sont exprimés les modèles en entrée et en sortie. Les travaux existants sur la réparation
des transformations ciblent les erreurs syntaxiques ou sémantiques, une erreur à la fois, et
définissent manuellement des patrons de correctifs. L’objectif principal de notre recherche
est de proposer un cadre générique pour corriger automatiquement de multiples erreurs
syntaxiques et sémantiques. Afin d’atteindre cet objectif, nous reformulons la réparation des
transformations de modèles comme un problème d’optimisation multiobjectif et le résolvons au
moyen d’algorithmes évolutionnaires. Pour adapter le cadre aux deux catégories d’erreurs, nous
utilisons différents types d’objectifs et des stratégies sophistiquées pour guider l’exploration
de l’espace des solutions. / Model-driven engineering (MDE) is a software development paradigm that promotes the
use of models as first-class artifacts and automated processes to derive other artefacts from
them such as code, documentation and test cases. Model transformation is an important
element of MDE since it allows to manipulate the abstract representations that are models.
Model transformations, as other programs are subjects to both syntactic and semantic errors.
Fixing those errors is difficult and time consuming as the transformations depend on the
transformation language such as ATL, and modeling languages in which input and output
models are expressed. Existing work on transformation repair targets either syntactic or
semantic errors, one error at a time, and define patch templates manually. The main goal of
our research is to propose a generic framework to fix multiple syntactic and semantic errors
automatically. In order to achieve this goal, we reformulate the repair of model transformations
as a multi-objective optimization problem and solve it by means of evolutionary algorithms.
To adapt the framework to the two categories of errors, we use different types of objectives
and sophisticated strategies to guide the search.
|
454 |
Generating graphical and projectional editorsDucoin, Aurélien 09 1900 (has links)
En ingénierie dirigée par les modèles, les langages spécifiques au domaine (DSL) offrent des
notations adaptées à un domaine précis pour représenter ses différents concepts. De nombreux
outils permettent la définition de DSLs en explicitant les relations entre un concept et
ses représentations. En fonction de la sémantique du domaine, l’ingénieur du langage peut
choisir entre des notations textuelles ou graphiques. Les langages de modélisation graphique
nécessitent une gestion de la position, la taille et la disposition des éléments visuels afin de
maximiser leur expressivité visuelle. La plupart des éditeurs de modélisation manquent de
support automatique pour gérer ces propriétés de la syntaxe concrète. Les éditeurs projectionnels
permettent aux utilisateurs de se concentrer sur la conception de leur modèle en
limitant les modifications de la syntaxe concrète. Cependant, bien qu’ils offrent de multiples
notations, ces éditeurs ne permettent pas la création de langage graphique. Dans
ce mémoire, nous proposons une nouvelle approche pour concevoir des éditeurs graphiques
et projectionnels. Nous avons créé une extension d’un éditeur projectionnel orienté vers le
web, Gentleman, qui nous a permis d’extraire différentes exigences. Au cours du mémoire,
nous décrivons leurs impacts sur les projections et proposons des lignes directrices ainsi
que des exemples d’implémentation. Comme l’édition projectionnelle demande une gestion
spécifique de l’interaction, nous présentons différentes approches pour interagir avec les représentations
graphiques utilisant les nouvelles informations disponibles dans les projections.
Étant donné que la plupart des exigences se concentrent sur la disposition des projections,
nous avons défini plusieurs algorithmes simples de disposition qui couvrent une large gamme
de structures pouvant être retrouvées dans un éditeur graphique. Enfin, afin d’évaluer cette
approche, nous avons exploré la génération de trois éditeurs graphiques et projectionnels
pour différents domaines: les machines d’états, les diagrammes de séquences et les partitions
de musique. / In model-driven engineering, domain specific-languages (DSL) provide tailored notations towards
a specific problem domain to represent its different concepts. Multiple tools allow the
definition of DSL by specifying the relations between a concept and its representations. Depending
on the semantics of the domain, the language engineer can choose between textual or
graphical notations. Graphical modeling languages require proper management of position,
size, and layout to maximize their visual expressiveness. Most modeling editors lack automated
support to manage these graphical concrete syntax properties. It is a time-consuming
effort that affects the understandability of the model. Projectional editors prevent end-users
from modifying the concrete syntax so they can focus on the modeling task. However, while
they offer multiple notations, these editors lack support for graphical languages. During this
thesis, we propose a new approach to design graphical and projectional editors. We created
an extension of a web-oriented projectional editor, Gentleman, that allowed us to extract
different requirements. During the thesis, we describe their impact on the projections and
propose guidelines and examples of implementation. Because projectional editing requires
specific management of the interaction, we present multiple approaches to interact with the
graphical representations, using the new information available in the graphics. Since most
of the requirements were focusing on the disposition of the projection, we define multiple
simple layout algorithms that cover a large range of structures that can be found in a graphical
editor. Finally, we explore the generation of three graphical and projectional editors for
different domains: statecharts, sequence diagrams, and music sheet.
|
455 |
Realization of Model-Driven Engineering for Big Data: A Baseball Analytics Use CaseKoseler, Kaan Tamer 27 April 2018 (has links)
No description available.
|
456 |
[en] MODEL DRIVEN QUESTIONNAIRES BASED ON A DOMAIN SPECIFIC LANGUAGE / [pt] QUESTIONÁRIOS ORIENTADOS POR MODELOS BASEADOS EM DSLLUCIANE CALIXTO DE ARAUJO 04 May 2020 (has links)
[pt] Pesquisas são pervasivas no mundo moderno e seu uso vai de medidas de
satisfação de consumidores ao rastreamento de tendências econômicas globais. No
centro do processo de pesquisa está a coleta de dados que é, usualmente, assistida
por computador. O desenvolvimento de software destinado à coleta de dados em
pesquisas envolve a codificação de questionários que variam de simples sequências
de questões abertas à questionários complexos nos quais validações, cálculo de
dados derivados, gatilhos para garantia de consistência e objetos de interesse
criados dinamicamente são a regra. A especificação do questionário é parte dos
metadados da pesquisa e é um fator chave na garantia da qualidade dos dados
coletados e dos resultados atingidos por uma pesquisa. São os metadados da
pesquisa que estabelecem a maior parte dos requisitos para os sistemas de suporte
a pesquisas, incluindo requisitos para o software de coleta de dados. À medida que
a pesquisa é planejada e executada, esses requisitos devem ser compreendidos,
comunicados, codificados e implantados, numa sequência de atividades que
demanda técnicas adequadas para que a pesquisa seja eficaz e efetiva. A Engenharia
Orientada a Modelos (Model Driven Engineering) propõe estratégias que visam
alcançar esse objetivo. Neste contexto, esta dissertação propõe o uso de Linguagens
de Domínio Específico (Domain-specific Languages - DSLs) para modelar
questionários, apresenta um protótipo e avalia DSLs como uma técnica para
diminuir a distância entre especialistas de domínio e desenvolvedores de software,
incentivar o reuso, eliminar a redundância e minimizar o retrabalho. / [en] Surveys are pervasive in the modern world with its usage ranging from the
field of customer satisfaction measurement to global economic trends tracking. At
the core of survey processes is data collection which is, usually, computer aided.
The development of data collection software involves the codification of
questionnaires which vary from simple straightforward questions to complex
questionnaires in which validations, derived data calculus, triggers used to
guarantee consistency and dynamically created objects of interest are the rule. The
questionnaire specification is part of what is called survey metadata and is a key
factor for collected data and survey quality. Survey metadata establishes most of
the requirements for survey support systems including data collection software. As
the survey process is executed, those requirements need to be translated, coded and
deployed in a sequence of activities that demands strategies for being efficient and
effective. Model Driven Engineering enters this picture with the concept of
software crafted directly from models. In this context, this dissertation proposes the
usage of a Domain Specific Language (DSL) for modeling questionnaires, presents
a prototype and evaluates DSL as a strategy to reduce the gap between survey
domain experts and software developers, improve reuse, eliminate redundancy and
minimize rework.
|
457 |
A formal framework for model managementBoronat Moll, Arturo 07 May 2008 (has links)
El Desarrollo de Software Dirigido por Modelos es una rama de la Ingeniería del Software en la
que los artefactos software se representan como modelos para incrementar la productividad, calidady eficiencia económica en el proceso de desarrollo de software, donde un modelo proporciona una representación abstracta del código final de una aplicación. En este campo, la iniciativa Model-Driven Architecture (MDA), patrocinada por la OMG, está constituida por una familia de estándares industriales, entre los que se destacan: Meta-Object Facility (MOF), Unified Modeling Language (UML), Object Constraint Language (OCL), XML Metadata Interchange (XMI),
y Query/Views/Transformations (QVT). Estos estándares proporcionan unas directrices comunes
para herramientas basadas en modelos y para procesos de desarrollo de software dirigidos por modelos.
Su objetivo consiste en mejorar la interoperabilidad entre marcos de trabajo ejecutables, en
automatizar el proceso desarrollo de software de software y en proporcionar técnicas que eviten
errores durante ese proceso.
El estándar MOF describe un marco de trabajo genérico que permite definir la sintaxis abstracta
de lenguajes de modelado. Este estándar persigue la definición de los conceptos básicos que son
utilizados en procesos de desarrollo de software dirigidos por modelos: que es un modelo, que es un metamodelo, qué es reflexión en un marco de trabajo basado en MOF, etc. Sin embargo, la mayoría de estos conceptos carecen de una semántica formal en la versión actual del estándar MOF. Además, OCL se utiliza como un lenguage de definición de restricciones que permite añadir semántica a un metamodelo MOF. Desafortunadamente, la relación entre un metamodelo y sus restricciones OCL también carece de una semántica formal. Este hecho es debido, en parte, a que los metamodelos solo pueden ser definidos como dato en un marco de trabajo basado en MOF.
El estándar MOF también proporciona las llamadas facilidades de reflexión de MOF (MOF Reflecti / Boronat Moll, A. (2007). A formal framework for model management [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/1964
|
458 |
A Model-Driven Approach for the Design, Implementation, and Execution of Software Development MethodsCervera Úbeda, Mario 30 July 2015 (has links)
[EN] Software development projects are diverse in nature. For this reason, software companies are often forced to define their methods in-house. In order to define methods efficiently and effectively, software companies require systematic solutions that are built upon sound methodical foundations. Providing these solutions is the main goal of the Method Engineering discipline.
Method Engineering is the discipline to design, construct, and adapt methods, techniques, and tools for the development of information systems. Over the last two decades, a lot of research work has been performed in this area. However, despite its potential benefits, Method Engineering is not widely used in industrial settings. Some of the causes of this reality are the high theoretical complexity of Method Engineering and the lack of adequate software support.
In this thesis, we aim to mitigate some of the problems that affect Method Engineering by providing a novel methodological approach that is built upon Model-Driven Engineering (MDE) foundations. The use of MDE enables a rise in abstraction, automation, and reuse that allows us to alleviate the complexity of our Method Engineering approach. Furthermore, by leveraging MDE techniques (such
as metamodeling, model transformations, and models at runtime), our approach supports three phases of the Method Engineering lifecycle: design, implementation, and execution. This is unlike traditional Method Engineering approaches, which, in general, only support one of these phases.
In order to provide software support for our proposal, we developed a Computer-Aided Method Engineering (CAME) environment that is called MOSKitt4ME. To ensure that MOSKitt4ME offered the necessary functionality, we identified a set of functional requirements prior to developing the tool. Then, after these requirements were identified, we defined the architecture of our CAME environment, and, finally, we implemented the architecture in the context of Eclipse.
The thesis work was evaluated by means of a study that involved the participation of end users. In this study, MOSKitt4ME was assessed by means of the Technology Acceptance Model (TAM) and the Think Aloud method. While the TAM allowed us to measure usefulness and ease of use in a subjective manner, the Think Aloud method allowed us to analyze these measures objectively. Overall, the results were favorable. MOSKitt4ME was highly rated in perceived usefulness and ease of use; we also obtained positive results with respect to the users' actual performance and the difficulty experienced. / [ES] Los proyectos de desarrollo de software son diversos por naturaleza. Por este motivo, las compañías de software se ven forzadas frecuentemente a definir sus métodos de manera interna. Para poder definir métodos de forma efectiva y eficiente, las compañías necesitan soluciones sistemáticas que estén definidas sobre unos fundamentos metodológicos sólidos. Proporcionar estas soluciones es el principal objetivo de la Ingeniería de Métodos.
La Ingeniería de Métodos es la disciplina que aborda el diseño, la construcción y la adaptación de métodos, técnicas y herramientas para el desarrollo de sistemas de información. Durante las dos últimas décadas, se ha llevado a cabo mucho trabajo de investigación en esta área. Sin embargo, pese a sus potenciales beneficios, la Ingeniería de Métodos no se aplica ampliamente en contextos
industriales. Algunas de las principales causas de esta situación son la alta complejidad teórica de la Ingeniería de Métodos y la falta de un apropiado soporte software.
En esta tesis, pretendemos mitigar algunos de los problemas que afectan a la Ingeniería de Métodos proporcionando una propuesta metodológica innovadora que está basada en la Ingeniería Dirigida por Modelos (MDE). El uso de MDE permite elevar el nivel de abstracción, automatización y reuso, lo que posibilita una reducción de la complejidad de nuestra propuesta. Además, aprovechando técnicas de MDE (como por ejemplo el metamodelado, las transformaciones de modelos y los
modelos en tiempo de ejecución), nuestra aproximación da soporte a tres fases del ciclo de vida de la Ingeniería de Métodos: diseño, implementación y ejecución. Esto es a diferencia de las propuestas existentes, las cuales, por lo general, sólo dan soporte a una de estas fases.
Con el objetivo de proporcionar soporte software para nuestra propuesta, implementamos una herramienta CAME (Computer-Aided Method Engineering) llamada MOSKitt4ME. Para garantizar que MOSKitt4ME proporcionaba la funcionalidad necesaria, definimos un conjunto de requisitos funcionales como paso previo al desarrollo de la herramienta. Tras la definción de estos requisitos, definimos la arquitectura de la herramienta CAME y, finalmente, implementamos la arquitectura en el contexto de Eclipse.
El trabajo desarrollado en esta tesis se evaluó por medio de un estudio donde participaron usuarios finales. En este estudio, MOSKitt4ME se evaluó por medio del Technology Acceptance Model (TAM) y del método Think Aloud. Mientras que el TAM permitió medir utilidad y facilidad de uso de forma subjetiva, el método Think Aloud permitió analizar estas medidas objetivamente. En general, los
resultados obtenidos fueron favorables. MOSKitt4ME fue valorado de forma positiva en cuanto a utilidad y facilidad de uso percibida; además, obtuvimos resultados positivos en cuanto al rendimiento objetivo de los usuarios y la dificultad experimentada. / [CA] Els projectes de desenvolupament de programari són diversos per naturalesa. Per aquest motiu, les companyies es veuen forçades freqüenment a definir els seus mètodes de manera interna. Per poder definir mètodes de forma efectiva i eficient, les companyies necessiten solucions sistemàtiques que estiguin definides sobre uns fundaments metodològics sòlids. Proporcionar aquestes solucions és el principal objectiu de l'Enginyeria de Mètodes.
L'Enginyeria de Mètodes és la disciplina que aborda el diseny, la construcció i l'adaptació de mètodes, tècniques i eines per al desenvolupament de sistemes d'informació. Durant les dues últimes dècades, s'ha dut a terme molt de treball de recerca en aquesta àrea. No obstant, malgrat els seus potencials beneficis, l'Enginyeria de Mètodes no s'aplica àmpliament en contextes industrials. Algunes de les principals causes d'aquesta situació són l'alta complexitat
teòrica de l'Enginyeria de Mètodes i la falta d'un apropiat suport de programari.
En aquesta tesi, pretenem mitigar alguns dels problemes que afecten a l'Enginyeria de Mètodes proporcionant una proposta metodològica innovadora que està basada en l'Enginyeria Dirigida per Models (MDE). L'ús de MDE ens permet elevar el nivell d'abstracció, automatització i reutilització, possibilitant una reducció de la complexitat de la nostra proposta. A més a més, aprofitant
tècniques de MDE (com per exemple el metamodelat, les transformacions de models i els models en temps d'execució), la nostra aproximació suporta tres fases del cicle de vida de l'Enginyeria de Mètodes: diseny, implementació i execució. Açò és a diferència de les propostes existents, les quals, en general, només suporten una d'aquestes fases.
Amb l'objectiu de proporcionar suport de programari per a la nostra proposta, implementàrem una eina CAME (Computer-Aided Method Engineering) anomenada MOSKitt4ME. Per garantir que MOSKitt4ME oferia la funcionalitat necessària, definírem un conjunt de requisits funcionals com a pas previ al desenvolupament de l'eina. Després de la definició d'aquests requisits, definírem la
arquitectura de l'eina CAME i, finalment, implementàrem l'arquitectura en el contexte d'Eclipse.
El treball desenvolupat en aquesta tesi es va avaluar per mitjà d'un estudi on van participar usuaris finals. En aquest estudi, MOSKitt4ME es va avaluar per mitjà del Technology Acceptance Model (TAM) i el mètode Think Aloud. Mentre que el TAM va permetre mesurar utilitat i facilitat d'ús de manera subjectiva, el mètode Think Aloud va permetre analitzar aquestes mesures objectivament. En general, els resultats obtinguts van ser favorables. MOSKitt4ME va ser valorat de forma positiva pel que fa a utilitat i facilitat d'ús percebuda; a més a més, vam obtenir resultats positius pel que fa al rendiment objectiu dels usuaris i a la dificultat experimentada. / Cervera Úbeda, M. (2015). A Model-Driven Approach for the Design, Implementation, and Execution of Software Development Methods [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/53931
|
459 |
Experimentation to Evaluate the Benefits of Model Driven DevelopmentDomingo Montes, María África 05 September 2022 (has links)
Tesis por compendio / [ES] El Desarrollo Dirigido por Modelos, MDD por sus siglas en inglés (Model Driven Development), es un enfoque de ingeniería del software que centra la creación y evolución de productos software en el modelado. Desde hace casi dos décadas, la comunidad científica ha descrito muchas de las ventajas de MDD frente a otros enfoques, sin embargo, su adopción en el entorno industrial es muy poco frecuente.
Con el objetivo de entender por qué MDD no ha reemplazado otros enfoques de ingeniería software, he realizado una investigación empírica a través de tres experimentos controlados. Con el primer experimento pretendo aclarar si los beneficios de MDD frente al Desarrollo centrado en Código, CcD por sus siglas en inglés (Code Centric Development), son fieles a la realidad del desarrollo software actual. En el segundo experimento comparo la valoración que realizan los ingenieros de los modelos que utilizan, con su utilidad para ser utilizados en contextos MDD. En el tercer experimento analizo el desempeño de los profesionales software en tareas de mantenimiento en contextos MDD.
Nuestros resultados confirman los beneficios de MDD frente a otros enfoques, pero también, que la intención de uso de MDD no alcanza valores máximos. Los sujetos subestiman el potencial de los modelos que desarrollan y utilizan en contextos MDD. El problema de adopción parece estar ligado a factores humanos, no a factores técnicos. / [CA] El Desenvolupament Dirigit per Models, MDD (Model Driven Development), és un enfocament d'enginyeria del programari que centra la creació i evolució de productes programari en el modelatge. Des de fa quasi dues dècades, la comunitat científica ha descrit moltes dels avantatges de MDD enfront d'altres enfocaments, no obstant això, la seua adopció en l'entorn industrial és molt poc freqüent.
Amb l'objectiu d'entendre per què MDD no ha reemplaçat altres enfocaments d'enginyeria programari, he realitzat una investigació empírica a través de tres experiments controlats. Amb el primer experiment pretenc aclarir si els beneficis de MDD enfront d'altres enfocaments, com el Desenvolupament centrat en Codi, CcD (Code Centric Development), són fidels a la realitat del desenvolupament programari actual. En el segon experiment compare la valoració que realitzen els enginyers dels models que utilitzen, amb la seua utilitat per a ser utilitzats en contextos MDD. En el tercer experiment analitze l'acompliment del professional programari en tasques de manteniment en contextos MDD.
Els nostres resultats confirmen els beneficis de MDD enfront d'altres enfocaments, però també, que la intenció d'ús de MDD no aconsegueix valors màxims. Els subjectes subestimen el potencial dels models que desenvolupen i utilitzen en contextos MDD. El problema d'adopció sembla estar lligat a factors humans, no a factors tècnics. / [EN] Model Driven Development (MDD) is a software engineering approach in which the code of a software product is generated and evolutionated from conceptual models that abstractly represents the system. For nearly two decades, the scientific community has described many of the advantages of MDD over other approaches. Despite the benefits of MDD, its use in real practical developments is merely anecdotal.
To understand why MDD has not replaced other software engineering approaches, I have conducted an empirical investigation through three controlled experiments. The first experiment aims to clarify whether the benefits of MDD compared to code-centric development (CcD) match the reality of development in real environments. In the second experiment, I compare engineers' assessment of the models they develop with the usefulness of these models to be used in MDD contexts. In the third experiment, I analyze the performance of software professionals in maintenance tasks in MDD contexts.
Our results confirm the benefits of MDD over other approaches; however, the intention to use MDD does not reach maximum values. Subjects underestimate the potential of the models they develop and use in MDD contexts. The adoption problem seems to be linked to human factors, not to technical factors. / Domingo Montes, MÁ. (2022). Experimentation to Evaluate the Benefits of Model Driven Development [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/185748 / Compendio
|
460 |
Reconfiguración Dinámica e Incremental de Arquitecturas de Servicios Cloud Dirigida por ModelosZuñiga Prieto, Miguel Ángel 04 September 2017 (has links)
Cloud computing represents a fundamental change in the way organizations acquire technological resources (e.g., hardware, development and execution environments, applications); where, instead of buying them, they acquire remote access to them in the form of cloud services supplied through the Internet. Among the main characteristics of cloud computing is the allocation of resources in an agile and elastic way, reserved or released depending on the demand of the users or applications, enabling the payment model based on consumption metrics.
The development of cloud applications mostly follows an incremental approach, where the incremental delivery of functionalities to the client changes - or reconfigures - successively the current architecture of the application. Cloud providers have their own standards for both implementation technologies and service management mechanisms, requiring solutions that facilitate: building, integrating and deploying portable services; interoperability between services deployed across different cloud providers; and continuity In the execution of the application while its architecture is reconfigured product of the integration of the successive increments.
The principles of the model-driven development approach, the architectural style service-oriented architectures, and the dynamic reconfiguration play an important role in this context. The hypothesis of this doctoral thesis is that model-driven development methods provide cloud service developers with abstraction and automation mechanisms for the systematic application of the principles of model engineering during the design, implementation, and incremental deployment of cloud services, facilitating the dynamic reconfiguration of the service-oriented architecture of cloud applications.
The main objective of this doctoral thesis is therefore to define and validate empirically DIARy, a method of dynamic and incremental reconfiguration of service-oriented architectures for cloud applications. This method will allow specifying the architectural integration of the increment with the current cloud application, and with this information to automate the derivation of implementation artifacts that facilitate the integration and dynamic reconfiguration of the service architecture of the cloud application. This dynamic reconfiguration is achieved by running reconfiguration artifacts that not only deploy / un-deploy increment's services and orchestration services between services of the increment with the services of the current cloud application; but also, they change the links between services at runtime.
A software infrastructure that supports the activities of the proposed method has also been designed and implemented. The software infrastructure includes the following components: i) a set of DSLs, with their respective graphical editors, that allow to describe aspects related to the architectural integration, implementation and provisioning of increments in cloud environments; ii) transformations that generate platform-specific implementation and provisioning models; (iii) transformations that generate artifacts that implement integration logic and orchestration of services, and scripts of provisioning, deployment, and dynamic reconfiguration for different cloud vendors.
This doctoral thesis contributes to the field of service-oriented architectures and in particular to the dynamic reconfiguration of cloud services architectures in an iterative and incremental development context. The main contribution is a well-defined method, based on the principles of model-driven development, which makes it easy to raise the level of abstraction and automate, through transformations, the generation of artifacts that perform the dynamic reconfiguration of cloud applications. / La computación cloud representa un cambio fundamental en la manera en la que las organizaciones adquieren recursos tecnológicos (p. ej., hardware, entornos de desarrollo y ejecución, aplicaciones); en donde, en lugar de comprarlos adquieren acceso remoto a ellos en forma de servicios cloud suministrados a través de Internet. Entre las principales características de la computación cloud está la asignación de recursos de manera ágil y elástica, reservados o liberados dependiendo de la demanda de los usuarios o aplicaciones, posibilitando el modelo de pago basado en métricas de consumo.
El desarrollo de aplicaciones cloud sigue mayoritariamente un enfoque incremental, en donde la entrega incremental de funcionalidades al cliente cambia - o reconfigura - sucesivamente la arquitectura actual de la aplicación. Los proveedores cloud tienen sus propios estándares tanto para las tecnologías de implementación como para los mecanismos de gestión de servicios, requiriéndose soluciones que faciliten: la construcción, integración y despliegue de servicios portables; la interoperabilidad entre servicios desplegados en diferentes proveedores cloud; y la continuidad en la ejecución de la aplicación mientras su arquitectura es reconfigurada producto de la integración de los sucesivos incrementos.
Los principios del enfoque de desarrollo dirigido por modelos, del estilo arquitectónico de arquitecturas orientadas a servicios y de la reconfiguración dinámica cumplen un papel importante en este contexto. La hipótesis de esta tesis doctoral es que los métodos de desarrollo dirigido por modelos brindan a los desarrolladores de servicios cloud mecanismos de abstracción y automatización para la aplicación sistemática de los principios de la ingeniería de modelos durante el diseño, implementación y despliegue incremental de servicios cloud, facilitando la reconfiguración dinámica de la arquitectura orientada a servicios de las aplicaciones cloud.
El objetivo principal de esta tesis doctoral es por tanto definir y validar empíricamente DIARy, un método de reconfiguración dinámica e incremental de arquitecturas orientadas a servicios. Este método permitirá especificar la integración arquitectónica del incremento con la aplicación cloud actual, y con esta información automatizar la derivación de los artefactos de implementación que faciliten la integración y reconfiguración dinámica de la arquitectura de servicios de la aplicación cloud. Esta reconfiguración dinámica se consigue al ejecutar los artefactos de reconfiguración que no solo despliegan/repliegan los servicios del incremento y servicios de orquestación entre los servicios del incremento con los servicios de la aplicación cloud actual; sino también, cambian en tiempo de ejecución los enlaces entre servicios.
También se ha diseñado e implementado una infraestructura software que soporta las actividades del método propuesto e incluye los siguientes componentes: i) un conjunto de DSLs, con sus respectivos editores gráficos, que permiten describir aspectos relacionados a la integración arquitectónica, implementación y aprovisionamiento de incrementos en entornos cloud; ii) transformaciones que generan modelos de implementación y aprovisionamiento; iii) transformaciones que generan artefactos que implementan la lógica de integración y orquestación de servicios, y scripts de aprovisionamiento, despliegue y reconfiguración dinámica específicos para distintos proveedores cloud.
Esta tesis doctoral contribuye al campo de las arquitecturas orientadas a servicios y en particular a la reconfiguración dinámica de arquitecturas de servicios cloud en contextos de desarrollo iterativo e incremental. El principal aporte es un método bien definido, basado en los principios del desarrollo dirigido por modelos, que facilita elevar el nivel de abstracción y automatizar por medio de transformaciones la generación de artefactos que real / La computació cloud representa un canvi fonamental en la manera en què les organitzacions adquirixen recursos tecnològics (ej., maquinari, entorns de desplegament i execució, aplicacions) ; on, en compte de comprar-los adquirixen accés remot a ells en forma de servicis cloud subministrats a través d'Internet. Entre les principals característiques de la computació cloud els recursos cloud són assignats de manera àgil i elàstica, reservats o alliberats depenent de la demanda dels usuaris o aplicacions, possibilitant el model de pagament basat en mètriques de consum.
El desenrotllament d'aplicacions cloud seguix majoritàriament un enfocament incremental, on l'entrega incremental de funcionalitats al client canvia - o reconfigura - successivament l'arquitectura actual de l'aplicació. Els proveïdors cloud tenen els seus propis estàndards tant per a les tecnologies d'implementació com per als mecanismes de gestió de servicis, requerint-se solucions que faciliten: la construcció, integració i desplegament de servicis portables; la interoperabilitat entre servicis desplegats en diferents proveïdors cloud; i la continuïtat en l'execució de l'aplicació mentres la seua arquitectura és reconfigurada producte de la integració dels successius increments.
Els principis de l'enfocament de desenrotllament dirigit per models, de l'estil arquitectònic d'arquitectures orientades a servicis i de la reconfiguració dinàmica complixen un paper important en este context.
La hipòtesi d'esta tesi doctoral és que els mètodes de desenrotllament dirigit per models brinden als desenvolupadors de servicis cloud mecanismes d'abstracció i automatització per a l'aplicació sistemàtica dels principis de l'enginyeria de models durant el disseny, implementació i desplegament incremental de servicis cloud, facilitant la reconfiguració dinàmica de l'arquitectura orientada a servicis de les aplicacions cloud.
L'objectiu principal d'esta tesi doctoral és per tant de definir i validar empí-ricamente DIARy, un mètode de reconfiguració dinàmica i incremental d'arquitectures orientades a servicis per a aplicacions cloud. Este mètode permetrà especificar la integració arquitectònica de l'increment amb l'aplicació cloud actual, i amb esta informació automatitzar la derivació dels artefactes d'implementació que faciliten la integració i reconfiguració dinàmica de l'arquitectura de servicis de l'aplicació cloud. Esta reconfi-guración dinàmica s'aconseguix a l'executar els artefactes de reconfiguració que no sols despleguen/repleguen els servicis de l'increment i servicis d'orquestració entre els servicis de l'increment amb els servicis de l'aplicació cloud actual; sinó també, canvien en temps d'execució els enllaços entre servicis.
També s'ha dissenyat i implementat una infraestructura programari que suporta les activitats del mètode proposat i inclou els següents components: i) un conjunt de DSLs, amb els seus respectius editors gràfics, que permeten descriure aspectes relacionats a la integració arquitectònica, implementació i aprovisionament en entorns cloud dels increments; ii) transformacions que generen models d'implementació i aprovisionament específics de la plataforma a partir dels models d'integració d'alt nivell; iii) transformacions que generen artefactes que implementen la lògica d'integració i orquestració de servicis, i scripts d'aprovisionament, desplegament i reconfiguració dinàmica específics per a distints proveïdors cloud.
Esta tesi doctoral contribuïx al camp de les arquitectures orientades a servicis i en particular a la reconfiguració dinàmica d'arquitectures de servicis cloud en contextos de desenrotllament iteratiu i incremental. La principal aportació és un mètode ben definit, basat en els principis del desenrotllament dirigit per models, que facilita elevar el nivell d'abstracció i automatitzar per mitjà de transformacions la generació d'artefactes que r / Zuñiga Prieto, MÁ. (2017). Reconfiguración Dinámica e Incremental de Arquitecturas de Servicios Cloud Dirigida por Modelos [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/86288
|
Page generated in 0.0816 seconds