Spelling suggestions: "subject:"model off development"" "subject:"model oof development""
111 |
[en] MIRA: A MODEL-DRIVEN INTERFACE FRAMEWORK FOR REST APPLICATIONS / [pt] MIRA: UM AMBIENTE PARA INTERFACES DIRIGIDAS POR MODELOS PARA APLICAÇÕES RESTEZEQUIEL BERTTI 14 October 2015 (has links)
[pt] Este trabalho apresenta um framework de software para construção de interfaces para aplicações REST, dirigido por modelos. Este framework permite a construção destas interfaces exigindo um mínimo de programação pelo projetista. Os modelos nos quais se baseia, e a interface gerada utilizam padrões do W3C. Uma avaliação qualitativa indica que há um aumento efetivo de produtividade e qualidade no projeto de interfaces através do ambiente, quando comparado com abordagens tradicionais para projeto e implementação de interfaces. / [en] This work presentes a Model-driven framework for the design of interfaces for REST applications. The framework allows building interfaces with minimal programming, The models used, as well as the generated interfaces are represented using W3C standards. A qualitative evaluation indicates that there are gains in both productivity and quality of the generated interfaces, when compared with traditional approaches.
|
112 |
Model-Driven Code Generation of Safety MechanismsHuning, Lars 14 October 2022 (has links)
Safety-critical systems are systems in which failure may lead to serious harm for humans or the environment. Due to the nature of these systems, there exist regulatory standards that recommend a set of safety mechanisms that should be included in these systems, e.g., IEC 61508. However, these standards offer little to no implementation assistance for these mechanisms. This thesis provides such development assistance, by proposing an approach for the automatic generation of safety mechanisms via Model-Driven Development (MDD). Such an automation of previously manual activities has been known to increase developer productivity and to reduce the number of bugs in the implementation. In the context of safety-critical systems, the latter also means an improvement in safety. The approach introduces a novel way to define safety requirements as structured sentences. This structure allows for the automatic parsing of these requirements in order to subsequently generate software-implemented safety mechanisms, as well as to initially configure hardware-implemented safety mechanisms. The generation approach for software-implemented safety mechanisms uses Unified Modeling Language (UML) stereotypes to represent these mechanisms in the application model. Automated model-to-model transformations parse this model representation and realize the safety mechanisms within an intermediate model. From this intermediate model, code may be generated with simple 1:1 mappings. For the generation of hardware-implemented safety mechanisms, this thesis introduces a novel Graphical User Interface (GUI) tool for representing the configuration of hardware interfaces. A template-based code snippet repository is used for generating the code responsible for the configuration of the hardware-implemented safety mechanisms. The presented approach is validated by applying it to the development of a safety-critical fire detection application example. Furthermore, the runtime overhead of the respective transformation steps of the code generation process is measured. The results indicate a linear scalability and a runtime that is no impediment to the workflow of the developer. Furthermore, the memory and runtime overhead of the generated code is evaluated. The results show that the inclusion of a single safety mechanism for a single system element has a negligible overhead. However, the relative overhead indicates that the application of safety mechanisms should be limited to those system elements that are strictly safety-critical, as their arbitrary application to all system elements would have large effects on the runtime and memory usage of the application.
|
113 |
Supporting Automatic Interoperability in Model-Driven Development ProcessesGiachetti Herrera, Giovanni Andrés 04 July 2011 (has links)
By analyzing the last years of software development evolution, it is possible to observe that
the involved technologies are increasingly focused on the definition of models for the
specification of the intended software products. This model-centric development schema is the
main ingredient for the Model-Driven Development (MDD) paradigm.
In general terms, the MDD approaches propose the automatic generation of software
products by means of the transformation of the defined models into the final program code.
This transformation process is also known as model compilation process. Thus, MDD is
oriented to reduce (or even eliminate) the hand-made programming, which is an error-prone and
time-consuming task. Hence, models become the main actors of the MDD processes: the
models are the new programming code.
In this context, the interoperability can be considered a natural trend for the future of
model-driven technologies, where different modeling approaches, tools, and standards can be
integrated and coordinated to reduce the implementation and learning time of MDD solutions
as well as to improve the quality of the final software products. However, there is a lack of
approaches that provide a suitable solution to support the interoperability in MDD processes.
Moreover, the proposals that define an interoperability framework for MDD processes are still
in a theoretical space and are not aligned with current standards, interoperability approaches,
and technologies.
Thus, the main objective of this doctoral thesis is to develop an approach to achieve the
interoperability in MDD processes. This interoperability approach is based on current
metamodeling standards, modeling language customization mechanisms, and model-to-model
transformation technologies. To achieve this objective, novel approaches have been defined to
improve the integration of modeling languages, to obtain a suitable interchange of modeling
information, and to perform automatic interoperability verification. / Giachetti Herrera, GA. (2011). Supporting Automatic Interoperability in Model-Driven Development Processes [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/11108
|
114 |
Achieving non-intrusive interoperability between models for involving users in modeling tasksPérez Pérez, María Francisca 02 December 2015 (has links)
[EN] Model-Driven Development (MDD) promotes models as the cornerstone in the software development process, thereby displacing source code as the development process's main feature. Although this model-centric schema claims advantages over traditional software development (e.g., the code could be automatically generated from the models), it does not have the level of adoption that has been expected.
The literature review reveals a broad agreement in the fact that end-users may develop and adapt systems themselves but the complexity in modeling standards and the lack of modeling skills prevents their active involvement in modeling tasks of existing MDD processes. To overcome this, end-users should be provided with different modeling languages that use concepts, which fit their particular skills, context and needs.
This challenge is the main goal of this thesis, which is addressed by combining the End-user Development and the Model-Driven Development fields. This work starts with the involvement of end-users into the modeling tasks using a tool-supported visual modeling language that allows end-users to select and customize system features of pervasive systems using closer concepts for them. Afterwards, this thesis shows the necessity of enriching existing MDD processes for supporting the development of a new generation of software systems (e.g., smart health) that require expertise in a variety of domains. Consequently, different types of users (e.g., scientists, engineers and end-users) must actively participate in the description of model fragments that depend on their expertise using a different modeling language. Thus, users are able to collaborate to obtain a unified system description. At this point, it becomes necessary to provide mechanisms that transforms models fragments from one modeling language to another, delimits which model fragments are described by a different user, and integrates those model fragments.
To provide this, the presented approach encompasses variability management in a novel way to enable collaborative modeling by supporting both the selection of model fragments of the system that may be described using a different modeling language, and the integration of those model fragments once they are described. Furthermore, interoperability mechanisms bridge two different modeling languages in a non-intrusive way with the structure of models by transforming the description of gaps. Thus, our proposal could enrich models of existing MDD processes with model fragments that have been described using a different modeling language, which could make users feel confident to adopt models for describing domain-specific content and could help to adopt MDD processes.
The proposal has been validated in three case studies from different levels of complexity and domains: smart home systems, web information systems, and biomechanical protocols. The results have proven the applicability and feasibility of our approach to actively involve different types of users (end- users with software professionals, domain experts with software development experts, and doctors with biomedical engineers, respectively) in model descriptions of existing MDD processes using a different modeling language. / [ES] En el Desarrollo de Software Dirigido por Modelos (DSDM) los modelos son la piedra angular del proceso de desarrollo de software, desplazando así al código fuente como artefacto principal. Aunque este enfoque centrado en modelos ofrece ventajas sobre el desarrollo de software tradicional (por ejemplo, la generación de código de forma automática a partir de los modelos) no tiene el nivel de adopción esperado.
La literatura científica revela un amplio acuerdo en el hecho de que los usuarios finales puedan ellos mismos desarrollar y adaptar los sistemas pero la complejidad de los estándares de modelado y la carencia de habilidades de modelado impide su participación activa en procesos DSDM existentes. Para lograrlo, los usuarios finales deben disponer de lenguajes de modelado diferentes con conceptos adaptados a sus habilidades, contexto y necesidades.
Este desafío es el objetivo principal de esta tesis que se aborda combinando las ideas del desarrollo orientado al usuario final y el DSDM. Este trabajo comienza involucrando usuarios finales en tareas de modelado con una herramienta que les proporciona un lenguaje de modelado visual para seleccionar y personalizar características de un sistema pervasivo utilizando conceptos familiares para ellos. Después, esta tesis motiva la necesidad de enriquecer procesos de DSDM existentes para soportar el desarrollo de una nueva generación de sistemas software (por ejemplo, salud inteligente) que requieren conocimientos especializados en una variedad de dominios. Consecuentemente, diferentes tipos de usuarios (por ejemplo, científicos, ingenieros y usuarios finales) deben participar activamente en la descripción de fragmentos de modelos que dependen de su experiencia utilizando un lenguaje de modelado diferente. De este modo, los usuarios pueden colaborar para obtener una descripción del sistema unificada. En este punto, es necesario proporcionar mecanismos que transformen e integren los fragmentos de un lenguaje de modelado a otro y delimiten qué fragmentos se describen por un usuario diferente.
Para proporcionar esto, la propuesta presentada utiliza la gestión de variabilidad de forma novedosa para permitir modelado colaborativo seleccionando fragmentos de un modelo del sistema que pueden ser descritos utilizando un lenguaje de modelado diferente y, la integración de esos fragmentos una vez que hayan sido descritos. Además, la propuesta utiliza mecanismos de interoperabilidad para conectar dos lenguajes de modelado diferentes transformando la descripción de los fragmentos de una manera no invasiva con su estructura. Por tanto, nuestra propuesta puede enriquecer los modelos de procesos DSDM existentes con fragmentos de modelos que han sido descritos con un lenguaje diferente y esto, podría hacer que los usuarios se sientan seguros al adoptar modelos para describir contenido de dominio específico y podría ayudar a adoptar procesos DSDM.
La propuesta ha sido validada en tres casos de estudio con diferentes niveles de complejidad y dominios: sistemas para el hogar inteligente, sistemas de información web y protocolos biomecánicos. Los resultados han demostrado la aplicabilidad y viabilidad de nuestra propuesta para involucrar diferentes tipos de usuarios (usuarios finales con profesionales de software, expertos en el dominio con expertos en desarrollo de software y, médicos con ingenieros biomédicos, respectivamente) en descripciones de modelos de procesos DSDM existentes utilizando un lenguaje de modelado diferente. / [CA] En el Desenvolupament de Programari Dirigit per Models (DPDM) els models són la pedra angular del procés de desenvolupament de programari, desplaçant així al codi font com a artefacte principal. Encara que aquest enfocament centrat en models ofereix avantatges sobre el desenvolupament de programari tradicional (per exemple, la generació de codi de forma automàtica a partir dels models) no té el nivell d'adopció esperat.
La literatura científica revela un ampli acord en el fet que els usuaris finals puguen ells mateixos desenvolupar i adaptar els sistemes però la complexitat dels estàndards de modelatge i la falta d'habilitats de modelatge impedeix la seua participació activa en processos DPDM existents. Per a aconseguir-ho, els usuaris finals han de disposar de llenguatges de modelatge diferents amb conceptes adaptats a les seues habilitats, context i necessitats.
Aquest desafiament és l'objectiu principal d'aquesta tesi que s'aborda combinant les idees del desenvolupament orientat a l'usuari final i el DPDM. Aquest treball comença involucrant usuaris finals en tasques de modelatge amb una eina que els proporciona un llenguatge de modelatge visual que permet als usuaris finals seleccionar i personalitzar característiques d'un sistema pervasiu utilitzant conceptes familiars per a ells. Després, aquesta tesi motiva la necessitat d'enriquir processos de DPDM existents per a suportar el desenvolupament d'una nova generació de sistemes programari (per exemple, salut intel¿ligent) que requereixen coneixements especialitzats en una varietat de dominis. Conseqüentment, diferents tipus d'usuaris (per exemple, científics, enginyers i usuaris finals) han de participar activament en la descripció de fragments de models que depenen de la seua experiència utilitzant un llenguatge de modelatge diferent. D'aquesta manera, els usuaris poden col¿laborar per a obtenir una descripció del sistema unificada. En aquest punt, és necessari proporcionar mecanismes que transformen i integren els fragments d'un llenguatge de modelatge a un altre i delimiten quins fragments es descriuen per un usuari diferent.
Per a proporcionar açò, la proposta presentada utilitza la gestió de variabilitat de forma nova per a permetre modelatge col.laboratiu seleccionant fragments d'un model del sistema que poden ser descrits utilitzant un llenguatge de modelatge diferent i, la integració d'aqueixos fragments una vegada que hagen sigut descrits. A més, la proposta utilitza mecanismes d'interoperabilitat per a connectar dos llenguatges de modelatge diferents transformant la descripció dels fragments d'una manera no invasiva amb la seua estructura. Per tant, la nostra proposta pot enriquir els models de processos DPDM existents amb fragments de models que han sigut descrits amb un llenguatge diferent i açò, podria fer que els usuaris se senten segurs en adoptar models per a descriure contingut de domini específic i podria ajudar a adoptar processos DPDM.
La proposta ha sigut validada en tres casos d'estudi amb diferents nivells de complexitat i dominis: sistemes per a la llar intel¿ligent, sistemes d'informació web i protocols biomecànics. Els resultats han demostrat l'aplicabilitat i viabilitat de la nostra proposta per a involucrar diferents tipus d'usuaris (usuaris finals amb professionals de programari, experts en el domini amb experts en desenvolupament de programari i, metges amb enginyers biomèdics, respectivament) en descripcions de models de processos DPDM existents utilitzant un llenguatge de modelatge diferent. / Pérez Pérez, MF. (2015). Achieving non-intrusive interoperability between models for involving users in modeling tasks [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/58429
|
115 |
Testing-Based Conceptual Schema Validation in a Model-Driven EnvironmentGranda Juca, María Fernanda 13 October 2017 (has links)
Despite much scepticism and problems for its adoption, the Model-Driven Development (MDD) is being used and improved to provide many inherent benefits for industry. One of its greatest benefits is the ability to handle the complexity of software development by raising the abstraction level. Models are expressed using concepts that are not related to a specific implementation technology (e.g. Unified Modelling Language -UML, Object Constraint Language -OCL, Action Language for Foundational UML -ALF), which means that the models can be easier to specify, maintain and document. As in Model-Driven Engineering (MDE), the primary artefacts are the conceptual models, efforts are focused on their creation, testing and evolution at different levels of abstraction through transformations because if a conceptual schema has defects, these are passed on to the following stages, including coding. Thus, one of the challenges for researchers and developers in Model-Driven Development is being able to identify defects early on, at the conceptual schema level, as this helps reduce development costs and improve software quality.
Over the last decade, little research work has been performed in this area. Some of the causes of this are the high theoretical complexity of testing conceptual schemas and the lack of adequate software support. This research area thus admits new methods and techniques, facing challenges such as generation of test cases using information external to the conceptual schemas (i.e. requirements), the measurement of possible automation, selection and prioritization of test cases, the need for an efficient support tool using standard semantics, the opportune feedback to support the software quality assurance process and facilitate making decisions based on the analysis and interpretation of the results.
The aim of this thesis is to mitigate some of the problems that affect conceptual schema validation by providing a novel testing-based validation framework based on Model-Driven Development. The use of MDD improves abstraction, automation and reuse, which allows us to alleviate the complexity of our validation framework. Furthermore, by leveraging MDD techniques (such as metamodeling, model transformations, and models at runtime), our framework supports four phases of the testing process: test design, test case generation, test case execution and the evaluation of the results.
In order to provide software support for our proposal, we developed the CoSTest ALF-based testing environment. To ensure that CoSTest offers the necessary functionality, we first identified a set of functional requirements. Then, after these requirements were identified, we defined the architecture and testing environment of the validation framework, and finally we implemented the architecture in the Eclipse context. CoSTest has been developed to test several properties on the executable model, such as syntactic correctness (i.e. all the elements in the model conform to the syntax of the language in which it is described), consistency between the structural and behavioural parts (its integrity constraints) and completeness (i.e. all possible changes on the system state can be performed through the execution of the operations defined in the executable model). For defective models, the CoSTest report returns a meaningful feedback that helps locate and repair any defects detected. / A pesar del escepticismo y dificultades en su adopción, el Desarrollo Orientado por Modelos (MDD, por sus siglas en inglés) está siendo usado y mejorado para proveer muchos beneficios inherentes a la industria. Uno de sus mayores beneficios es la capacidad de manejar la complejidad del desarrollo de software elevando el nivel de abstracción. Los modelos se expresan utilizando conceptos que no están relacionados con una tecnología de implementación específica (por ejemplo, Lenguaje de Modelado Unificado -UML, Lenguaje de Restricción de Objetos -OCL, Lenguaje de Acción para el Foundational UML - ALF), lo que significa que los modelos pueden ser más fáciles de especificar, mantener y documentar. Debido a que en una Ingeniería dirigida por modelos (MDE), los artefactos primarios son los modelos conceptuales, los esfuerzos se centran en su creación, prueba y evolución a diferentes niveles de abstracción a través de transformaciones, porque si un esquema conceptual tiene defectos, éstos se pasan a las siguientes etapas, incluida la codificación. Por lo tanto, uno de los retos para los investigadores y desarrolladores in MDD es poder identificar los defectos temprano, a nivel de esquemas conceptuales, ya que esto ayudaría a reducir los costos de desarrollo y mejorar la calidad del software.
Durante la última década, pocos trabajos de investigación se han realizado en esta área. Algunas de las causas de esta realidad son la alta complejidad teórica de probar esquemas conceptuales y la falta de soporte de software adecuado. Por lo tanto, este área de investigación admite nuevos métodos y técnicas, enfrentando retos como la generación de casos de prueba utilizando información externa a los esquemas conceptuales (es decir, los requisitos), la medición de una posible automatización, selección y priorización de casos de prueba, la necesidad de una herramienta de soporte eficiente que utilice una semántica estándar, la retroalimentación oportuna para apoyar el proceso de aseguramiento de la calidad del software y facilitar la toma de decisiones basadas en el análisis y la interpretación de los resultados.
El objetivo de esta tesis es mitigar algunos de los problemas que afectan la validación de los esquemas conceptuales, proporcionando un nuevo marco de validación basado en pruebas que fue construido usando un desarrollo dirigido por modelos. El uso de MDD permite un aumento en la abstracción, automatización y reutilización que nos permite aliviar la complejidad de nuestro marco de validación. Además, al aprovechar las técnicas MDD (como el metamodelado, las transformaciones de modelos y los modelos en tiempo de ejecución), nuestro marco soporta cuatro fases del proceso de prueba: diseño de pruebas, generación de casos de prueba, ejecución de casos de prueba y la evaluación de los resultados.
Con el fin de proporcionar soporte de software para nuestra propuesta, hemos desarrollado CoSTest, un entorno de pruebas basado en el lenguaje ALF. Para asegurar que CoSTest ofrece la funcionalidad necesaria, primero identificamos un conjunto de requisitos funcionales. Luego, después de identificar estos requisitos, definimos la arquitectura y el ambiente de pruebas de nuestro marco de validación y, finalmente, implementamos la arquitectura en el contexto de Eclipse. CoSTest ha sido desarrollado para probar varias propiedades sobre el modelo ejecutable como la corrección sintáctica (es decir, todos los elementos del modelo se ajustan a la sintaxis del lenguaje en el que se describe), consistencia entre la parte estructural y el comportamiento (sus restricciones de integridad) y completitud (es decir, todos los cambios posibles en el estado del sistema se pueden realizar a través de la ejecución de las operaciones definidas en el modelo ejecutable). Para los modelos defectuosos, el informe de CoSTest devuelve una retroalimentación significativa que ayuda a localizar y reparar los defectos detec / A pesar de l'escepticisme i les dificultats en la seua adopció, el Desenvolupament Orientat per Models (MDD, segons les sigles en anglès) està sent usat i millorat per tal de proveir molts beneficis potencials inherents a l' indústria. Un dels majors beneficis és la capacitat de manejar la complexitat del desenvolupament del programari elevant el nivell d'abstracció. Els models s'expressen mitjançant conceptes que no estan relacionats amb una tecnologia d'implementació específica (per exemple, el Llenguatge de Modelat Unificat - UML, Llenguatge de Restricció d'Objectes -OCL, Llenguatge d'Acció per al Foundational UML - ALF), el que significa que els models poder ser més fàcils d'especificar, mantindre i documentar. A causa de que en una Enginyeria dirigida per models (MDE), els artefactes primaris són els models conceptuals, els esforços es centren en la seua creació, prova i evolució a diferents nivells d'abstracció mitjançant transformacions, perquè si un esquema conceptual té defectes, aquestos es passen a les següents etapes, inclosa la codificació. Per tant, un del reptes per als investigadors i desenvolupadors en MDD és poder identificar els defectes des del principi, a nivell de esquemes conceptuals, perquè açò ajudaria a reduir els costos de desenvolupament i millora de la qualitat del programari.
Durant l'última dècada, pocs treballs d'investigació s'han fet en aquesta àrea. Algunes de les causes d'aquesta realitat són l'alta complexitat teòrica de provar esquemes conceptuals i la falta de suport de programari adequat. Per tant, aquesta àrea d'investigació admet nous mètodes i tècniques, enfrontant reptes com la generació de casos de prova mitjançant informació externa als esquemes conceptuals (es a dir, requisits), la medició de una possible automatització, selecció i priorització de casos de prova, la necessitat de una ferramenta de suport rentable que utilitze una semàntica estàndard, la retroalimentació oportuna per suportar el procés d'assegurament de la qualitat del programari i la facilitat per a prendre decisions basades en l'anàlisi i la interpretació dels resultats.
En aquesta tesi intentem mitigar alguns dels problemes que afecten a la validació dels esquemes conceptuals, proporcionant un nou marc de validació basat en proves que va ser construït mitjançant un desenvolupament dirigit per models. L'ús de MDD permet un augment en l'abstracció, automatització i reutilització que ens permet alleujar la complexitat del nostre marc de validació. A més a més, al aprofitar les tècniques MDD (com el metamodelat, les transformacions de models i els models en temps d'execució), el nostre marc suporta quatre fases del procés de prova: disseny, generació i execució de casos de prova, així com l'avaluació de resultats del procés de prova.
Amb la finalitat de proporcionar suport de programari per a la nostra proposta, hem desenvolupat un entorn de proves basat en el llenguatge ALF que s'anomena CoSTest. Per tal d'assegurar que CoSTest ofereix la funcionalitat necessària, identifiquem un conjunt de requisits funcionals abans de desenvolupar la ferramenta. Després d'identificar aquestos requisits, definim l'arquitectura i l'ambient de proves del nostre marc de validació, i finalment, implementem l'arquitectura en el context Eclipse. CoSTest ha sigut desenvolupat per provar diverses propietats sobre el model executable com la correcció sintàctica (és a dir, tots els elements del model s'ajusten a la sintaxi del llenguatge en el que es descriu), consistència antre la part estructural i el comportament (les seues restriccions d'integritat) i completitud (és a dir, tots els canvis possibles en l'estat del sistema es poden realitzar mitjançant l'execució de les operacions definides en el model executable). Per als models defectuosos, l'informe de CoSTest retorna una retroalimentació significativa que ajuda a localitzar i reparar els defectes dete / Granda Juca, MF. (2017). Testing-Based Conceptual Schema Validation in a Model-Driven Environment [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/89091
|
116 |
Analysis and Improvement of a Software Production Process based on the Combination of Model Driven Development and Software Product LinesEcheverría Ochoa, Jorge 10 September 2018 (has links)
La reutilización es un factor clave para reducir los costos y mejorar la calidad de las propiedades de productos software como la seguridad, fiabilidad o rendimiento. Siguiendo este factor surge la aproximación para el desarrollo de software de Líneas de Productos Software; esta aproximación promete, entre otras cosas, acortar el tiempo del desarrollo de los sistemas software y reducir significativamente los costes de desarrollo y mantenimiento. Por otro lado, el Desarrollo Dirigido por Modelos es un enfoque para el desarrollo de software que propone el uso de modelos en varios niveles de abstracción y transformaciones de modelo como artefactos principales. El uso de modelos como los principales artefactos en el desarrollo de software ofrece muchas ventajas a los desarrolladores, por ejemplo, las transformaciones de modelo permiten la conversión de un modelo fuente en otro modelo objetivo, el aumento del nivel de abstracción permite a los desarrolladores centrarse en el problema a resolver y restar importancia a los detalles de implementación. Ambos paradigmas, en la búsqueda de optimizar el tiempo de producción y calidad en el software generado, pueden reunir importantes ventajas en el proceso de producción de software.
La combinación de Desarrollo Dirigido por Modelos y Líneas de Producto Software para producir productos software requiere la identificación de nuevos retos y necesidades de los stakeholders involucrados. La investigación presentada en esta tesis tiene el objetivo, apoyada en varios estudios empíricos realizados en entornos industriales, de aumentar el conocimiento y realizar una serie de propuestas de mejora del proceso de desarrollo software fundamentado en la combinación de Desarrollo Dirigido por Modelos y Líneas de Producto Software. Para alcanzar
este objetivo se han estudiado cuatro dimensiones: procesado de requisitos, usabilidad, comprensión (en la configuración de productos) y gestión de errores. Cada una de estas dimensiones ha sido abordada en un estudio empírico, estudios presentados en trabajos de investigación y que forman la parte nuclear de esta tesis.
Como resultado del trabajo realizado en esta tesis se han elaborado una serie de propuestas para mejorar el proceso de desarrollo software basado en la combinación de Desarrollo Dirigido por Modelos y Líneas de Producto Software y se han generado siete trabajos de investigación. Cinco de estos trabajos han sido presentados en conferencias de relevancia en el ámbito de la Ingeniería del Software: CAiSEForum'15, CAiSE'16, ESEM'16, ISD'17 y ESEM'17. Estos resultados de investigación han sido aplicados en el proceso de desarrollo de software de placas de inducción de la división de electrodomésticos de BSH (Bosch, Siemens, Gaggenau, Neff y Balay) y están siendo utilizados para su aplicación en la actual implantación para el desarrollo de software del PLC que controla los trenes en la empresa Construcciones y Auxiliar de Ferrocarriles. / Software reuse is a key factor in reducing costs and improving the quality of software product properties such as security, reliability, or performance. Taking this factor in account, the Software Product Line approach appears for software development. This approach promises to decrease the time spent in developing software systems and to significantly reduce the costs for development and maintenance of software systems, among other things.
In addition, Model Driven Development is an approach for software development that proposes the use of models at various levels of abstraction and model transformations as main artifacts. The use of models as the main artifacts in software development offers many advantages for developers. For instance, model transformations allow the conversion of a source model into another target model. The increase in the level of abstraction allows the developers to focus on the problem to solve, subtracting importance to the implementation details. Both paradigms search to optimize the production time and quality of the generated software, and can result in important advantages in the software production process.
However, the combination of Model Driven Development and Software Product Lines to develop software products requires the identification of the challenges and needs of the involved stakeholders. The research presented in this dissertation, supported by several empirical studies carried out in industrial environments, aims to increase the knowledge in the field and to do a set of proposals to improve the software development process based on the combination of Model Driven Development and Software Product Lines. To achieve this objective, four dimensions have been studied: requirements processing, usability, comprehension (configuring software products), and error management. The dimensions have been addressed through empirical studies, presented in research papers. These papers conform the core of this dissertation.
As result of the work carried out for this dissertation, a set of proposals to improve the software development process based on the combination of Model Driven Development and Software Product Lines have been generated. Furthermore, seven research papers have been published. Five of these works have been presented at relevant conferences in the Software Engineering field: CAiSE Forum'15, CAiSE'16, ESEM'16, ISD'17 and ESEM'17. These research results have been applied in the software development process of the induction hobs from the electrical appliances division of BSH (under the brands Bosch, Siemens, Gaggenau, Neff, and Balay), and are also being used in the current implementation of the PLC that controls the trains manufactured by the Construcciones y Auxiliar de Ferrocarriles company. / La reutilització és un factor clau per a reduir els costos i millorar la qualitat de les propietats de productes programari com la seguretat, fiabilitat o rendiment. Seguint aquest factor sorgeix l'aproximació per al desenvolupament de programari utilitzant Línies de Productes Programari; aquesta aproximació promet, entre altres coses, escurçar el temps del desenvolupament dels sistemes programari i reduir significativament els costos de desenvolupament i manteniment. D'altra banda, el Desenvolupament Dirigit per Models és un enfocament per al desenvolupament de programari que proposa l'ús de models en diversos nivells d'abstracció i transformacions de model com artefactes principals. L'ús de models com els principals artefactes en el desenvolupament de programari ofereix molts avantatges als desenvolupadors, per exemple, les transformacions de model permeten la conversió d'un model font en un altre model objectiu, l'augment del nivell d'abstracció permet als desenvolupadors centrar-se en el problema a resoldre i restar importància als detalls d'implementació. Tots dos paradigmes, en la cerca d'optimitzar el temps de producció i qualitat en el programari generat, poden reunir importants avantatges en el procés de producció de programari.La combinació de Desenvolupament Dirigit per Models i Línies de Producte Programari per a produir productes programari requereix la identificació de nous reptes i
necessitats dels \ingles{stakeholders} involucrats.
La recerca presentada en aquesta tesi té l'objectiu, recolzada en diversos estudis empírics realitzats en entorns industrials, d'augmentar el coneixement i realitzar una sèrie de propostes de millora del procés de desenvolupament de programari fonamentat en la combinació de Desenvolupament Dirigit per Models i Línies de Producte Programari. Per a aconseguir aquest objectiu s'han estudiat quatre dimensions: processament de requisits, usabilitat, comprensió (en la configuració de productes) i gestió d'errors.
Cadascuna d'aquestes dimensions ha sigut abordada en un estudi empíric, estudis presentats en treballs de recerca i que formen la part nuclear d'aquesta tesi.
Com a resultat del treball realitzat en aquesta tesi s'han elaborat una sèrie de propostes per a millorar el procés de desenvolupament programari basat en la combinació de Desenvolupament Dirigit per Models i Línies de Producte Programari i s'han generat set treballs de recerca. Cinc d'aquests treballs han sigut presentats en conferències de rellevància en l'àmbit de l'Enginyeria del Programari: CAiSEForum'15, CAiSE'16, ESEM'16, ISD'17 i ESEM'17. Aquests resultats de recerca han sigut aplicats en el procés de desenvolupament de programari de plaques d'inducció de la divisió d'electrodomèstics de BSH (Bosch, Siemens, Gaggenau, Neff i Balay) i estan sent utilitzats per a la seua aplicació en l'actual implantació per al desenvolupament de programari del PLC que controla els trens en l'empresa Construcciones y Auxiliar de Ferrocarriles. / Echeverría Ochoa, J. (2018). Analysis and Improvement of a Software Production Process based on the Combination of Model Driven Development and Software Product Lines [Tesis doctoral]. Universitat Politècnica de València. https://doi.org/10.4995/Thesis/10251/107734
|
117 |
A model-driven development and verification approach for medical devicesJedryszek, Jakub January 1900 (has links)
Master of Science / Department of Computing and Information Sciences / John Hatcliff / Medical devices are safety-critical systems whose failure may put human life in danger. They are becoming more advanced and thus more complex. This leads to bigger and more complicated code-bases that are hard to maintain and verify. Model-driven development provides high-level and abstract description of the system in the form of models that omit details, which are not relevant during the design phase. This allows for certain types of verification and hazard analysis to be performed on the models. These models can then be translated into code. However, errors that do not exist in the models may be introduced during the implementation phase. Automated translation from verified models to code may prevent to some extent.
This thesis proposes approach for model-driven development and verification of medical devices. Models are created in AADL (Architecture Analysis & Design Language), a language for software and hardware architecture modeling. AADL models are translated to SPARK Ada, contract-based programming language, which is suitable for software verification. Generated code base is further extended by developers to implement internals of specific devices. Created programs can be verified using SPARK tools.
A PCA (Patient Controlled Analgesia) pump medical device is used to illustrate the primary artifacts and process steps. The foundation for this work is "Integrated Clinical Environment Patient-Controlled Analgesia Infusion Pump System Requirements" document and AADL Models created by Brian Larson. In addition to proposed model-driven development approach, a PCA pump prototype was created using the BeagleBoard-xM device as a platform. Some components of PCA pump prototype were verified by SPARK tools and Bakar Kiasan.
|
118 |
應用剖面樣板於模型驅動開發之研究 / A Study on Realizing Model-Driven Development using Aspect Templates楊世睿, Yang, Sir-Jur Unknown Date (has links)
近年來,模型驅動的軟體開發方式已在軟體開發社群引起廣泛的討論與研究。知名的物件管理組織並提出模型驅動架構來推廣這種新的軟體開發方式。一般使用模型驅動架構觀念的開發方法多著重在模型交換、模型變更及產生程式碼的精準度,但對於應用樣板程式在產生程式的使用上卻很少有特別的規範,故本研究選擇樣板程式的應用進行探討。在模型建構方面,我們依循一般將業務性及非業務性的模型分開設計及管理的方式,以方便系統開發人員在設計模型時,可以專注於業務性的功能設計,非業務性的功能便可依系統的需求選擇特定的組合;但在程式碼產生部分,本研究則應用剖面導向程式設計中的織入方式來產生程式碼。我們以Orr, Doug所製作的原型程式為基礎,建立一個應用剖面樣板於模型驅動開發的流程,並且以一個應用實例及使用工具來闡明整體導入的過程及運用價值。經由這樣的實例,可以讓系統開發者感受應用剖面樣板於模型驅動開發所帶來的方便及效率的提昇。 / Recently, model-driven software development has attracted great attention from the software development community. The Object Management Group (OMG) has also proposed the so-called Model-Driven Architecture (MDA) to promote it. As far as we know, most system development approaches using the MDA concept emphasize on model exchange, model change and degree of preciseness on code generation and do not discuss much about the usage of templates for code generation. Therefore, this research proposes to study the code generation part of MDA using templates. Like other MDA-based approaches, our development process also design and manage functional models and non-functional models separately, allowing system developers to focus on functional models design and to easily choose existing functions for non-functional models by requirements. What makes our approach different is we add an attachment model which facilitates the code generation steps by using the weaving mechanism found in aspect-oriented programming (AOP). In this study, we elaborate the attachment model proposed by Orr, Doug and propose an example of model-driven development process using it for code generation. Moreover, we utilize the prototype of Orr, Doug’s to create a complete example which re-engineers an existing application by replacing its system platform and extending its business functions using this process.
|
119 |
Model-driven development of information systemsWang, Chen-Wei January 2012 (has links)
The research presented in this thesis is aimed at developing reliable information systems through the application of model-driven and formal techniques. These are techniques in which a precise, formal model of system behaviour is exploited as source code. As such a model may be more abstract, and more concise, than source code written in a conventional programming language, it should be easier and more economical to create, to analyse, and to change. The quality of the model of the system can be ensured through certain kinds of formal analysis and fixed accordingly if necessary. Most valuably, the model serves as the basis for the automated generation or configuration of a working system. This thesis provides four research contributions. The first involves the analysis of a proposed modelling language targeted at the model-driven development of information systems. Logical properties of the language are derived, as are properties of its compiled form---a guarded substitution notation. The second involves the extension of this language, and its semantics, to permit the description of workflows on information systems. Workflows described in this way may be analysed to determine, in advance of execution, the extent to which their concurrent execution may introduce the possibility of deadlock or blocking: a condition that, in this context, is synonymous with a failure to achieve the specified outcome. The third contribution concerns the validation of models written in this language by adapting existing techniques of software testing to the analysis of design models. A methodology is presented for checking model consistency, on the basis of a generated test suite, against the intended requirements. The fourth and final contribution is the presentation of an implementation strategy for the language, targeted at standard, relational databases, and an argument for its correctness, based on a simple, set-theoretic semantics for structure and operations.
|
120 |
Program synthesis from domain specific object modelsFaitelson, David January 2008 (has links)
Automatically generating a program from its specification eliminates a large source of errors that is often unavoidable in a manual approach. While a general purpose code generator is impossible to build, it is possible to build a practical code generator for a specific domain. This thesis investigates the theory behind Booster — a domain specific, object based specification language and automatic code generator. The domain of Booster is information systems — systems that consist of a rich object model in which the objects refer to each other to form a complicated network of associations. The operations of such systems are conceptually simple (changing the attributes of objects, adding or removing new objects and creating or destroying associations) but they are tricky to implement correctly. The thesis focuses on the theoretical foundation of the Booster approach, in particular on three contributions: semantics, model completion, and code generation. The semantics of a Booster model is a single abstract data type (ADT) where the invariants and the methods of all the classes in the model are promoted to the level of the ADT. This is different from the traditional view that considers each class as a separate ADT. The thesis argues that the Booster semantics is a better model of object oriented systems. The second important contribution is the idea of model completion — a process that augments the postconditions of methods with additional predicates that follow from the system’s invariant and the method’s original intention. The third contribution describes a simple but effective code generation technique that is based on interpreting postconditions as executable statements and uses weakest preconditions to ensure that the generated code refines its specification.
|
Page generated in 0.0777 seconds