1,050 research outputs found

    Collaboration Between Developers and Designers

    Get PDF
    Customer-facing applications are essential for businesses. Therefore, a good user experience is fundamental for their success in the market. Companies nowadays employ highly specialized people in front-end development and User Experience (UX) & User Interface (UI) design to achieve this goal. Their collaboration is critical, and raises some efficiency challenges in the software industry. This work focuses and is applied on OutSystems, a low-code platform that inherits these challenges. While there are some code-generation plugins for popular design tools, these do not generate code for low-code platforms. Therefore, the transformation process from design to development is done 100% manually, which is highly inefficient. Our goal is to accelerate this transformation process from a design model to a development model to mitigate this inefficiency. To do so, we developed an approach using model transformation techniques that automates part of the process. Namely, it automates the generation of application pages/screens by composing the screen mockups in a design technology (such as Figma or Sketch) with a library of reusable UI components to instantiate the design in a front-end technology (such as OutSystems). Our approach was validated by a professional team of front-end developers from an established enterprise-grade low-code platform who applied and evaluated this work on some of their past real projects. Preliminary results show an overall acceptance of the developed tool with a possible increase of 150% to 400% in the value that they can deliver without investing more effort than they already do today. This mitigates a bottleneck faced by development teams today. To increase the value, they could offer to customers (e.g., by producing more application screens in the same period), they would need to recruit new collaborators whose skill set is high on demand. This work delivers major efficiency improvements and lessens the severe lack of qualified professionals, by allowing existing ones to produce more without investing further effort.As aplicações são algo essencial para as empresas. Uma boa experiência de utilizador é fundamental para o sucesso destas aplicações no mercado. Hoje em dia, para alcançar este objetivo, as empresas empregam pessoas altamente especilaizadas em desenvolvimento Front-End e de UX (User Experience) & UI (User Interface) design. A colaboração destas equipas é crucial e de momento apresenta desafios de eficiência na indústria do software. Este trabalho foca-se na OutSystems, uma plataforma low-code, que tem subjacente estas ineficiências que estão presentes em toda a industria. Embora atualmente existam alguns plugins de geração de código para as ferramentas de design populares, estes não geram código para plataformas low-code. Portanto, o processo de transformação de design para desenvolvimento é um processo 100% manual, o que resulta em perdas de eficiência que serão refletidas no valor final entregue aos clientes. O nosso objetivo é acelarar este processo de conversão de um modelo de design para um modelo de desenvolvimento Front-End para mitigar esta ineficiência. Para tal, desenvolvemos uma abordagem utilizando técnicas de transformação de modelos que automatizam parte do processo. Nomeadamente, este automatiza a geração de páginas/ecrãs de aplicações através da composição de mockups de ecrãs numa tecnologia de design (como o Sketch) com uma biblioteca de componentes de UI reutilizáveis para instanciar o design numa tecnologia Front-End (como a OutSystems). A nossa abordagem foi validada por uma equipa profissional de desenvolvimento Front-End de uma plataforma low-code de nível empresarial que aplicaram e avaliaram o trabalho em projetos passados reais da equipa. Os resultados preliminares mostram uma aceitação global da ferramenta desenvolvida, com um possível aumento entre 150% a 400% no valor que conseguem oferecer. Isto permite mitigar um ponto de fricção que as equipas de desenvolvimento encontram de momento. Para aumentar o valor que a equipa consegue entregar aos clientes (por exemplo, através da produção de mais ecrãs no mesmo período de tempo), estes necessitariam de empregar novos colaboradores cujas habilidades têm elevada procura. O nosso trabalho oferece uma alternativa mais económica para o aumento da eficiência e ao mesmo tempo diminui o impacto da escassez de profissionais qualificados, ao permitir que os já existentes consigam produzir mais sem investimento adicional da sua parte

    Using Workflows to Automate Activities in MDE Tools

    Full text link
    Le génie logiciel a pour but de créer des outils logiciels qui permettent de résoudre des problèmes particuliers d’une façon facile et efficace. À cet égard, l’ingénierie dirigée par les modèles (IDM), facilite la création d’outils logiciels, en modélisant et transformant systématiquement des modèles. À cette fin, l’IDM s’appuie sur des workbenches de langage : des environnements de développement intégré (IDE) pour modéliser des langages, concevoir des modèles, les exécuter et les vérifier. Mais l’utilisation des outils est loin d’être efficace. Les activités de l’IDM typiques, telles que la création d’un langage de domaine dédié ou créer une transformation de modèles, sont des activités complexes qui exigent des opérations souvent répétitives. Par conséquent, le temps de développement augmentate inutilement. Le but de ce mémoire est de proposer une approche qui augmente la productivité des modélisateurs dans leurs activités quotidiennes en automatisant le plus possible les tâches à faire dans les outils IDM. Je propose une solution utilisant l’IDM où l’utilisateur définit un flux de travail qui peut être paramétré lors de l’exécution. Cette solution est implémentée dans un IDE pour la modélisation graphique. À l’aide de deux évaluations empiriques, je montre que la productivité des utilisateurs est augmentée et amééliorée.Software engineering aims to create software tools that allow people to solve particular problems in an easy and efficient way. In this regard, Model-driven engineering (MDE) enables to generate software tools, by systematically modeling and transforming models. In order to do this, MDE relies on language workbenches: Integrated Development Environment (IDE) for engineering modeling languages, designing models executing them and verifying them. However, the usability of these tools is far from efficient. Common MDE activities, such as creating a domain-specific language or developing a model transformation, are nontrivial and often require repetitive tasks. This results in unnecessary risings of development time. The goal of this thesis is to increase the productivity of modelers in their daily activities by automating the tasks performed in current MDE tools. I propose an MDE-based solution where the user defines a reusable workflow that can be parameterized at run-time and executed. This solution is implemented in an IDE for graphical modeling. I also performed two empirical evaluations in which the users’ productivity is improved

    Traceability support in software product lines

    Get PDF
    Dissertação apresentada na Faculdade de Ciências e Tecnologia da Universidade Nova de Lisboa para a obtenção do grau de Mestre em Engenharia Informática.Traceability is becoming a necessary quality of any modern software system. The complexity in modern systems is such that, if we cannot rely on good techniques and tools it becomes an unsustainable burden, where software artifacts can hardly be linked to their initial requirements. Modern software systems are composed by a many artifacts (models, code, etc.). Any change in one of them may have repercussions on many components. The assessment of this impact usually comes at a high cost and is highly error-prone. This complexity inherent to software development increases when it comes to Software Product Line Engineering. Traceability aims to respond to this challenge, by linking all the software artifacts that are used, in order to reason about how they influence each others. We propose to specify, design and implement an extensible Traceability Framework that will allow developers to provide traceability for a product line, or the possibility to extend it for other development scenarios. This MSc thesis work is to develop an extensible framework, using Model-Driven techniques and technologies, to provide traceability support for product lines. We also wish to provide basic and advanced traceability queries, and traceability views designed for the needs of each user

    Digital Ecosystems: Ecosystem-Oriented Architectures

    Full text link
    We view Digital Ecosystems to be the digital counterparts of biological ecosystems. Here, we are concerned with the creation of these Digital Ecosystems, exploiting the self-organising properties of biological ecosystems to evolve high-level software applications. Therefore, we created the Digital Ecosystem, a novel optimisation technique inspired by biological ecosystems, where the optimisation works at two levels: a first optimisation, migration of agents which are distributed in a decentralised peer-to-peer network, operating continuously in time; this process feeds a second optimisation based on evolutionary computing that operates locally on single peers and is aimed at finding solutions to satisfy locally relevant constraints. The Digital Ecosystem was then measured experimentally through simulations, with measures originating from theoretical ecology, evaluating its likeness to biological ecosystems. This included its responsiveness to requests for applications from the user base, as a measure of the ecological succession (ecosystem maturity). Overall, we have advanced the understanding of Digital Ecosystems, creating Ecosystem-Oriented Architectures where the word ecosystem is more than just a metaphor.Comment: 39 pages, 26 figures, journa

    Using formal methods to develop WS-BPEL applications

    Get PDF
    In recent years, WS-BPEL has become a de facto standard language for orchestration of Web Services. However, there are still some well-known difficulties that make programming in WS-BPEL a tricky task. In this paper, we firstly point out major loose points of the WS-BPEL specification by means of many examples, some of which are also exploited to test and compare the behaviour of three of the most known freely available WS-BPEL engines. We show that, as a matter of fact, these engines implement different semantics, which undermines portability of WS-BPEL programs over different platforms. Then we introduce Blite, a prototypical orchestration language equipped with a formal operational semantics, which is closely inspired by, but simpler than, WS-BPEL. Indeed, Blite is designed around some of WS-BPEL distinctive features like partner links, process termination, message correlation, long-running business transactions and compensation handlers. Finally, we present BliteC, a software tool supporting a rapid and easy development of WS-BPEL applications via translation of service orchestrations written in Blite into executable WS-BPEL programs. We illustrate our approach by means of a running example borrowed from the official specification of WS-BPEL

    Panning for gold: designing pedagogically-inspired learning nuggets

    Get PDF
    Tools to support teachers and learning technologists in the creation of effective learning designs are currently in their infancy. This paper describes a metadata model, devised to assist in the conception and design of new learning activities, that has been developed, used and evaluated over a period of three years. The online tool that embodies this model was not originally intended to produce runtime executable code such as IMS-LD, but rather focussed on assisting teachers in the thought processes involved in selecting appropriate methods, tools, student activities and assessments to suit the required learning objectives. Subsequently, we have modified the RELOAD editor such that the output from our tool can be translated into IMS-LD. The contribution of this paper is the comparison of our data model with that of IMS-LD, and the analysis of how each can inform the other

    Aspect-oriented refactoring of Java programs

    Get PDF
    corecore