988 research outputs found

    An End-User Development Perspective on State-of-the-Art Web Development Tools

    Get PDF
    We reviewed and analyzed nine commercially available web development tools from the perspective of suitability for end-user development to compare and contrast alternative and best-of-breed approaches for particular problem areas within web application development (Getting Started, Workflow, Level of Abstraction, Layout, Database, Application Logic, Testing and Debugging, Learning and Scaling, Security, Collaboration, and Deployment). End-user development involves the creation of dynamic websites with support for features like authentication, conditional display, and searching/sorting by casual web developers who have some experience creating static websites but little or no programming knowledge. We found that current tools do not lack functionality, but rather have a variety of problems in ease of use for end users who are nonprogrammers. In particular, while many tools offer wizards and other features designed to facilitate specific aspects of end-user development, none of the tools that we reviewed supports a holistic approach to web application development. We discuss the implications of these problems and conclude with recommendations for the design of improved web development tools that would lower the entry barrier into web programming

    Toward Customizable Multi-tenant SaaS Applications

    Get PDF
    abstract: Nowadays, Computing is so pervasive that it has become indeed the 5th utility (after water, electricity, gas, telephony) as Leonard Kleinrock once envisioned. Evolved from utility computing, cloud computing has emerged as a computing infrastructure that enables rapid delivery of computing resources as a utility in a dynamically scalable, virtualized manner. However, the current industrial cloud computing implementations promote segregation among different cloud providers, which leads to user lockdown because of prohibitive migration cost. On the other hand, Service-Orented Computing (SOC) including service-oriented architecture (SOA) and Web Services (WS) promote standardization and openness with its enabling standards and communication protocols. This thesis proposes a Service-Oriented Cloud Computing Architecture by combining the best attributes of the two paradigms to promote an open, interoperable environment for cloud computing development. Mutil-tenancy SaaS applicantions built on top of SOCCA have more flexibility and are not locked down by a certain platform. Tenants residing on a multi-tenant application appear to be the sole owner of the application and not aware of the existence of others. A multi-tenant SaaS application accommodates each tenant’s unique requirements by allowing tenant-level customization. A complex SaaS application that supports hundreds, even thousands of tenants could have hundreds of customization points with each of them providing multiple options, and this could result in a huge number of ways to customize the application. This dissertation also proposes innovative customization approaches, which studies similar tenants’ customization choices and each individual users behaviors, then provides guided semi-automated customization process for the future tenants. A semi-automated customization process could enable tenants to quickly implement the customization that best suits their business needs.Dissertation/ThesisDoctoral Dissertation Computer Science 201

    Chapter Operationalizing Heterogeneous Data-Driven Process Models for Various Industrial Sectors through Microservice-Oriented Cloud-Based Architecture

    Get PDF
    Industrial performance optimization increasingly makes the use of various analytical data-driven models. In this context, modern machine learning capabilities to predict future production quality outcomes, model predictive control to better account for complex multivariable environments of process industry, Bayesian Networks enabling improved decision support systems for diagnostics and fault detection are some of the main examples to be named. The key challenge is to integrate these highly heterogeneous models in a holistic system, which would also be suitable for applications from the most different industries. Core elements of the underlying solution architecture constitute highly decoupled model microservices, ensuring the creation of largely customizable model runtime environments. Deployment of isolated user-space instances, called containers, further extends the overall possibilities to integrate heterogeneous models. Strong requirements on high availability, scalability, and security are satisfied through the application of cloud-based services. Tieto successfully applied the outlined approach during the participation in FUture DIrections for Process industry Optimization (FUDIPO), a project funded by the European Commission under the H2020 program, SPIRE-02-2016

    WOLF: a Research Platform to Write NFC Secure Applications on Top of Multiple Secure Elements (With an Original SQL-Like Interface)

    No full text
    International audienceThis article presents the WOLF (Wallet Open Library Framework) platform which supports an original interface for NFC developers called " SE-QL ". SE-QL is a SQL-like interface which eases and optimizes NFC secure application development in making the heterogeneity of the Secure Element (SE) transparent. SE implementation could be " embedded " (eSE) in the mobile device, or inside the SIM Card (UICC), or " on-host " software-based, or in the Cloud (e.g. through HCE); every SE implementation has its own interface(s) making NFC secure-application development extremely cumbersome and complex. Proposed SE-QL solves this problem. This article demonstrates the feasibility and attractiveness of our approach based upon an original high-level API

    Data collection, analysis methods and equipment for naturalistic studies and requirements for the different application areas. PROLOGUE Deliverable D2.1

    Get PDF
    Naturalistic driving observation is a relatively new method for studying road safety issues, a method by which one can objectively observe various driver- and accident related behaviour. Typically, participants get their own vehicles equipped with some sort of data logging device that can record various driving behaviours such as speed, braking, lane keeping/variations, acceleration, deceleration etc., as well as one or more video cameras. In this way normal drivers are observed in their normal driving context while driving their own vehicles. Optimally, this allows for observation of the driver, vehicle, road and traffic environments and interaction between these factors. The main objective of PROLOGUE is to demonstrate the usefulness, value, and feasibility of conducting naturalistic driving observation studies in a European context in order to investigate traffic safety of road users, as well as other traffic related issues such as eco-driving and traffic flow/traffic management. The current deliverable aims to develop an inventory of the current and appropriate data collection and data analysis equipment for naturalistic observation studies together with a theoretical analysis of the requirements for different application areas. The deliverable also discusses data quality issues and top level data base management requirements. Among the reviewed literature, maximal use is made of the extensive knowledge and experience that comes from the EU projects FESTA and EuroFOT, the 100car study and the SHRP2 preparatory safety

    Domain Specific Languages for Managing Feature Models: Advances and Challenges

    Get PDF
    International audienceManaging multiple and complex feature models is a tedious and error-prone activity in software product line engineering. Despite many advances in formal methods and analysis techniques, the supporting tools and APIs are not easily usable together, nor unified. In this paper, we report on the development and evolution of the Familiar Domain-Specific Language (DSL). Its toolset is dedicated to the large scale management of feature models through a good support for separating concerns, composing feature models and scripting manipulations. We overview various applications of Familiar and discuss both advantages and identified drawbacks. We then devise salient challenges to improve such DSL support in the near future

    A Customizable IoT Platform Developed Using Low-Code

    Get PDF
    In nowadays’ societies and businesses’ ecosystems of acceleration, it is of most importance the digitalization of the formers. In this sense, Internet of Things (IoT) emerges to connect devices to the internet, allowing the access to large amounts of data and, through its analysis, to act upon it. An IoT platform allows, among others, to manage IoT devices. Nonetheless, its development is still a complex and expensive process that requires high technical knowledge. To accelerate developments when building IoT applications, this thesis proposes the use of Low-Code platforms, such as Outsystems. To improve the user experience, an embedded customizable dashboard is included in the platform. To achieve this, a reusable Forge component was built and is currently available for download and in use by the community. This component allows to provide drag and drop functionalities to both web and mobile applications. In this case, it will allow the reordering of dashboard cards to personalize dashboards. Another component that enables barcode/qr code reading by Zebra devices is also included in this thesis. To assess the developed IoT platform, an IoT device prototype was created, using an Arduino with an ESP module, as well as a set of sensors and actuators that communicate with the IoT platform via the Message Queuing Telemetry Transport (MQTT) protocol.No ecossistema de aceleração em que a sociedade e as indústrias se encontram actualmente, é da maior importância a rápida digitalização das mesmas. O conceito de Internet of Things (IoT) surge então para conectar uma grande diversidade de dispositivos à internet, possibilitando o acesso a uma grande quantidade de dados e, aquando da análise dos mesmos, optimizar um conjunto de operações. Plataformas IoT são ferramentas bastante úteis em projectos IoT. Estas permitem, entre outros, a gestão de dispositivos IoT, no entanto, o seu desenvolvimento é um processo complexo e demorado que requer elevados orçamentos e conhecimentos técnicos. Para acelerar o desenvolvimento deste tipo de plataformas, esta dissertação propõe o uso plataformas de desenvolvimento Low-Code, nomeadamente Outsystems. Para melhorar a experiência de utilizador, neste trabalho é proposta uma plataforma IoT com dashboards personalizáveis, utilizando uma arquitetura modular. Para tal, foi desenvolvido um componente reutilizável, publicado na Forge e que está atualmente disponível e a ser utilizado pela comunidade. O mesmo permite adicionar a funcionalidade de drag and drop em aplicações web e mobile. Neste caso, o componente permite arrastar cartões, de forma a personalizar dashboards. Um outro componente que permite a leitura de códigos qr/de barras foi também desenvolvido e encontra-se disponível para download. Para validar a plataforma desenvolvida, foi criado um protótipo de um dispositivo IoT, utilizando um Arduino com um módulo ESP e um conjunto de sensores e atuadores, que comunica com a plataforma através do protocolo MQTT

    Selection of heterogeneous test environments for the execution of automated tests

    Get PDF
    As software complexity grows so does the size of automated test suites that enable us to validate the expected behavior of the system under test. When that occurs, problems emerge for developers in the form of increased effort to manage the test process and longer execution time of test suites. Manual managing automated tests is especially problematic, as the recurring costa of guaranteeing that the automated tests (e.g.: thousands) are correctly configured to execute on the available test environments (e.g.: dozens or hundreds), on a regular basis and during the products lifetime may become huge, with unbearable human effort involved. This problem increases substantially when the system under test is one highly configurable product, requiring to be validated in heterogeneous environments, especially when these target test environments also evolve frequently (e.g.: new operating systems, new browsers, new mobile devices, ...). Being an integral part of software development, testing needs to evolve and break free from the conventional methods. This dissertation presents a technique that extends one existent algorithm to reduce the number of test executions, and extend it, enabling to perform the test case distribution over multiples heterogeneous test environments. The development, implementation and validation of the technique presented in this dissertation were conducted in the industrial context of an international software house. Real development scenarios were used to conduct experiments and validations, and the results demonstrated that the proposed technique is effective in terms of eliminating the human effort involved in test distribution.À medida que a complexidade do software aumenta o mesmo acontece com a dimensão das suites de testes automizados que permitem validar o comportamento esperado do sistema que está a ser testado. Quando isso ocorre, aparecem problemas para os programadores sob a forma de aumento de esforço necessário para gerir o processo de teste e maior tempo de execução das suites de teste. Gerir manualmente milhares de testes automatizados é especialmente problemático uma vez que os custos recorrentes de garantir que os testes automatizados (ex: milhares) estão corretamente configurados para executar nos ambientes de testes disponíveis (ex: dezenas ou centennas), durante o tempo de vida dos produtos pode tornar-se gigantesco. Este problema aumenta substancialmente quando o sistema que está a ser testado é um produto altamente configurável, precisando de ser validado em ambientes heterogéneos, especialmente quando também estes ambientes destino de testes também evoluem frequentemente (ex: novos sistemas operativos, novos browsers, novos devices móveis, ...). O tempo de execução destas suites de testes torna-se também um problema enorme, dado que não é viável executar todos as suites de testes em todas as configurações possiveis. Sendo uma parte integral do desenvolvimento de software, a forma de testar precisa de evoluir e libertar-se dos métodos convencionais. Esta dissertação apresenta uma técnica que estende um algoritmo existente que permite reduzir o número de execuções de testes, e estende-o, permitindo fazer a distribuição de casos de teste sobre múltiplos ambientes de teste heterogéneos. O desenvolvimento, implementação e validação da técnica proposta na presente dissertação foram conduzidos no contexto industrial de uma empresa internacional de desenvolvimento de software. Foram utilizados cenários de desenvolvimento de software reais para conduzir experiências e validações, e os resultados demonstraram que a técnica proposta é eficaz em termos de eliminar o esforo humano envolvido na distribuição de testes
    • …
    corecore