988 research outputs found
An End-User Development Perspective on State-of-the-Art Web Development Tools
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
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
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)
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
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
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
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
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
- …