51,218 research outputs found

    Refinement for user interface designs

    Get PDF
    Formal approaches to software development require that we correctly describe (or specify) systems in order to prove properties about our proposed solution prior to building it. We must then follow a rigorous process to transform our specification into an implementation to ensure that the properties we have proved are retained. Different transformation, or refinement, methods exist for different formal methods, but they all seek to ensure that we can guide the transformation in a way which preserves the desired properties of the system. Refinement methods also allow us to subsequently compare two systems to see if a refinement relation exists between the two. When we design and build the user interfaces of our systems we are similarly keen to ensure that they have certain properties before we build them. For example, do they satisfy the requirements of the user? Are they designed with known good design principles and usability considerations in mind? Are they correct in terms of the overall system specification? However, when we come to implement our interface designs we do not have a defined process to follow which ensures that we maintain these properties as we transform the design into code. Instead, we rely on our judgement and belief that we are doing the right thing and subsequent user testing to ensure that our final solution remains useable and satisfactory. We suggest an alternative approach, which is to define a refinement process for user interfaces which will allow us to maintain the same rigorous standards we apply to the rest of the system when we implement our user interface designs

    Using formal models to design user interfaces a case study

    Get PDF
    The use of formal models for user interface design can provide a number of benefits. It can help to ensure consistency across designs for multiple platforms, prove properties such as reachability and completeness and, perhaps most importantly, can help incorporate the user interface design process into a larger, formally-based, software development process. Often, descriptions of such models and examples are presented in isolation from real-world practice in order to focus on particular benefits, small focused examples or the general methodology. This paper presents a case study of developing the user interface to a new software application using a particular pair of formal models, presentation models and presentation interaction models. The aim of this study was to practically apply the use of formal models to the design process of a UI for a new software application. We wanted to determine how easy it would be to integrate such models into our usual development process and to find out what the benefits, and difficulties, of using such models were. We will show how we used the formal models within a user-centred design process, discuss what effect they had on this process and explain what benefits we perceived from their use

    Semantic verification of Behavior Conformance

    Get PDF
    This paper introduces a formal yet practical method to verify whether the behavior design of a distributed application conforms to the behavior design of the enterprise in which the application is embedded. The method allows both enterprise architects and application architects to talk about designs in their own terms, and introduces a common set of terms as the linking pin between enterprise and application designs. The formal semantics of these common terms allows us to verify the conformance between an enterprise and its applications formally and automatically

    Advanced Design Concepts for Open Distributed Systems Development

    Get PDF
    Experience with the engineering of large scale open distributed systems has shown that their design should be specified at several well-defined levels of abstraction, in which each level aims at satisfying specific user, architectural, and implementation needs. Therefore, designers should dispose of a comprehensive design methodology, which allows them to conceive a specification at a certain abstraction level and transform this specification into a conforming specification at a lower abstraction level. The collection of these transformations should abridge the total design trajectory from initial user requirements to final implementation. The authors present and discuss some advanced design concepts that provide a basis for such a design methodolog

    FollowMe: A Bigraphical Approach

    Get PDF
    In this paper we illustrate the use of modelling techniques using bigraphs to specify and refine elementary aspects of the FollowMe framework. This framework provides the seamless migration of bi-directional user interfaces for users as they navigate between zones within an intelligent environment

    An Engineering Approach towards Action Refinement

    Get PDF
    In the abstract modelling of distributed systems we may need methods to replace abstract behaviours by more concrete behaviours which are closer to implementation mechanisms. Furthermore, we may want these methods to preserve the correctness of such a replacement. This paper introduces an approach towards action refinement in which an abstract action is replaced by a concrete activity. This approach is based on a careful consideration of the `action' and `causality relation' architectural concepts, which enable an abstract action to be replaced by many alternative concrete activities in a general way. This approach is based on the application of abstraction rules to determine whether a concrete activity conforms to an abstract action, considering the context in which the concrete activity and the abstract action are embedde

    Control of virtual environments for young people with learning difficulties

    Get PDF
    Purpose: The objective of this research is to identify the requirements for the selection or development of usable virtual environment (VE) interface devices for young people with learning disabilities. Method: a user-centred design methodology was employed, to produce a design specification for usable VE interface devices. Details of the users' cognitive, physical and perceptual abilities were obtained through observation and normative assessment tests. Conclusions : A review of computer interface technology, including virtual reality and assistive devices, was conducted. As there were no devices identified that met all the requirements of the design specification, it was concluded that there is a need for the design and development of new concepts. Future research will involve concept and prototype development and user-based evaluation of the prototypes

    IATK:An immersive analytics toolkit

    Get PDF
    International audienceWe introduce IATK, the Immersive Analytics Toolkit, a software package for Unity that allows interactive authoring and exploration of data visualisation in immersive environments. The design of IATK was informed by interdisciplinary expert-collaborations as well as visual analytics applications and iterative refinement over several years. IATK allows for easy assembly of visualisations through a grammar of graphics that a user can configure in a GUIā€” in addition to a dedicated visualisation API that supports the creation of novel immersive visualisation designs and interactions. IATK is designed with scalability in mind, allowing visualisation and fluid responsive interactions in the order of several million points at a usable frame rate. This paper outlines our design requirements, IATKā€™s framework design and technical features, its user interface, as well as application examples

    An overview of very high level software design methods

    Get PDF
    Very High Level design methods emphasize automatic transfer of requirements to formal design specifications, and/or may concentrate on automatic transformation of formal design specifications that include some semantic information of the system into machine executable form. Very high level design methods range from general domain independent methods to approaches implementable for specific applications or domains. Applying AI techniques, abstract programming methods, domain heuristics, software engineering tools, library-based programming and other methods different approaches for higher level software design are being developed. Though one finds that a given approach does not always fall exactly in any specific class, this paper provides a classification for very high level design methods including examples for each class. These methods are analyzed and compared based on their basic approaches, strengths and feasibility for future expansion toward automatic development of software systems
    • ā€¦
    corecore