39,580 research outputs found

    Domain-specific languages for ecological modelling

    Get PDF
    The primary concern of an ecological modeller is to construct a model that is mathematically correct and that correctly represents the essence of a natural system. When models are published as software, it is moreover in the hope of capturing an audience who will use and appreciate the model. For that purpose, the model software must be provided with an intuitive, flexible and expressive user interface. A graphical user interface (GUI) is the commonly accepted norm but in this review we suggest, that a domain-specific language (DSL) in many cases would provide as good an interface as a GUI, or even better. We identified only 13 DSLs that have been used in ecological modelling, revealing a general ignorance of DSLs in the ecological modelling community. Moreover, most of these DSLs were not formulated for the ecological modelling domain but for the broader, generic modelling domain. We discuss how DSLs could possibly fill out a vacant niche in the dominant paradigm for ecological modelling, which is modular, object-oriented and often component-based. We conclude that ecological modelling would benefit from a wider appreciation of DSL methodology. Especially, there is a scope for new DSLs operating in the rich concepts of ecology, rather than in the bland concepts of modelling generics

    Owl Eyes: Spotting UI Display Issues via Visual Understanding

    Full text link
    Graphical User Interface (GUI) provides a visual bridge between a software application and end users, through which they can interact with each other. With the development of technology and aesthetics, the visual effects of the GUI are more and more attracting. However, such GUI complexity posts a great challenge to the GUI implementation. According to our pilot study of crowdtesting bug reports, display issues such as text overlap, blurred screen, missing image always occur during GUI rendering on different devices due to the software or hardware compatibility. They negatively influence the app usability, resulting in poor user experience. To detect these issues, we propose a novel approach, OwlEye, based on deep learning for modelling visual information of the GUI screenshot. Therefore, OwlEye can detect GUIs with display issues and also locate the detailed region of the issue in the given GUI for guiding developers to fix the bug. We manually construct a large-scale labelled dataset with 4,470 GUI screenshots with UI display issues and develop a heuristics-based data augmentation method for boosting the performance of our OwlEye. The evaluation demonstrates that our OwlEye can achieve 85% precision and 84% recall in detecting UI display issues, and 90% accuracy in localizing these issues. We also evaluate OwlEye with popular Android apps on Google Play and F-droid, and successfully uncover 57 previously-undetected UI display issues with 26 of them being confirmed or fixed so far.Comment: Accepted to 35th IEEE/ACM International Conference on Automated Software Engineering (ASE 20

    PLASMA-lab: A Flexible, Distributable Statistical Model Checking Library

    Get PDF
    International audienceWe present PLASMA-lab, a statistical model checking (SMC) library that provides the functionality to create custom statistical model checkers based on arbitrary discrete event modelling languages. PLASMA-lab is written in Java for maximum cross-platform compatibility and has already been incorporated in various performance-critical software and embedded hardware platforms. Users need only implement a few simple methods in a simulator class to take advantage of our efficient SMC algorithms. PLASMA-lab may be instantiated from the command line or from within other software. We have constructed a graphical user interface (GUI) that exposes the functionality of PLASMA-lab and facilitates its use as a standalone application with multiple 'drop-in' modelling languages. The GUI adds the notion of projects and experiments, and implements a simple, practical means of distributing simulations using remote clients

    Unified GUI adaptation in Dynamic Software Product Lines

    Get PDF
    In the modern world of mobile computing and ubiquitous technology, society is able to interact with technology in new and fascinating ways. To help provide an improved user experience, mobile software should be able to adapt itself to suit the user. By monitoring context information based on the environment and user, the application can better meet the dynamic requirements of the user. Similarly, it is noticeable that programs can require different static changes to suit static requirements. This program commonality and variability can benefit from the use of Software Product Line Engineering, reusing artefacts over a set of similar programs, called a Software Product Line (SPL). Historically, SPLs are limited to handling static compile time adaptations. Dynamic Software Product Lines (DSPL) however, allow for the program configuration to change at runtime, allow for compile time and runtime adaptation to be developed in a single unified approach. While currently DSPLs provide methods for dealing with program logic adaptations, variability in the Graphical User Interface (GUI) has largely been neglected. Due to this, depending on the intended time to apply GUI adaptation, different approaches are required. The main goal of this work is to extend a unified representation of variability to the GUI, whereby GUI adaptation can be applied at compile time and at runtime. In this thesis, an approach to handling GUI adaptation within DSPLs, providing a unified representation of GUI variability is presented. The approach is based on Feature-Oriented Programming (FOP), enabling developers to implement GUI adaptation along with program logic in feature modules. This approach is applied to Document-Oriented GUIs, also known as GUI description languages. In addition to GUI unification, we present an approach to unifying context and feature modelling, and handling context dynamically at runtime, as features of the DSPL. This unification can allow for more dynamic and self-aware context acquisition. To validate our approach, we implemented tool support and middleware prototypes. These different artefacts are then tested using a combination of scenarios and scalability tests. This combination first helps demonstrate the versatility and its relevance of the different approach aspects. It further brings insight into how the approach scales with DSPL size

    Virtual sculpting and 3D printing for young people with disabilities

    Get PDF
    In this paper, we present the SHIVA project which was designed to provide virtual sculpting tools for young people with complex disabilities, to allow them to engage with artistic and creative activities that they might otherwise never be able to access. Modern 3D printing then allows us to physically build their creations. To achieve this, we combined our expertise in education, accessible technology, user interfaces and geometric modelling. We built a generic accessible graphical user interface (GUI) and a suitable geometric modelling system and used these to produce two prototype modelling exercises. These tools were deployed in a school for students with complex disabilities and are now being used for a variety of educational and developmental purposes. In this paper, we present the project's motivations, approach and implementation details together with initial results, including 3D printed objects designed by young people who have disabilties

    Developing an online monitor for discrete simulations

    Get PDF
    Master's thesis in Computer ScienceThis paper covers the design and implementation of a graphical simulation monitoring program. The monitor works in real-time or simulation time. The monitor is compatible with the modelling and simulation tool GPenSIM (General-purpose Petri Net Simulator). The monitor shows the current state of a simulation in a graphical user interface (GUI) window while it is running. The monitor and GPenSIM are both running on the MATLAB platform. The tool is easy to use while enabling user customization. It also includes the ability to show historical data in the form of logging and plotting
    • …
    corecore