39,580 research outputs found
Domain-specific languages for ecological modelling
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
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
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
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
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
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
- …