12 research outputs found

    Incorporating Agile with MDA Case Study: Online Polling System

    Full text link
    Nowadays agile software development is used in greater extend but for small organizations only, whereas MDA is suitable for large organizations but yet not standardized. In this paper the pros and cons of Model Driven Architecture (MDA) and Extreme programming have been discussed. As both of them have some limitations and cannot be used in both large scale and small scale organizations a new architecture has been proposed. In this model it is tried to opt the advantages and important values to overcome the limitations of both the software development procedures. In support to the proposed architecture the implementation of it on Online Polling System has been discussed and all the phases of software development have been explained.Comment: 14 pages,1 Figure,1 Tabl

    COMPARATIVE EVALUATION OF THE RULE BASED APPROACH TO REPRESENTATION OF ADAPTATION LOGICS

    Get PDF
    Due to the rapid growth of business processes digitalization, enterprise applications cover more and more business and daily life functions thus becoming more complex. Complex enterprise applications often deal with low users’ satisfaction of usability. This problem can be solved by implementing adaptation algorithms in enterprise applications, so they can be adjusted for specific context situations and specific users’ needs. Some adaptation logics representation techniques are complex and require specific knowledge and skills to manage and modify adaptation process. In this paper rule based adaptation approach is introduced where rules are used as means to manage and modify adaptation process. Rules are easy to read and understand, thereby rule based adaptation should ensure elastic, transparent and easy administrable adaptation process. The goal of this paper is to test this statement by carrying out a comparative adaptation logics representation evaluation experiment. During the experiment participants are required to complete tasks which include different forms of adaptation logics representation (code, rules and models). Experiment results are analyzed by qualitative and quantitative measures such as users’ understandability of applications behavior when adaptation case occurs and users’ satisfaction with adaptation logics representation. Experiment results are summarized and are to be used for further development of the study

    Verifying Access Control in Statecharts

    Get PDF
    Access control is one of the main security mechanisms for software applications. It ensures that all accesses conform to a predefined access control policy. It is important to check that the access control policy is well implemented in the system. When following an MDD methodology it may be necessary to check this early during the development lifecycle, namely when modeling the application. This paper tackles the issue of verifying access control policies in statecharts. The approach is based on the transformation of a statechart into an Algebraic Petri net to enable checking access control policies and identifying potential inconsistencies with an OrBAC set of access control policies. Our method allows locating the part of the statechart that is causing the problem. The approach has been successfully applied to a Library Management System. Based on our proposal a tool for performing the transformation and localization of errors in the statechart has been implemented

    Automatic model - based test case generation for uml diagrams using tree travelsal algorithm

    Get PDF
    The foundation of any model-based testing (MBT) with Unified Modelling Language (UML) diagrams is test case generation (TCG) which predicts the expected functionalities of a system under test (SUT). However, problems associated with existing test case generation methods are lack of integration with various UML diagrams and tools, inability to cover all the model elements of UML diagrams, failure to generate comprehensive test cases based on adequate coverage criteria and lack of support tools for automatic generation of test cases. To address these challenges, efficient mapping strategies for model elements that engenders effective artefacts extraction and test case generation processes were proposed. The methodology employed in this research comprised constructing relevant models and algorithms as well as implementing with the use of Java programming language. Specifically, an enhanced elements mapper, artefacts extractor (parser) and test case generator were developed and integrated to produce the support tool. The elements mapper yielded an accuracy result of 99.31%. The artefacts extractor recorded 99.64% accuracy while the test case generator recorded 100% accuracy. The improved methods proved to be more robust and efficiently generated quality test cases with eliminated redundancies based on all the descriptive attributes of UML diagrams. Limitations of existing the methods were addressed in the proposed method which is able to integrate more diagrams to generate quality test cases

    Using a Dynamic Domain-Specific Modeling Language for the Model-Driven Development of Cross-Platform Mobile Applications

    Get PDF
    There has been a gradual but steady convergence of dynamic programming languages with modeling languages. One area that can benefit from this convergence is modeldriven development (MDD) especially in the domain of mobile application development. By using a dynamic language to construct a domain-specific modeling language (DSML), it is possible to create models that are executable, exhibit flexible type checking, and provide a smaller cognitive gap between business users, modelers and developers than more traditional model-driven approaches. Dynamic languages have found strong adoption by practitioners of Agile development processes. These processes often rely on developers to rapidly produce working code that meets business needs and to do so in an iterative and incremental way. Such methodologies tend to eschew “throwaway” artifacts and models as being wasteful except as a communication vehicle to produce executable code. These approaches are not readily supported with traditional heavyweight approaches to model-driven development such as the Object Management Group’s Model-Driven Architecture approach. This research asks whether it is possible for a domain-specific modeling language written in a dynamic programming language to define a cross-platform model that can produce native code and do so in a way that developer productivity and code quality are at least as effective as hand-written code produced using native tools. Using a prototype modeling tool, AXIOM (Agile eXecutable and Incremental Objectoriented Modeling), we examine this question through small- and mid-scale experiments and find that the AXIOM approach improved developer productivity by almost 400%, albeit only after some up-front investment. We also find that the generated code can be of equal if not better quality than the equivalent hand-written code. Finally, we find that there are significant challenges in the synthesis of a DSML that can be used to model applications across platforms as diverse as today’s mobile operating systems, which point to intriguing avenues of subsequent research

    View-based textual modelling

    Get PDF
    This work introduces the FURCAS approach, a framework for view-based textual modelling. FURCAS includes means that allow software language engineers to define partial and overlapping textual modelling languages. Furthermore, FURCAS provides an incremental update approach that enables modellers to work with multiple views on the same underlying model. The approach is validated against a set of formal requirements, as well as several industrial case studies showing its practical applicability

    Desarrollo de una herramienta de gestión para sistemas contra incendios basada en modelos conceptuales: de requisitos a código

    Full text link
    [ES] La idea del proyecto es aplicar un método de producción de software de requisitos a código. Se utilizarán modelos conceptuales en un entorno real, incluyendo un modelo organizacional basado en iStar (i*) definiendo objetivos y actores de la organización estratégicos. Tras ello, se elaborará un modelo de negocios con notación de análisis comunicacional para representar los procesos de la organización. A partir de estos procesos y requisitos, se generarán un modelo conceptual que represente esos requisitos. A partir de estos modelos, se implementará mediante la tecnología Flutter la aplicación final, que deberá ser coherente con todos los modelos desarrollados. La finalidad del trabajo será ver cual es la trazabilidad del desarrollo de un sistema de información complejo, desde los requisitos hasta el código, observando qué aspectos son susceptibles de ser automatizados para ayudar posteriormente a otros proyectos en la mayor medida posible aprovechando los mapeados y correspondencias conceptuales de este proyecto. La aplicación y el método se hará en base al desarrollo de una herramienta de gestión para una empresa de mantenimiento e instalaciones de sistemas contra incendios.[EN] The idea of the project is to apply a software production method from requirements to code. Conceptual models will be used in a real-world environment, including an organizational model based on iStar (i*) defining strategic organizational objectives and actors. After that, a business model with notation of communication analysis will be developed to represent the processes of the organization. Based on these processes and requirements, a conceptual model will be generated that represents those requirements. From these models, the final application will be implemented using Flutter technology, which must be consistent with all developed models. The purpose of the work will be to see what is the traceability of the development of a complex information system, from requirements to code, observing which aspects are likely to be automated to then assist other projects to the greatest extent possible by taking advantage from the mappings and conceptual correspondences from this project. The application and method will be made on the basis of the development of a management tool for a maintenance company and fire system installations.Jordà Verdú, A. (2020). Desarrollo de una herramienta de gestión para sistemas contra incendios basada en modelos conceptuales: de requisitos a código. http://hdl.handle.net/10251/151720TFG

    Automating System-Level Data-Interchange Software Through a System Interface Description Language

    Get PDF
    RÉSUMÉ Les plates-formes d'aujourd'hui, telles que les simulateurs de missions (FMS), présentent un niveau sans précédent d'intégration de systèmes matériels et logiciels. Dans ce contexte, les intégrateurs de systèmes sont confrontés à une hétérogénéité d'interfaces système qui doivent être alignées et reliées ensemble afin de fournir les capacités prévues d'une plate-forme. Le seul aspect des échanges de données système est problématique allant de données désalignées jusqu'à des environnements multi-architecturaux utilisant différents types de protocoles de communication. Les intégrateurs sont également confrontés à des défis similaires lors de l'interaction de multiples plates-formes ensemble à travers des environnements de simulation distribuée où chaque plate-forme peut être considérée comme un système avec sa propre interface distincte. D'autre part, permettre la réutilisation de système à travers diverses plates-formes en support aux gammes de produits est un défi pour les fournisseurs de systèmes, car ils doivent adapter leurs interfaces système à des plates-formes hétérogènes faisant donc face aux mêmes difficultés que les intégrateurs. En outre, l'introduction de modifications aux interfaces système afin de répondre aux besoins tardifs d'affaires, ou à des contraintes de performance imprévues, par exemple, est d'autant plus ardue que leurs impacts sont difficiles à prévoir et que leurs effets sont souvent décelés tard dans le processus d'intégration. En conséquence, cette thèse aborde la nécessité de simplifier l'intégration et l'interopérabilité système afin de réduire leurs coûts associés et d'accroître leur efficacité ainsi que leur efficience. Elle est destinée à apporter de nouvelles avancées dans les domaines de l'intégration système et de l'interopérabilité système. Notamment, en établissant une taxonomie commune, et en augmentant la compréhension des interfaces système, des divers aspects impactant les échanges de données système, des considérations des environnements multi-architecturaux, ainsi que des facteurs permettant la gouvernance d'interface ainsi que de la réutilisation système. À cette fin, deux objectifs de recherche ont été formulés. Le premier objectif vise à définir un langage utilisé pour décrire les interfaces système et les divers aspects entourant leurs échanges de données. Par conséquent, trois aspects principaux sont étudiés relatifs aux interfaces système: les éléments de langage pertinents utilisés pour les décrire, la modélisation des interfaces système avec ce langage, et la capture des considérations multi-architecturales. Le second objectif vise à définir une méthode pour automatiser le logiciel responsable des échanges de données système comme moyen pour simplifier les tâches impliquées dans l'intégration et l'interopérabilité système. Par conséquent, les compilateurs de modèles et les techniques de génération de code sont étudiés. La démonstration de ces objectifs apporte de nouvelles avancées dans l'état de l'art de l'intégration système et de l'interopérabilité système. Notamment, ceci culmine en un nouveau langage de description d'interface système, SIDL, utilisé pour capturer les interfaces système et les divers aspects entourant leurs échanges de données, ainsi qu'en une nouvelle méthode pour automatiser le logiciel d'échange de données au niveau système à partir des interfaces systèmes capturées dans ce langage. L'avènement de SIDL contribue également une nouvelle taxonomie fournissant une perspective complète sur l'interopérabilité système ainsi qu'en un langage commun qui peut être partagé entre les parties prenantes, tels que les intégrateurs, les fournisseurs et les experts système. Étant agnostique aux architectures, SIDL fournit un seul point de vue architectural supervisant toutes les interfaces système et capture les considérations multi-architecturales ce qui n'a jamais été réalisé avant ce travail. D'autant plus, un générateur de code SIDL est introduit présentant la nouveauté de générer le logiciel d'échange de données à partir d'un bassin plus riche d'information, notamment à partir des relations système de haut niveau allant jusqu'au bas niveau couvrant les détails protocolaires et d'encodage. En raison des considérations multi-architecturales qui sont capturées nativement dans SIDL, ceci permet au générateur de code d'être agnostique aux architectures le rendant réutilisable dans d'autres contextes. Cette thèse ouvre également la voie à de futures recherches bâtissant sur ses contributions. Elle propose même une vision pour le développement d'applications logicielles avec comme objectif final de repousser encore plus loin les limites de la simplification et de l'automatisation des tâches liées à l'intégration et à l'interopérabilité système.----------ABSTRACT Today’s platforms, such as full mission simulators (FMSs), exhibit an unprecedented level of hardware and software system integration. In this context, system integrators face heterogeneous system interfaces which need to be aligned and interconnected together in order to deliver a platform's intended capabilities. The sole aspect of the data systems exchange is problematic ranging from data misalignment up to multi-architecture environments over varying kinds of communication protocols. Similar challenges are also faced by integrators when interoperating multiple platforms together through distributed simulation environments where each platform can be seen as a system with its own distinct interface. On the other hand, enabling system reuse across multiple platforms for product line support is challenging for system suppliers, as they need to adapt system interfaces to heterogeneous platforms therefore facing similar challenges as integrators. Furthermore, the introduction of system interface changes in order to respond to late business needs, or unforeseen performance constraints for instance, is even more arduous as impacts are challenging to predict and their effect are often found late into the integration process. Consequently, this thesis tackles the need to simplify system integration and interoperability in order to reduce their associated costs and increase their effectiveness along with their efficiency. It is meant to bring new advances in the fields of system integration and system interoperability. Notably, by establishing a common taxonomy, and by increasing the understanding of system interfaces, the various aspects impacting system data exchanges, multi-architecture environment considerations, and the factors enabling interface governance as well as system reuse. To this end, two research objectives have been formulated. The first objective aims at defining a language used to describe system interfaces and the various aspects surrounding their data exchanges. Therefore, three key aspects are studied relating to system interfaces: the relevant language elements used to describe them, modeling system interfaces with the language, and capturing multi-architecture considerations. The second objective aims at defining a method to automate the software responsible for system data exchanges as a way of simplifying the tasks involved in system integration and interoperability. Therefore, model compilers and code generation techniques are studied. The demonstration of these objectives brings new advances in the state of the art of system integration and system interoperability. Notably, this culminates in a novel system interface description language, SIDL, used to capture system interfaces and the various aspects surrounding their data exchanges, as well as a new method for automating the system-level data-interchange software from system interfaces captured in this language. The advent of SIDL also contributes a new taxonomy providing a comprehensive perspective over system interoperability as well as a common language which can be shared amongst stakeholders, such as integrators, suppliers, and system experts. Being architecture-agnostic, SIDL provides a single architectural viewpoint overseeing all system interfaces and capturing multi-architecture considerations which was never achieved prior to this work. Furthermore, a SIDL code generator is introduced which has the novelty of generating the data-interchange software from a richer pool of information, notably from the high-level system relationships down to the low-level protocol and encoding details. Because multi-architecture considerations are captured natively in SIDL, this enables the code generator to be architecture-agnostic making it reusable in other contexts. This thesis also paves the way for future research building upon its contributions. It even proposes a vision for software application development with the end goal being to push further the boundaries of simplifying and automating the tasks involved in system integration and interoperability
    corecore