20 research outputs found

    Maintenance of specification models in industry using Edapt

    Full text link

    Migrating from proprietary tools to open-source software for EAST-ADL metamodel generation and evolution

    Get PDF
    Open-source software has numerous advantages over proprietary commercial-off-The-shelf (COTS) software. However, there are modeling languages, tool chains, and tool frameworks that are developed and maintained in an open-source manner but still incorporate COTS tools. Such an incorporation of COTS tools into an overall open-source approach completely annihilates the actual open-source advantages and goals. In this tool paper, we demonstrate how we eliminated a COTS tool from the otherwise open-source-based generation and evolution workflow of the domain-specific modeling language East-Adl, used in the automotive industry to describe a variety of interdisciplinary aspects of vehicle systems. By switching to a pure open-source solution, East-Adl becomes easier to inspect, evolve, and develop a community around. We compare both the mixed COTS/open-source and the open-source-only workflows, outline the advantages of the open-source-only solution, and show that we achieve equivalent tooling features compared to the original approach

    Supporting the management of electronic engineering design teams through a dynamic contingency approach

    Get PDF
    The contribution to knowledge presented in this thesis is the dynamic contingency approach, supported through software, which supports the management of the early, conceptual stages of electronic engineering team design. 1he term contingency pertains to the design environment being in a contingent state, that is "dependent on uncertain issues" (Hayward & Sparkes, 1991). These issues are typically dynamic, that is ''pertaining to forces not in equilibrium, forces that produce motion" (Hayward & Sparkes, 1991). The concept for the dynamic contingency approach was developed through a soft systems analysis. This analysis drew upon an ethnographic study conducted in parallel with the present work by another researcher. Both the present work and the ethnographic study were carried out within a multidisciplinary research team in collaboration with an industrial partner (company A). This thesis discusses the evolution of this multidisciplinary research method, including the development of a software prototype (EDAPT), which enabled the requirements for the dynamic contingency approach to be established. Through this research method key issues were identified which affect the ability of design managers, and to a lesser extent design engineers, to adequately perceive the current situation of a design project; and to determine appropriate corrective responses to potential problem situations. The work indicates that this is particularly true when under pressure in such a complex, interdependent and dynamic environment. This thesis illustrates how the environment of design can be dependent upon these key issues which are often uncertain, that is, the environment is in a contingent state. Furthermore, the thesis depicts the dynamic nature of these issues. The dynamic contingency approach was developed in response to these issues in partnership with the industrial collaborator. The approach synthesises a variety of such issues to support the coordination of interdependencies, provide a view of the current project situation, alert stakeholders to potential problem situations, and present possible responses to potential problem situations. In short, what has been achieved is a design management worldview with sufficient detail to help people expect and anticipate what might happen, and how others may behave in a team design environment, together with the foundations for a system which enables and supports this perspective. In essence the approach provides a way of conceptualising the design environment which should enable improvements in the management of design teams at the early, conceptual stages of electronic engineering design projects

    Mise en correspondance et gestion de la cohérence de modèles hétérogènes évolutifs

    Get PDF
    To understand and manipulate a complex system, it is necessary to apply the separation of concerns and produce separate parts. In Model Driven Engineering (MDE), these parts are represented by models qualified as partial models. In this context of multi-modeling, these models are called heterogeneous when they are described in separate modeling languages dedicated to different business domains: DSML (Domain Specific Modeling Language). Global model creation requires identifying existing correspondences between the elements of the partial models. However, in practice these correspondences are either incompletely identified or not sufficiently formalized to be maintained when the partial models evolve. This restricts their use and does not allow to fully exploit them for building the global model or for treating partial models evolution. The contribution of this thesis is twofold. The first contribution deals with a process for creating a global view of the system by means of a composition based on partial models matching. Identified correspondences between models elements are based on types of relationship instantiated from a metamodel of correspondences. This latter is extensible, depending on the considered application domain, and allows supporting the concepts related to this domain. Correspondences are firstly identified between meta-elements belonging to metamodels of the respective partial models. Correspondences between model elements are then obtained by a refinement mechanism, supported by an ad hoc Semantic Expression language: SED (Semantic Expression DSL). The composition is called “virtual” since elements represented in a correspondence are only references to elements belonging to partial models. Therefore, models interconnected by this correspondences form a virtual global model. The second contribution relates the consistency of the global model. Indeed, as models evolve over time, changing one or several elements involved in a correspondence, may cause the inconsistency of the global model. To maintain its consistency, we propose a second process enabling to automatically identify the changes, classify them and treat their impacts on the involved model elements. Management of repercussions is performed semi-automatically by the expert by means of strategies and weights. This work has been implemented through a support tool named HMCS (Heterogeneous Matching and Consistency management Suite) based on the Eclipse Platform. The approach has been validated and illustrated through a case study related to the management of a Hospital Emergency Service. This work was led in collaboration with the “CHU of Montpellier”.Pour permettre la compréhension et la manipulation d’un système complexe, le découpage en parties séparées est nécessaire. En Ingénierie Dirigée par les Modèles (ou Model Driven Engineering), ces parties sont représentées par des modèles, que nous qualifions de modèles partiels, dans la mesure où ils sont focalisés sur des domaines métiers distincts. Dans ce contexte de multi-modélisation, ces modèles sont dits hétérogènes quand ils sont décrits dans des langages de modélisation distincts dédiés à différents domaines métiers : DSML (Domain Specific Modeling language). La compréhension et l’exploitation efficace des connaissances relatives à un tel système supposent la construction d’un modèle global représentant son fonctionnement. La création du modèle global requiert l’identification des correspondances existant entre les éléments des différents modèles partiels. Dans la pratique, ces correspondances sont soit incomplètement identifiées, soit insuffisamment formalisées pour être maintenues lorsque les modèles partiels évoluent. Ceci limite leur utilisation et ne permet pas de les exploiter pleinement lors de la construction du modèle global ou du traitement de l’évolution des modèles partiels. L’apport de cette thèse est double. La première contribution est celle d’un processus permettant la création d’une vue globale du système par l’intermédiaire d’une composition fondée sur la mise en correspondance des modèles partiels. Les correspondances identifiées entres les éléments des modèles se basent sur des types de relations instanciées à partir d’un métamodèle de correspondance. Ce dernier est extensible (selon les spécificités du domaine d’application considéré) et permet de supporter les concepts relatifs à ce domaine. Les correspondances sont d’abord identifiées entre les méta-éléments des métamodèles respectifs des modèles partiels. Les correspondances entre les éléments de modèles sont ensuite obtenues par un mécanisme de raffinement, supporté par un langage d’expression sémantique ad hoc : SED (Semantic Expression DSL). La composition est dite « virtuelle » dans la mesure où les éléments figurant dans une correspondance ne sont que des références aux éléments appartenant aux modèles partiels. De ce fait, les modèles interconnectés par ces correspondances forment un modèle global virtuel. La seconde contribution est relative au maintien de la cohérence des modèles partiels et du modèle global. En effet, les modèles évoluant dans le temps, le changement d’un élément ou de plusieurs éléments participant à l’expression des correspondances, peut entrainer l’incohérence du modèle global. Pour maintenir la cohérence du modèle global, nous proposons un second processus permettant tout d’abord d’identifier automatiquement les changements réalisés ainsi que leurs classifications et leurs répercussions sur les éléments de modèles concernés. Par la suite, les différents cycles sont gérés à l’aide de l’expert puis une liste de changements est générée en fonction de la stratégie choisie et des coefficients de pondération. Enfin, le traitement des changements est réalisé de façon semi-automatique. Ce travail a été concrétisé par le développement d’un outil support nommé HMCS (Heterogeneous Matching and Consistency management Suite), basé sur la plateforme Eclipse. L’approche a été validée et illustrée à travers un cas d’étude portant sur la gestion du Service d'Urgence d'un hôpital. Ce travail a été mené en collaboration avec le CHU de Montpellier

    Applying Model-Driven Engineering to Development Scenarios for Web Content Management System Extensions

    Get PDF
    Web content management systems (WCMSs) such as WordPress, Joomla or Drupal have established themselves as popular platforms for instantiating dynamic web applications. Using a WCMS instance allows developers to add additional functionality by implementing installable extension packages. However, extension developers are challenged by dealing with boilerplate code, dependencies between extensions and frequent architectural changes to the underlying WCMS platform. These challenges occur in frequent development scenarios that include initial development and maintenance of extensions as well as migration of existing extension code to new platforms. A promising approach to overcome these challenges is represented by model-driven engineering (MDE). Adopting MDE as development practice, allows developers to define software features within reusable models which abstract the technical knowledge of the targeted system. Using these models as input for platform-specific code generators enables a rapid transformation to standardized software of high quality. However, MDE has not found adoption during extension development in the WCMS domain, due to missing tool support. The results of empirical studies in different domains demonstrate the benefits of MDE. However, empirical evidence of these benefits in the WCMS domain is currently lacking. In this work, we present the concepts and design of an MDE infrastructure for the development and maintenance of WCMS extensions. This infrastructure provides a domain-specific modelling language (DSL) for WCMS extensions, as well as corresponding model editors. In addition, the MDE infrastructure facilitates a set of transformation tools to apply forward and reverse engineering steps. This includes a code generator that uses model instances of the introduced DSL, an extension extractor for code extraction of already deployed WCMS extensions, and a model extraction tool for the creation of model instances based on an existing extension package. To ensure adequacy of the provided MDE infrastructure, we follow a structured research methodology. First, we investigate the representativeness of common development scenarios by conducting interviews with industrial practitioners from the WCMS domain. Second, we propose a general solution concept for these scenarios including involved roles, process steps, and MDE infrastructure facilities. Third, we specify functional and non-functional requirements for an adequate MDE infrastructure, including the expectations of domain experts. To show the applicability of these concepts, we introduce JooMDD as infrastructure instantiation for the Joomla WCMS which provides the most sophisticated extension mechanism in the domain. To gather empirical evidence of the positive impact of MDE during WCMS extension development, we present a mixed-methods empirical investigation with extension developers from the Joomla community. First, we share the method, results and conclusions of a controlled experiment conducted with extension developers from academia and industry. The experiment compares conventional extension development with MDE using the JooMDD infrastructure, focusing on the development of dependent and independent extensions. The results show a clear gain in productivity and quality by using the JooMDD infrastructure. Second, we share the design and observations of a semi-controlled tutorial with four experienced developers who had to apply the JooMDD infrastructure during three scenarios of developing new (both independent and dependent) extensions and of migrating existing ones to a new major platform version. The aim of this study was to obtain direct qualitative feedback about acceptance, usefulness, and open challenges of our MDE approach. Finally, we share lessons learned and discuss the threats to validity of the conducted studies

    A Framework for Model-Driven Development of Mobile Applications with Context Support

    Get PDF
    Model-driven development (MDD) of software systems has been a serious trend in different application domains over the last 15 years. While technologies, platforms, and architectural paradigms have changed several times since model-driven development processes were first introduced, their applicability and usefulness are discussed every time a new technological trend appears. Looking at the rapid market penetration of smartphones, software engineers are curious about how model-driven development technologies can deal with this novel and emergent domain of software engineering (SE). Indeed, software engineering of mobile applications provides many challenges that model-driven development can address. Model-driven development uses a platform independent model as a crucial artifact. Such a model usually follows a domain-specific modeling language and separates the business concerns from the technical concerns. These platform-independent models can be reused for generating native program code for several mobile software platforms. However, a major drawback of model-driven development is that infrastructure developers must provide a fairly sophisticated model-driven development infrastructure before mobile application developers can create mobile applications in a model-driven way. Hence, the first part of this thesis deals with designing a model-driven development infrastructure for mobile applications. We will follow a rigorous design process comprising a domain analysis, the design of a domain-specific modeling language, and the development of the corresponding model editors. To ensure that the code generators produce high-quality application code and the resulting mobile applications follow a proper architectural design, we will analyze several representative reference applications beforehand. Thus, the reader will get an insight into both the features of mobile applications and the steps that are required to design and implement a model-driven development infrastructure. As a result of the domain analysis and the analysis of the reference applications, we identified context-awareness as a further important feature of mobile applications. Current software engineering tools do not sufficiently support designing and implementing of context-aware mobile applications. Although these tools (e.g., middleware approaches) support the definition and the collection of contextual information, the adaptation of the mobile application must often be implemented by hand at a low abstraction level by the mobile application developers. Thus, the second part of this thesis demonstrates how context-aware mobile applications can be designed more easily by using a model-driven development approach. Techniques such as model transformation and model interpretation are used to adapt mobile applications to different contexts at design time or runtime. Moreover, model analysis and model-based simulation help mobile application developers to evaluate a designed mobile application (i.e., app model) prior to its generation and deployment with respected to certain contexts. We demonstrate the usefulness and applicability of the model-driven development infrastructure we developed by seven case examples. These showcases demonstrate the designing of mobile applications in different domains. We demonstrate the scalability of our model-driven development infrastructure with several performance tests, focusing on the generation time of mobile applications, as well as their runtime performance. Moreover, the usability was successfully evaluated during several hands-on training sessions by real mobile application developers with different skill levels

    A Policy Proposal for Agricultural Data Governance

    Get PDF
    As the digital economy continues to grow and data becomes increasingly important, effective data governance is essential. A data governance framework enables the efficient management, sharing, and integration of data, resulting in better decision-making, increased productivity, and enhanced innovation across industries, including agriculture. However, the agricultural sector in the United States is lagging behind other industries in the adoption of effective data governance practices. Agricultural data governance presents a unique set of challenges due to the wide range of stakeholders involved and the ever-increasing volume of data generated by digital technologies in farming. One key challenge to achieving the benefits of effective agricultural data governance is the lack of a robust policy framework. To address this issue, this doctoral dissertation utilizes a rigorous policy analysis methodology to examine the current data governance policy frameworks, identify gaps and areas for improvement, and propose a comprehensive policy framework for agricultural data governance. The proposed policy framework is informed by the policy analysis and designed to be adaptable and scalable to meet the changing needs of the digital economy and the agriculture sector. It addresses the challenges posed by the ever-increasing volume of agricultural data and aims to enhance the digital transformation of the agriculture sector

    A History-based Approach for Model Repair Recommendations in Software Engineering

    Get PDF
    Software is an everyday companion in today’s technology society that need to be evolved and maintained over long time periods. To manage the complexity of software projects, it has always been an effort to increase the level of abstraction during software development. Model-Driven Engineering (MDE) has shown to be a suitable method to raise abstraction levels during software development. Models are primary development artifacts in MDE that describe complex software systems from different viewpoints. In MDE software projects, models are heavily edited through all stages of the development process. During this editing process, the models can become inconsistent due to uncertainties in the software design or various editing mistakes. While most inconsistencies can be tolerated temporarily, they need to be resolved eventually. The resolution of an inconsistency affecting a model’s design is typically a creative process that requires a developer’s expertise. Model repair recommendation tools can guide the developer through this process and propose a ranked list of repairs to resolve the inconsistency. However, such tools will only be accepted in practice if the list of recommendations is plausible and understandable to a developer. Current approaches mainly focus on exhaustive search strategies to generate improved versions of an inconsistent model. Such resolutions might not be understandable to developers, may not reflect the original intentions of an editing process, or just undo former work. Moreover, those tools typically resolve multiple inconsistencies at a time, which might lead to an incomprehensible composition of repair proposals. This thesis proposes a history-based approach for model repair recommendations. The approach focuses on the detection and complementation of incomplete edit steps, which can be located in the editing history of a model. Edit steps are defined by consistency-preserving edit operations (CPEOs), which formally capture complex and error-prone modifications of a specific modeling language. A recognized incomplete edit step can either be undone or extended to a full execution of a CPEO. The final inconsistency resolution depends on the developer’s approval. The proposed recommendation approach is fully implemented and supported by our interactive repair tool called ReVision. The tool also includes configuration support to generate CPEOs by a semi-automated process. The approach is evaluated using histories of real-world models obtained from popular open-source modeling projects hosted in the Eclipse Git repository. Our experimental results confirm our hypothesis that most of the inconsistencies, namely 93.4%, can be resolved by complementing incomplete edits. 92.6% of the generated repair proposals are relevant in the sense that their effect can be observed in the models’ histories. 94.9% of the relevant repair proposals are ranked at the topmost position. Our empirical results show that the presented history-based model recommendation approach allows developers to repair model inconsistencies efficiently and effectively.Software ist in unserer heutigen Gesellschaft ein alltäglicher Begleiter. Diese wird ständig weiterentwickelt und überarbeitet. Model-Driven Engineering (MDE) hat sich als geeignete Methode erwiesen, um bei der Entwicklung komplexer Software von technischen Details zu abstrahieren. Hierbei werden Modelle als primäre Entwicklungsartefakte verwendet, welche ein Softwaresystem aus verschiedenen Sichten beschreiben. Modelle in MDE werden in allen Entwicklungsphasen einer Software fortlaufend überarbeitet. Während der Bearbeitung können die Modelle aufgrund von Unklarheiten im Design oder verschiedenen Bearbeitungsfehlern inkonsistent werden. Auch wenn Inkonsistenzen vorübergehend toleriert werden können, so müssen diese letztlich doch behoben werden. Die Behebung einer Inkonsistenz, welche sich auf das Design eines Modells auswirkt, ist meist ein kreativer Prozess, der das Fachwissen eines Entwicklers erfordert. Empfehlungswerkzeuge können den Entwickler mit Reparaturvorschlägen unterstützen. Damit solche Werkzeuge in der Praxis akzeptiert werden, müssen die Vorschläge plausible und nachvollziehbar sein. Die meisten aktuelle Ansätze verwenden Suchstrategien, welche Reparaturen durch systematisches Ausprobieren generieren. Die so generierten Reparaturen sind für Entwickler häufig schwer nachvollziehbar, da sie vorhergehende Bearbeitungsschritte nicht beachten oder diese einfach rückgängig machen. Darüber hinaus lösen diese Reparaturwerkzeuge in der Regel mehrere Inkonsistenzen gleichzeitig, was zu unverständlichen und umfangreichen Reparaturen führen kann. Diese Arbeit beschreibt einen Ansatz zum Erkennen und Ergänzen unvollständiger Bearbeitungsschritte, basierend auf der Bearbeitungshistorie eines Modells. Dazu werden konsistenzerhaltende Bearbeitungsoperationen definiert, die komplexe und fehleranfällige Änderungen einer bestimmten Modellierungssprache formal erfassen. Ein unvollständiger Bearbeitungsschritt kann dann entweder rückgängig gemacht oder zu einer konsistenzerhaltenden Bearbeitungsoperationen erweitert werden. Die endgültige Reparatur der Inkonsistenz hängt von der Einschätzung des Entwicklers ab. Der vorgeschlagene Ansatz wurde in unserem interaktiven Reparaturwerkzeug ReVision implementiert. Darüber hinaus umfasst das Werkzeug Unterstützung zum Generieren von konsistenzerhaltenden Bearbeitungsoperationen. Das Reparaturverfahren wurde anhand von Historien realer Modelle aus bekannten Open-Source-Modellierungsprojekten im Eclipse-Git-Repository bewertet. Die experimentellen Ergebnisse bestätigen unsere Hypothese, dass die meisten Inkonsistenzen, nämlich 93.4%, durch Ergänzung unvollständiger Bearbeitungen gelöst werden können. 92.6% der generierten Reparaturvorschläge könnten in der entsprechenden Modellhistorie beobachtet werden. Von diesen Reparaturvorschläge wurden 94.9% an erster Stelle vorgeschlagen. Unsere empirischen Ergebnisse zeigen, dass der vorgestellte historienbasierte Modellempfehlungsansatz es Entwicklern ermöglicht, Modellinkonsistenzen effizient und effektiv zu reparieren
    corecore